mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 13:30:12 +01:00
venus: enable VK_EXT_extended_dynamic_state3
Signed-off-by: Juston Li <justonli@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25921>
This commit is contained in:
parent
417437c715
commit
49e5b58315
4 changed files with 185 additions and 1 deletions
|
|
@ -563,7 +563,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_EXT_display_control DONE (anv, hasvk, radv, tu)
|
||||
VK_EXT_display_surface_counter DONE (anv, lvp, radv, tu)
|
||||
VK_EXT_dynamic_rendering_unused_attachments DONE (anv, nvk, radv, vn)
|
||||
VK_EXT_extended_dynamic_state3 DONE (anv, lvp, nvk, radv, tu)
|
||||
VK_EXT_extended_dynamic_state3 DONE (anv, lvp, nvk, radv, tu, vn)
|
||||
VK_EXT_external_memory_acquire_unmodified DONE (radv)
|
||||
VK_EXT_external_memory_dma_buf DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_EXT_external_memory_host DONE (anv, hasvk, lvp, radv)
|
||||
|
|
|
|||
|
|
@ -2350,3 +2350,180 @@ vn_CmdSetVertexInputEXT(
|
|||
vertexAttributeDescriptionCount,
|
||||
pVertexAttributeDescriptions);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 alphaToCoverageEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetAlphaToCoverageEnableEXT, commandBuffer,
|
||||
alphaToCoverageEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 alphaToOneEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetAlphaToOneEnableEXT, commandBuffer,
|
||||
alphaToOneEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetColorBlendAdvancedEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t firstAttachment,
|
||||
uint32_t attachmentCount,
|
||||
const VkColorBlendAdvancedEXT *pColorBlendAdvanced)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetColorBlendAdvancedEXT, commandBuffer,
|
||||
firstAttachment, attachmentCount, pColorBlendAdvanced);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,
|
||||
uint32_t firstAttachment,
|
||||
uint32_t attachmentCount,
|
||||
const VkBool32 *pColorBlendEnables)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetColorBlendEnableEXT, commandBuffer, firstAttachment,
|
||||
attachmentCount, pColorBlendEnables);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetColorBlendEquationEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t firstAttachment,
|
||||
uint32_t attachmentCount,
|
||||
const VkColorBlendEquationEXT *pColorBlendEquations)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetColorBlendEquationEXT, commandBuffer,
|
||||
firstAttachment, attachmentCount, pColorBlendEquations);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,
|
||||
uint32_t firstAttachment,
|
||||
uint32_t attachmentCount,
|
||||
const VkColorComponentFlags *pColorWriteMasks)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetColorWriteMaskEXT, commandBuffer, firstAttachment,
|
||||
attachmentCount, pColorWriteMasks);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetConservativeRasterizationModeEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkConservativeRasterizationModeEXT conservativeRasterizationMode)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetConservativeRasterizationModeEXT, commandBuffer,
|
||||
conservativeRasterizationMode);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 depthClampEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetDepthClampEnableEXT, commandBuffer,
|
||||
depthClampEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 depthClipEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetDepthClipEnableEXT, commandBuffer, depthClipEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 negativeOneToOne)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetDepthClipNegativeOneToOneEXT, commandBuffer,
|
||||
negativeOneToOne);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetExtraPrimitiveOverestimationSizeEXT(
|
||||
VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetExtraPrimitiveOverestimationSizeEXT, commandBuffer,
|
||||
extraPrimitiveOverestimationSize);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetLineRasterizationModeEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkLineRasterizationModeEXT lineRasterizationMode)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetLineRasterizationModeEXT, commandBuffer,
|
||||
lineRasterizationMode);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 stippledLineEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetLineStippleEnableEXT, commandBuffer,
|
||||
stippledLineEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 logicOpEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetLogicOpEnableEXT, commandBuffer, logicOpEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,
|
||||
VkPolygonMode polygonMode)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetPolygonModeEXT, commandBuffer, polygonMode);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,
|
||||
VkProvokingVertexModeEXT provokingVertexMode)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetProvokingVertexModeEXT, commandBuffer,
|
||||
provokingVertexMode);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,
|
||||
VkSampleCountFlagBits rasterizationSamples)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetRasterizationSamplesEXT, commandBuffer,
|
||||
rasterizationSamples);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,
|
||||
uint32_t rasterizationStream)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetRasterizationStreamEXT, commandBuffer,
|
||||
rasterizationStream);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,
|
||||
VkBool32 sampleLocationsEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetSampleLocationsEnableEXT, commandBuffer,
|
||||
sampleLocationsEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,
|
||||
VkSampleCountFlagBits samples,
|
||||
const VkSampleMask *pSampleMask)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetSampleMaskEXT, commandBuffer, samples, pSampleMask);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,
|
||||
VkTessellationDomainOrigin domainOrigin)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetTessellationDomainOriginEXT, commandBuffer,
|
||||
domainOrigin);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,6 +152,8 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
VkPhysicalDeviceDepthClipEnableFeaturesEXT depth_clip_enable;
|
||||
VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
|
||||
dynamic_rendering_unused_attachments;
|
||||
VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
|
||||
extended_dynamic_state_3;
|
||||
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
|
||||
fragment_shader_interlock;
|
||||
VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
|
||||
|
|
@ -251,6 +253,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
VN_ADD_PNEXT_EXT(feats2, DEPTH_CLIP_CONTROL_FEATURES_EXT, local_feats.depth_clip_control, exts->EXT_depth_clip_control);
|
||||
VN_ADD_PNEXT_EXT(feats2, DEPTH_CLIP_ENABLE_FEATURES_EXT, local_feats.depth_clip_enable, exts->EXT_depth_clip_enable);
|
||||
VN_ADD_PNEXT_EXT(feats2, DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT, local_feats.dynamic_rendering_unused_attachments, exts->EXT_dynamic_rendering_unused_attachments);
|
||||
VN_ADD_PNEXT_EXT(feats2, EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT, local_feats.extended_dynamic_state_3, exts->EXT_extended_dynamic_state3);
|
||||
VN_ADD_PNEXT_EXT(feats2, FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, local_feats.fragment_shader_interlock, exts->EXT_fragment_shader_interlock);
|
||||
VN_ADD_PNEXT_EXT(feats2, GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, local_feats.graphics_pipeline_library, exts->EXT_graphics_pipeline_library);
|
||||
VN_ADD_PNEXT_EXT(feats2, IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, local_feats.image_2d_view_of_3d, exts->EXT_image_2d_view_of_3d);
|
||||
|
|
@ -425,6 +428,7 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
/* EXT */
|
||||
VN_ADD_PNEXT_EXT(props2, CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, props->conservative_rasterization, exts->EXT_conservative_rasterization);
|
||||
VN_ADD_PNEXT_EXT(props2, CUSTOM_BORDER_COLOR_PROPERTIES_EXT, props->custom_border_color, exts->EXT_custom_border_color);
|
||||
VN_ADD_PNEXT_EXT(props2, EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT, props->extended_dynamic_state_3, exts->EXT_extended_dynamic_state3);
|
||||
VN_ADD_PNEXT_EXT(props2, GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, props->graphics_pipeline_library, exts->EXT_graphics_pipeline_library);
|
||||
VN_ADD_PNEXT_EXT(props2, LINE_RASTERIZATION_PROPERTIES_EXT, props->line_rasterization, exts->EXT_line_rasterization);
|
||||
VN_ADD_PNEXT_EXT(props2, MULTI_DRAW_PROPERTIES_EXT, props->multi_draw, exts->EXT_multi_draw);
|
||||
|
|
@ -1095,6 +1099,7 @@ vn_physical_device_get_passthrough_extensions(
|
|||
.EXT_custom_border_color = true,
|
||||
.EXT_depth_clip_control = true,
|
||||
.EXT_depth_clip_enable = true,
|
||||
.EXT_extended_dynamic_state3 = true,
|
||||
.EXT_dynamic_rendering_unused_attachments = true,
|
||||
.EXT_fragment_shader_interlock = true,
|
||||
.EXT_graphics_pipeline_library = VN_DEBUG(GPL),
|
||||
|
|
@ -1739,6 +1744,7 @@ vn_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
|
|||
/* EXT */
|
||||
CASE(CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, conservative_rasterization);
|
||||
CASE(CUSTOM_BORDER_COLOR_PROPERTIES_EXT, custom_border_color);
|
||||
CASE(EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT, extended_dynamic_state_3);
|
||||
CASE(GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, graphics_pipeline_library);
|
||||
CASE(LINE_RASTERIZATION_PROPERTIES_EXT, line_rasterization);
|
||||
CASE(MULTI_DRAW_PROPERTIES_EXT, multi_draw);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ struct vn_physical_device_properties {
|
|||
VkPhysicalDeviceConservativeRasterizationPropertiesEXT
|
||||
conservative_rasterization;
|
||||
VkPhysicalDeviceCustomBorderColorPropertiesEXT custom_border_color;
|
||||
VkPhysicalDeviceExtendedDynamicState3PropertiesEXT extended_dynamic_state_3;
|
||||
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
|
||||
graphics_pipeline_library;
|
||||
VkPhysicalDeviceLineRasterizationPropertiesEXT line_rasterization;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue