Mesa (main): spirv: switch to uint64 for rayquery internal type

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 14 10:01:21 UTC 2022


Module: Mesa
Branch: main
Commit: a41e8dc58876c7bf33b73576019f966b908ac080
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a41e8dc58876c7bf33b73576019f966b908ac080

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Fri Jul  8 14:38:35 2022 +0300

spirv: switch to uint64 for rayquery internal type

Fixes dEQP-VK.ray_query.advanced.using_wrapper_function.comp.*

An empty struct is causing problems because when passing it as
argument the spirv parser will just drop the argument, considering it
does not hold any data.

v2: update radv CI

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Fixes: 4c703686dba5 ("spirv: handle ray query intrinsics")
Reviewed-by: Konstantin Seurer <konstantin.seurer at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17420>

---

 src/amd/ci/radv-navi21-aco-fails.txt  | 4 ----
 src/amd/ci/radv-navi22-aco-fails.txt  | 4 ----
 src/amd/ci/radv-vangogh-aco-fails.txt | 4 ----
 src/compiler/spirv/spirv_to_nir.c     | 3 +--
 4 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/src/amd/ci/radv-navi21-aco-fails.txt b/src/amd/ci/radv-navi21-aco-fails.txt
index ddf125936e8..b4465c445cc 100644
--- a/src/amd/ci/radv-navi21-aco-fails.txt
+++ b/src/amd/ci/radv-navi21-aco-fails.txt
@@ -6,10 +6,6 @@ dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.mu
 dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail
 dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_8.multi_draw_barriers,Fail
 
-# Those cases crash in spirv to nir.
-dEQP-VK.ray_query.advanced.using_wrapper_function.comp.triangles,Crash
-dEQP-VK.ray_query.advanced.using_wrapper_function.comp.aabbs,Crash
-
 # New fails in CTS 1.3.3.0
 dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.cpu.access_sbt_read,Crash
 dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.cpu.stage_all_transfer,Crash
diff --git a/src/amd/ci/radv-navi22-aco-fails.txt b/src/amd/ci/radv-navi22-aco-fails.txt
index c4d1ce4f6ae..386c9823dae 100644
--- a/src/amd/ci/radv-navi22-aco-fails.txt
+++ b/src/amd/ci/radv-navi22-aco-fails.txt
@@ -7,10 +7,6 @@ dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.mu
 dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail
 dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_8.multi_draw_barriers,Fail
 
-# Those cases crash in spirv to nir.
-dEQP-VK.ray_query.advanced.using_wrapper_function.comp.triangles,Crash
-dEQP-VK.ray_query.advanced.using_wrapper_function.comp.aabbs,Crash
-
 # New fails in CTS 1.3.3.0
 dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.cpu.access_sbt_read,Crash
 dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.cpu.stage_all_transfer,Crash
diff --git a/src/amd/ci/radv-vangogh-aco-fails.txt b/src/amd/ci/radv-vangogh-aco-fails.txt
index deae8157626..0a731d58b16 100644
--- a/src/amd/ci/radv-vangogh-aco-fails.txt
+++ b/src/amd/ci/radv-vangogh-aco-fails.txt
@@ -10,10 +10,6 @@ dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.mu
 dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail
 dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_8.multi_draw_barriers,Fail
 
-# Those cases crash in spirv to nir.
-dEQP-VK.ray_query.advanced.using_wrapper_function.comp.triangles,Crash
-dEQP-VK.ray_query.advanced.using_wrapper_function.comp.aabbs,Crash
-
 # New fails in CTS 1.3.3.0
 dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.cpu.access_sbt_read,Crash
 dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.cpu.stage_all_transfer,Crash
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index 39491c11d75..7c10c9729cf 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -1826,8 +1826,7 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode,
 
    case SpvOpTypeRayQueryKHR: {
       val->type->base_type = vtn_base_type_ray_query;
-      const char *name = "RayQueryKHR";
-      val->type->type = glsl_struct_type(NULL, 0, name, false);
+      val->type->type = glsl_uint64_t_type();
       /* We may need to run queries on helper invocations. Here the parser
        * doesn't go through a deeper analysis on whether the result of a query
        * will be used in derivative instructions.



More information about the mesa-commit mailing list