diff options
author | Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> | 2019-04-22 16:09:56 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-04-24 15:28:39 -0700 |
commit | d4bbf9f838f46c0f9ff05e5bc8d680e2887bdc3f (patch) | |
tree | eb06fd20dcb25b9763a49c0169fdb2325ef83ec7 | |
parent | 35970dea11b9c29408f1baaac2010b021c647319 (diff) |
spirv: Handle SpvOpDecorateId
This operation decorate with an Id instead of a Literal or String.
It is used by HlslCounterBufferGOOGLE (provided by
SPV_GOOGLE_hlsl_functionality1). Even if we don't do anything with
that decoration, we must be able to parse SPIR-V that uses it.
Fixes: 891886da2f9 "spirv: Add no-op support for VK_GOOGLE_hlsl_functionality1"
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
(cherry picked from commit 7e2684ce014c3f7813c4f0b2d8424fd588606d5f)
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index f91b5e1019c..6b9c831bfad 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -494,6 +494,7 @@ vtn_handle_decoration(struct vtn_builder *b, SpvOp opcode, break; case SpvOpDecorate: + case SpvOpDecorateId: case SpvOpMemberDecorate: case SpvOpDecorateStringGOOGLE: case SpvOpMemberDecorateStringGOOGLE: @@ -503,6 +504,7 @@ vtn_handle_decoration(struct vtn_builder *b, SpvOp opcode, struct vtn_decoration *dec = rzalloc(b, struct vtn_decoration); switch (opcode) { case SpvOpDecorate: + case SpvOpDecorateId: case SpvOpDecorateStringGOOGLE: dec->scope = VTN_DEC_DECORATION; break; @@ -3760,6 +3762,7 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, case SpvOpExecutionMode: case SpvOpDecorationGroup: case SpvOpDecorate: + case SpvOpDecorateId: case SpvOpMemberDecorate: case SpvOpGroupDecorate: case SpvOpGroupMemberDecorate: @@ -3947,6 +3950,7 @@ vtn_handle_variable_or_type_instruction(struct vtn_builder *b, SpvOp opcode, case SpvOpMemberName: case SpvOpDecorationGroup: case SpvOpDecorate: + case SpvOpDecorateId: case SpvOpMemberDecorate: case SpvOpGroupDecorate: case SpvOpGroupMemberDecorate: |