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:
@@ -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;
|
||||||
|
@@ -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,
|
||||||
|
Reference in New Issue
Block a user