diff options
author | Ian Romanick <[email protected]> | 2018-04-16 16:32:41 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2018-04-24 14:31:21 -0400 |
commit | 0d5ce25c1ca23abc6d91538f4374a18509091060 (patch) | |
tree | 38bfdf78d5efef6a4c2669da0bbbfb115a947e14 /src/intel/compiler/brw_ir_vec4.h | |
parent | cd32a4e5f4239af79effcd907f1033fb4cde587c (diff) |
intel/compiler: Add scheduler deps for instructions that implicitly read g0
Otherwise the scheduler can move the writes after the reads.
Signed-off-by: Ian Romanick <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95009
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95012
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Tested-by: Mark Janes <[email protected]>
Cc: Clayton A Craft <[email protected]>
Cc: [email protected]
Diffstat (limited to 'src/intel/compiler/brw_ir_vec4.h')
-rw-r--r-- | src/intel/compiler/brw_ir_vec4.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_ir_vec4.h b/src/intel/compiler/brw_ir_vec4.h index 95c5119c6c0..e401d8b4d16 100644 --- a/src/intel/compiler/brw_ir_vec4.h +++ b/src/intel/compiler/brw_ir_vec4.h @@ -334,6 +334,31 @@ public: opcode != BRW_OPCODE_IF && opcode != BRW_OPCODE_WHILE)); } + + bool reads_g0_implicitly() const + { + switch (opcode) { + case SHADER_OPCODE_TEX: + case SHADER_OPCODE_TXL: + case SHADER_OPCODE_TXD: + case SHADER_OPCODE_TXF: + case SHADER_OPCODE_TXF_CMS_W: + case SHADER_OPCODE_TXF_CMS: + case SHADER_OPCODE_TXF_MCS: + case SHADER_OPCODE_TXS: + case SHADER_OPCODE_TG4: + case SHADER_OPCODE_TG4_OFFSET: + case SHADER_OPCODE_SAMPLEINFO: + case VS_OPCODE_PULL_CONSTANT_LOAD: + case GS_OPCODE_SET_PRIMITIVE_ID: + case GS_OPCODE_GET_INSTANCE_ID: + case SHADER_OPCODE_GEN4_SCRATCH_READ: + case SHADER_OPCODE_GEN4_SCRATCH_WRITE: + return true; + default: + return false; + } + } }; /** |