intel/fs: Disable opt_sampler_eot() in 32-wide dispatch.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:

committed by
Jason Ekstrand

parent
db6ca13efc
commit
2d7d652d5c
@@ -2666,7 +2666,7 @@ fs_visitor::opt_sampler_eot()
|
||||
{
|
||||
brw_wm_prog_key *key = (brw_wm_prog_key*) this->key;
|
||||
|
||||
if (stage != MESA_SHADER_FRAGMENT)
|
||||
if (stage != MESA_SHADER_FRAGMENT || dispatch_width > 16)
|
||||
return false;
|
||||
|
||||
if (devinfo->gen != 9 && !devinfo->is_cherryview)
|
||||
|
@@ -887,6 +887,11 @@ fs_generator::generate_tex(fs_inst *inst, struct brw_reg dst, struct brw_reg src
|
||||
uint32_t return_format;
|
||||
bool is_combined_send = inst->eot;
|
||||
|
||||
/* Sampler EOT message of less than the dispatch width would kill the
|
||||
* thread prematurely.
|
||||
*/
|
||||
assert(!is_combined_send || inst->exec_size == dispatch_width);
|
||||
|
||||
switch (dst.type) {
|
||||
case BRW_REGISTER_TYPE_D:
|
||||
return_format = BRW_SAMPLER_RETURN_FORMAT_SINT32;
|
||||
|
Reference in New Issue
Block a user