diff options
-rw-r--r-- | src/intel/compiler/brw_eu_defines.h | 5 | ||||
-rw-r--r-- | src/intel/compiler/brw_fs_generator.cpp | 5 | ||||
-rw-r--r-- | src/intel/compiler/brw_shader.cpp | 3 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_eu_defines.h b/src/intel/compiler/brw_eu_defines.h index d2d8d877e2c..1b56903e213 100644 --- a/src/intel/compiler/brw_eu_defines.h +++ b/src/intel/compiler/brw_eu_defines.h @@ -462,6 +462,11 @@ enum opcode { */ SHADER_OPCODE_MEMORY_FENCE, + /** + * Scheduling-only fence. + */ + FS_OPCODE_SCHEDULING_FENCE, + SHADER_OPCODE_GEN4_SCRATCH_READ, SHADER_OPCODE_GEN4_SCRATCH_WRITE, SHADER_OPCODE_GEN7_SCRATCH_READ, diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp index 65beebf6d09..e8bbce5b290 100644 --- a/src/intel/compiler/brw_fs_generator.cpp +++ b/src/intel/compiler/brw_fs_generator.cpp @@ -2177,6 +2177,11 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width, send_count++; break; + case FS_OPCODE_SCHEDULING_FENCE: + if (unlikely(debug_flag)) + disasm_info->use_tail = true; + break; + case SHADER_OPCODE_INTERLOCK: assert(devinfo->gen >= 9); /* The interlock is basically a memory fence issued via sendc */ diff --git a/src/intel/compiler/brw_shader.cpp b/src/intel/compiler/brw_shader.cpp index f95fcd99e67..71f3e79a454 100644 --- a/src/intel/compiler/brw_shader.cpp +++ b/src/intel/compiler/brw_shader.cpp @@ -323,6 +323,8 @@ brw_instruction_name(const struct gen_device_info *devinfo, enum opcode op) return "typed_surface_write_logical"; case SHADER_OPCODE_MEMORY_FENCE: return "memory_fence"; + case FS_OPCODE_SCHEDULING_FENCE: + return "scheduling_fence"; case SHADER_OPCODE_INTERLOCK: /* For an interlock we actually issue a memory fence via sendc. */ return "interlock"; @@ -1076,6 +1078,7 @@ backend_instruction::has_side_effects() const case TCS_OPCODE_RELEASE_INPUT: case SHADER_OPCODE_RND_MODE: case SHADER_OPCODE_FLOAT_CONTROL_MODE: + case FS_OPCODE_SCHEDULING_FENCE: return true; default: return eot; |