Mesa (master): nir/vtn: Add handling for SPIR-V event variables
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Sep 25 20:42:55 UTC 2020
Module: Mesa
Branch: master
Commit: 938be4d6fabfbef4c3668f73c449d45e1d8ca518
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=938be4d6fabfbef4c3668f73c449d45e1d8ca518
Author: Jesse Natalie <jenatali at microsoft.com>
Date: Tue Aug 18 06:41:18 2020 -0700
nir/vtn: Add handling for SPIR-V event variables
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
---
src/compiler/spirv/spirv_to_nir.c | 7 +++++++
src/compiler/spirv/vtn_private.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index ea042bd57b6..9632b96ea9d 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -732,6 +732,7 @@ vtn_types_compatible(struct vtn_builder *b,
case vtn_base_type_image:
case vtn_base_type_sampler:
case vtn_base_type_sampled_image:
+ case vtn_base_type_event:
return t1->type == t2->type;
case vtn_base_type_array:
@@ -787,6 +788,7 @@ vtn_type_copy(struct vtn_builder *b, struct vtn_type *src)
case vtn_base_type_image:
case vtn_base_type_sampler:
case vtn_base_type_sampled_image:
+ case vtn_base_type_event:
/* Nothing more to do */
break;
@@ -1707,6 +1709,10 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode,
break;
case SpvOpTypeEvent:
+ val->type->base_type = vtn_base_type_event;
+ val->type->type = glsl_int_type();
+ break;
+
case SpvOpTypeDeviceEvent:
case SpvOpTypeReserveId:
case SpvOpTypeQueue:
@@ -1756,6 +1762,7 @@ vtn_null_constant(struct vtn_builder *b, struct vtn_type *type)
case vtn_base_type_sampler:
case vtn_base_type_sampled_image:
case vtn_base_type_function:
+ case vtn_base_type_event:
/* For those we have to return something but it doesn't matter what. */
break;
diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h
index b0d8d11eb70..504c8d48a86 100644
--- a/src/compiler/spirv/vtn_private.h
+++ b/src/compiler/spirv/vtn_private.h
@@ -324,6 +324,7 @@ enum vtn_base_type {
vtn_base_type_sampler,
vtn_base_type_sampled_image,
vtn_base_type_function,
+ vtn_base_type_event,
};
struct vtn_type {
More information about the mesa-commit
mailing list