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 dacaac1..c517b56 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 7cde5e7..898195a 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),