[Mesa-dev] [PATCH] i965: Fix SHADER_OPCODE_UNTYPED_SURFACE_WRITE to mark written surfaces
Iago Toral Quiroga
itoral at igalia.com
Tue May 5 04:30:30 PDT 2015
We can do this when the surface index is an immediate, as we do for
reads. Otherwise the visitor should handle this.
---
Francisco, maybe you choose not to do this for a reason? It seems a bit
inconsistent with the reads though. Also, other read/write messages seem
to mark surfaces in the generator when the surface index is an immediate
and leave the visitor to handle non-immediate scenarios.
src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index b8b8ed1..cf4b9ae 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -2247,6 +2247,8 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
assert(src[2].file == BRW_IMMEDIATE_VALUE);
brw_untyped_surface_write(p, src[0], src[1],
inst->mlen, src[2].dw1.ud);
+ if (src[1].file == BRW_IMMEDIATE_VALUE)
+ brw_mark_surface_used(prog_data, src[1].dw1.ud);
break;
case SHADER_OPCODE_TYPED_ATOMIC:
--
1.9.1
More information about the mesa-dev
mailing list