radv: Use half floats for box16 coords
authorKonstantin Seurer <konstantin.seurer@gmail.com>
Sun, 9 Oct 2022 16:30:42 +0000 (18:30 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 11 Oct 2022 20:27:24 +0000 (20:27 +0000)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017>

src/amd/vulkan/bvh/bvh.h
src/amd/vulkan/bvh/converter_internal.comp
src/amd/vulkan/bvh/converter_leaf.comp
src/amd/vulkan/bvh/copy.comp
src/amd/vulkan/bvh/lbvh_internal.comp
src/amd/vulkan/bvh/morton.comp

index 4356f59..ce432e1 100644 (file)
@@ -41,6 +41,8 @@
 #include <vulkan/vulkan.h>
 typedef struct radv_ir_node radv_ir_node;
 
+typedef uint16_t float16_t;
+
 typedef struct {
    float values[3][4];
 } mat3x4;
@@ -155,7 +157,7 @@ struct radv_bvh_instance_node {
 
 struct radv_bvh_box16_node {
    uint32_t children[4];
-   uint32_t coords[4][3];
+   float16_t coords[4][2][3];
 };
 
 struct radv_bvh_box32_node {
index a4fb75b..9956602 100644 (file)
@@ -29,6 +29,7 @@
 #extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int32 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int64 : require
+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
 #extension GL_EXT_scalar_block_layout : require
 #extension GL_EXT_buffer_reference : require
 #extension GL_EXT_buffer_reference2 : require
index 62df4d3..f8e7e68 100644 (file)
@@ -29,6 +29,7 @@
 #extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int32 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int64 : require
+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
 #extension GL_EXT_scalar_block_layout : require
 #extension GL_EXT_buffer_reference : require
 #extension GL_EXT_buffer_reference2 : require
index 2f2fae7..31f893c 100644 (file)
@@ -29,6 +29,7 @@
 #extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int32 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int64 : require
+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
 #extension GL_EXT_scalar_block_layout : require
 #extension GL_EXT_buffer_reference : require
 #extension GL_EXT_buffer_reference2 : require
index 180c7b1..ccd88d4 100644 (file)
@@ -29,6 +29,7 @@
 #extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int32 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int64 : require
+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
 #extension GL_EXT_scalar_block_layout : require
 #extension GL_EXT_buffer_reference : require
 #extension GL_EXT_buffer_reference2 : require
index 750531b..8c82d68 100644 (file)
@@ -29,6 +29,7 @@
 #extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int32 : require
 #extension GL_EXT_shader_explicit_arithmetic_types_int64 : require
+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
 #extension GL_EXT_scalar_block_layout : require
 #extension GL_EXT_buffer_reference : require
 #extension GL_EXT_buffer_reference2 : require