lavapipe: enable KHR_shader_float16_int8

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11816>
This commit is contained in:
Dave Airlie
2021-09-06 10:30:40 +10:00
committed by Marge Bot
parent f814a2449e
commit 3a27e406ed
2 changed files with 10 additions and 0 deletions

View File

@@ -119,6 +119,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
.KHR_separate_depth_stencil_layouts = true, .KHR_separate_depth_stencil_layouts = true,
.KHR_shader_atomic_int64 = true, .KHR_shader_atomic_int64 = true,
.KHR_shader_draw_parameters = true, .KHR_shader_draw_parameters = true,
.KHR_shader_float16_int8 = true,
.KHR_storage_buffer_storage_class = true, .KHR_storage_buffer_storage_class = true,
#ifdef LVP_USE_WSI_PLATFORM #ifdef LVP_USE_WSI_PLATFORM
.KHR_swapchain = true, .KHR_swapchain = true,
@@ -626,6 +627,13 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
features->bufferDeviceAddressMultiDevice = false; features->bufferDeviceAddressMultiDevice = false;
break; break;
} }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
VkPhysicalDeviceShaderFloat16Int8Features *features =
(VkPhysicalDeviceShaderFloat16Int8Features*)ext;
features->shaderFloat16 = pdevice->pscreen->get_shader_param(pdevice->pscreen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_FP16) != 0;
features->shaderInt8 = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: {
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = (void *)ext; VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = (void *)ext;
features->shaderBufferInt64Atomics = true; features->shaderBufferInt64Atomics = true;

View File

@@ -505,6 +505,8 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline,
.subgroup_ballot = true, .subgroup_ballot = true,
.subgroup_quad = true, .subgroup_quad = true,
.subgroup_vote = true, .subgroup_vote = true,
.int8 = true,
.float16 = true,
}, },
.ubo_addr_format = nir_address_format_32bit_index_offset, .ubo_addr_format = nir_address_format_32bit_index_offset,
.ssbo_addr_format = nir_address_format_32bit_index_offset, .ssbo_addr_format = nir_address_format_32bit_index_offset,