From a3aea98a2af3d63141f9faf36ecc522818456908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 7 Dec 2022 04:29:59 -0500 Subject: [PATCH] nir: validate that store_buffer_amd doesn't use a non-trivial writemask MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Rhys Perry Reviewed-by: Timur Kristóf Part-of: --- src/compiler/nir/nir_validate.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c index 166dca828fe..4ff72977053 100644 --- a/src/compiler/nir/nir_validate.c +++ b/src/compiler/nir/nir_validate.c @@ -787,6 +787,17 @@ validate_intrinsic_instr(nir_intrinsic_instr *instr, validate_state *state) break; } + case nir_intrinsic_store_buffer_amd: + if (nir_intrinsic_access(instr) & ACCESS_USES_FORMAT_AMD) { + unsigned writemask = nir_intrinsic_write_mask(instr); + + /* Make sure the writemask is derived from the component count. */ + validate_assert(state, + writemask == + BITFIELD_MASK(nir_src_num_components(instr->src[0]))); + } + break; + default: break; }