Mesa (main): lavapipe: KHR_shader_integer_dot_product
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Mar 15 18:34:24 UTC 2022
Module: Mesa
Branch: main
Commit: 1b2c4d7196d73e2ad009e15847b69db2c03dd1ee
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b2c4d7196d73e2ad009e15847b69db2c03dd1ee
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Mon Mar 14 13:52:09 2022 -0400
lavapipe: KHR_shader_integer_dot_product
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15384>
---
src/gallium/frontends/lavapipe/lvp_device.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
index 3b47a75b26f..3f946851c49 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -119,6 +119,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
.KHR_shader_atomic_int64 = true,
.KHR_shader_draw_parameters = true,
.KHR_shader_float16_int8 = true,
+ .KHR_shader_integer_dot_product = true,
.KHR_shader_subgroup_extended_types = true,
.KHR_spirv_1_4 = true,
.KHR_storage_buffer_storage_class = true,
@@ -718,6 +719,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
features->indexTypeUint8 = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
+ VkPhysicalDeviceShaderIntegerDotProductFeatures *features =
+ (VkPhysicalDeviceShaderIntegerDotProductFeatures *)ext;
+ features->shaderIntegerDotProduct = true;
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT *features =
@@ -984,6 +991,15 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties2(
properties->maxPushDescriptors = MAX_PUSH_DESCRIPTORS;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
+ VkPhysicalDeviceShaderIntegerDotProductProperties *properties =
+ (VkPhysicalDeviceShaderIntegerDotProductProperties *) ext;
+ void *pnext = properties->pNext;
+ memset(properties, 0, sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties));
+ properties->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES;
+ properties->pNext = pnext;
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
VkPhysicalDevicePointClippingProperties *properties =
(VkPhysicalDevicePointClippingProperties*)ext;
More information about the mesa-commit
mailing list