summaryrefslogtreecommitdiff
path: root/src/gallium/frontends/lavapipe/lvp_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/frontends/lavapipe/lvp_device.c')
-rw-r--r--src/gallium/frontends/lavapipe/lvp_device.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
index e6759f60907..45ad59e4d90 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -137,6 +137,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
.EXT_transform_feedback = true,
.EXT_vertex_attribute_divisor = true,
.EXT_custom_border_color = true,
+ .EXT_provoking_vertex = true,
.GOOGLE_decorate_string = true,
.GOOGLE_hlsl_functionality1 = true,
};
@@ -636,7 +637,13 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
features->customBorderColorWithoutFormat = true;
break;
}
-
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
+ VkPhysicalDeviceProvokingVertexFeaturesEXT *features =
+ (VkPhysicalDeviceProvokingVertexFeaturesEXT*)ext;
+ features->provokingVertexLast = true;
+ features->transformFeedbackPreservesProvokingVertex = true;
+ break;
+ }
default:
break;
}
@@ -954,6 +961,13 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties2(
properties->maxCustomBorderColorSamplers = 32 * 1024;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
+ VkPhysicalDeviceProvokingVertexPropertiesEXT *properties =
+ (VkPhysicalDeviceProvokingVertexPropertiesEXT*)ext;
+ properties->provokingVertexModePerPipeline = true;
+ properties->transformFeedbackPreservesTriangleFanProvokingVertex = true;
+ break;
+ }
default:
break;
}