From: Kenneth Graunke Date: Sat, 9 Apr 2016 01:49:22 +0000 (-0700) Subject: i965: Mark URB reads as volatile. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4e2d22c5a723f8a52ede916d170f4aa9a4f96fbb;p=mesa.git i965: Mark URB reads as volatile. They can be affected by URB writes. In the upcoming scalar TCS backend, this prevents read-modify-write cycles from being broken by CSE removing reads. Signed-off-by: Kenneth Graunke Reviewed-by: Eduardo Lima Mitev --- diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index b3aade125d7..d9e654c4d4f 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -961,6 +961,9 @@ backend_instruction::is_volatile() const case SHADER_OPCODE_UNTYPED_SURFACE_READ_LOGICAL: case SHADER_OPCODE_TYPED_SURFACE_READ: case SHADER_OPCODE_TYPED_SURFACE_READ_LOGICAL: + case SHADER_OPCODE_URB_READ_SIMD8: + case SHADER_OPCODE_URB_READ_SIMD8_PER_SLOT: + case VEC4_OPCODE_URB_READ: return true; default: return false;