venus: add VK_EXT_extended_dynamic_state2 extension
Implements all the necessary code in the device initialization and extension functions. Signed-off-by: Igor Torrente <igor.torrente@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15428>
This commit is contained in:
@@ -1527,3 +1527,40 @@ vn_CmdSetViewportWithCount(VkCommandBuffer commandBuffer,
|
||||
VN_CMD_ENQUEUE(vkCmdSetViewportWithCount, commandBuffer, viewportCount,
|
||||
pViewports);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetDepthBiasEnable(VkCommandBuffer commandBuffer,
|
||||
VkBool32 depthBiasEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetDepthBiasEnable, commandBuffer, depthBiasEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetLogicOpEXT(VkCommandBuffer commandBuffer, VkLogicOp logicOp)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetLogicOpEXT, commandBuffer, logicOp);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,
|
||||
uint32_t patchControlPoints)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetPatchControlPointsEXT, commandBuffer,
|
||||
patchControlPoints);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer,
|
||||
VkBool32 primitiveRestartEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetPrimitiveRestartEnable, commandBuffer,
|
||||
primitiveRestartEnable);
|
||||
}
|
||||
|
||||
void
|
||||
vn_CmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer,
|
||||
VkBool32 rasterizerDiscardEnable)
|
||||
{
|
||||
VN_CMD_ENQUEUE(vkCmdSetRasterizerDiscardEnable, commandBuffer,
|
||||
rasterizerDiscardEnable);
|
||||
}
|
||||
|
||||
@@ -124,6 +124,9 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
||||
VN_ADD_EXT_TO_PNEXT(exts->EXT_extended_dynamic_state,
|
||||
feats->extended_dynamic_state,
|
||||
EXTENDED_DYNAMIC_STATE_FEATURES_EXT, features2);
|
||||
VN_ADD_EXT_TO_PNEXT(exts->EXT_extended_dynamic_state2,
|
||||
feats->extended_dynamic_state_2,
|
||||
EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, features2);
|
||||
VN_ADD_EXT_TO_PNEXT(exts->EXT_image_robustness, feats->image_robustness,
|
||||
IMAGE_ROBUSTNESS_FEATURES_EXT, features2);
|
||||
VN_ADD_EXT_TO_PNEXT(exts->EXT_shader_demote_to_helper_invocation,
|
||||
@@ -939,6 +942,7 @@ vn_physical_device_get_passthrough_extensions(
|
||||
/* promoted to VK_VERSION_1_3 */
|
||||
.EXT_4444_formats = true,
|
||||
.EXT_extended_dynamic_state = true,
|
||||
.EXT_extended_dynamic_state2 = true,
|
||||
.EXT_image_robustness = true,
|
||||
.EXT_shader_demote_to_helper_invocation = true,
|
||||
|
||||
@@ -1670,6 +1674,8 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
||||
/* Vulkan 1.3 */
|
||||
VkPhysicalDevice4444FormatsFeaturesEXT *argb_4444_formats;
|
||||
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *extended_dynamic_state;
|
||||
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
|
||||
*extended_dynamic_state2;
|
||||
VkPhysicalDeviceImageRobustnessFeaturesEXT *image_robustness;
|
||||
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
|
||||
*shader_demote_to_helper_invocation;
|
||||
@@ -1850,6 +1856,9 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
|
||||
*u.extended_dynamic_state = feats->extended_dynamic_state;
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
|
||||
*u.extended_dynamic_state2 = feats->extended_dynamic_state_2;
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT:
|
||||
*u.image_robustness = feats->image_robustness;
|
||||
break;
|
||||
|
||||
@@ -25,6 +25,7 @@ struct vn_physical_device_features {
|
||||
/* Vulkan 1.3 */
|
||||
VkPhysicalDevice4444FormatsFeaturesEXT argb_4444_formats;
|
||||
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extended_dynamic_state;
|
||||
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT extended_dynamic_state_2;
|
||||
VkPhysicalDeviceImageRobustnessFeaturesEXT image_robustness;
|
||||
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
|
||||
shader_demote_to_helper_invocation;
|
||||
|
||||
Reference in New Issue
Block a user