diff options
author | Plamena Manolova <[email protected]> | 2018-04-27 15:06:56 +0100 |
---|---|---|
committer | Plamena Manolova <[email protected]> | 2018-06-01 16:36:39 +0100 |
commit | 939312702e35928770e5f90f7b053ece3d10e7ae (patch) | |
tree | f82406635ed7400b46173053f6252d3b86926a5b /src/intel/compiler/brw_fs_generator.cpp | |
parent | 60e843c4d5a5688196d13611a357cdc5b1b1141d (diff) |
i965: Add ARB_fragment_shader_interlock support.
Adds suppport for ARB_fragment_shader_interlock. We achieve
the interlock and fragment ordering by issuing a memory fence
via sendc.
Signed-off-by: Plamena Manolova <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_fs_generator.cpp')
-rw-r--r-- | src/intel/compiler/brw_fs_generator.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp index f49ab442fb2..de84f468d9b 100644 --- a/src/intel/compiler/brw_fs_generator.cpp +++ b/src/intel/compiler/brw_fs_generator.cpp @@ -2277,7 +2277,12 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width) break; case SHADER_OPCODE_MEMORY_FENCE: - brw_memory_fence(p, dst); + brw_memory_fence(p, dst, BRW_OPCODE_SEND); + break; + + case SHADER_OPCODE_INTERLOCK: + /* The interlock is basically a memory fence issued via sendc */ + brw_memory_fence(p, dst, BRW_OPCODE_SENDC); break; case SHADER_OPCODE_FIND_LIVE_CHANNEL: { |