summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs.h
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2016-05-18 14:39:52 -0700
committerFrancisco Jerez <currojerez@riseup.net>2016-05-27 23:29:06 -0700
commit37fd13ee2daf1dbd80cc7b43f7dcfdd1bb64bcc7 (patch)
treea389965fb31e3b5b88b7f9d5af70634f74eeb2e6 /src/mesa/drivers/dri/i965/brw_fs.h
parent2d288cb9ea5b1b46eb4fe0061d694560bf54943f (diff)
downloadexternal_mesa3d-37fd13ee2daf1dbd80cc7b43f7dcfdd1bb64bcc7.zip
external_mesa3d-37fd13ee2daf1dbd80cc7b43f7dcfdd1bb64bcc7.tar.gz
external_mesa3d-37fd13ee2daf1dbd80cc7b43f7dcfdd1bb64bcc7.tar.bz2
i965/fs: Extend back-end interface for limiting the shader dispatch width.
This replaces the current fs_visitor::no16() interface with fs_visitor::limit_dispatch_width(), which takes an additional parameter allowing the caller to specify the maximum dispatch width a shader can be compiled with. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index c249c82..d28384d 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -170,7 +170,7 @@ public:
fs_inst *inst);
void vfail(const char *msg, va_list args);
void fail(const char *msg, ...);
- void no16(const char *msg);
+ void limit_dispatch_width(unsigned n, const char *msg);
void lower_uniform_pull_constant_loads();
bool lower_load_payload();
bool lower_pack();
@@ -356,8 +356,6 @@ public:
bool failed;
char *fail_msg;
- bool simd16_unsupported;
- char *no16_msg;
/** Register numbers for thread payload fields. */
struct thread_payload {
@@ -391,8 +389,9 @@ public:
unsigned grf_used;
bool spilled_any_registers;
- const unsigned dispatch_width; /**< 8 or 16 */
+ const unsigned dispatch_width; /**< 8, 16 or 32 */
unsigned min_dispatch_width;
+ unsigned max_dispatch_width;
int shader_time_index;
@@ -505,7 +504,7 @@ private:
const void * const key;
struct brw_stage_prog_data * const prog_data;
- unsigned dispatch_width; /**< 8 or 16 */
+ unsigned dispatch_width; /**< 8, 16 or 32 */
exec_list discard_halt_patches;
unsigned promoted_constants;