Mesa (master): spirv: Check that only one offset is defined as Image Operand
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Oct 24 19:31:49 UTC 2019
Module: Mesa
Branch: master
Commit: c7d8fe2f0d23a82ed92a58594645c227155c35f0
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7d8fe2f0d23a82ed92a58594645c227155c35f0
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date: Tue Oct 22 23:40:08 2019 -0700
spirv: Check that only one offset is defined as Image Operand
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
---
src/compiler/spirv/spirv_to_nir.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index 2de9bdf3389..d1884f48330 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -2438,6 +2438,12 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode,
(*p++) = vtn_tex_src(b, w[idx++], nir_tex_src_ddy);
}
+ vtn_fail_if(util_bitcount(operands & (SpvImageOperandsConstOffsetsMask |
+ SpvImageOperandsOffsetMask |
+ SpvImageOperandsConstOffsetMask)) > 1,
+ "At most one of the ConstOffset, Offset, and ConstOffsets "
+ "image operands can be used on a given instruction.");
+
if (operands & SpvImageOperandsOffsetMask ||
operands & SpvImageOperandsConstOffsetMask)
(*p++) = vtn_tex_src(b, w[idx++], nir_tex_src_offset);
More information about the mesa-commit
mailing list