radv: enable VK_KHR_shader_float16_int8
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 12 Apr 2019 06:53:36 +0000 (08:53 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 15 Apr 2019 08:43:55 +0000 (10:43 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_shader.c

index dacaac173aeecaa0c912a351166d33c152751f37..c517b56cd0f79df7f965322932cd6607d1c14641 100644 (file)
@@ -902,7 +902,7 @@ void radv_GetPhysicalDeviceFeatures2(
                        VkPhysicalDeviceFloat16Int8FeaturesKHR *features =
                                (VkPhysicalDeviceFloat16Int8FeaturesKHR*)ext;
                        bool enabled = pdevice->rad_info.chip_class >= VI;
-                       features->shaderFloat16 = VK_FALSE;
+                       features->shaderFloat16 = enabled && HAVE_LLVM >= 0x0800;
                        features->shaderInt8 = enabled;
                        break;
                }
index 7cde5e728e4e06a7b03f5539332ae8008fd7eee2..898195a71d467b794956595397bec526e554f23b 100644 (file)
@@ -252,6 +252,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
                                .variable_pointers = true,
                                .storage_8bit = true,
                                .int8 = true,
+                               .float16 = true,
                        },
                        .ubo_ptr_type = glsl_vector_type(GLSL_TYPE_UINT, 2),
                        .ssbo_ptr_type = glsl_vector_type(GLSL_TYPE_UINT, 2),