mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 04:58:05 +02:00
lavapipe: VK_EXT_primitive_restart_index
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40783>
This commit is contained in:
parent
88fd02daae
commit
ab6cdd64c1
3 changed files with 16 additions and 1 deletions
|
|
@ -666,7 +666,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_EXT_pipeline_library_group_handles DONE (anv, lvp, radv, vn)
|
||||
VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, nvk, radv/gfx10+, tu, vn)
|
||||
VK_EXT_present_timing DONE (anv, hk, nvk, radv, tu, panvk)
|
||||
VK_EXT_primitive_restart_index DONE (radv)
|
||||
VK_EXT_primitive_restart_index DONE (lvp, radv)
|
||||
VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn, nvk)
|
||||
VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
||||
VK_EXT_provoking_vertex DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
|
|
|
|||
|
|
@ -274,6 +274,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
|
|||
.EXT_post_depth_coverage = true,
|
||||
.EXT_private_data = true,
|
||||
.EXT_primitives_generated_query = true,
|
||||
.EXT_primitive_restart_index = true,
|
||||
.EXT_primitive_topology_list_restart = true,
|
||||
.EXT_rasterization_order_attachment_access = true,
|
||||
.EXT_queue_family_foreign = true,
|
||||
|
|
@ -691,6 +692,9 @@ lvp_get_features(const struct lvp_physical_device *pdevice,
|
|||
.customBorderColors = true,
|
||||
.customBorderColorWithoutFormat = true,
|
||||
|
||||
/* VK_EXT_primitive_restart_index */
|
||||
.primitiveRestartIndex = true,
|
||||
|
||||
/* VK_EXT_color_write_enable */
|
||||
.colorWriteEnable = true,
|
||||
|
||||
|
|
|
|||
|
|
@ -3705,6 +3705,12 @@ static void handle_set_primitive_restart_enable(struct vk_cmd_queue_entry *cmd,
|
|||
state->info.primitive_restart = cmd->u.set_primitive_restart_enable.primitive_restart_enable;
|
||||
}
|
||||
|
||||
static void handle_set_primitive_restart_index(struct vk_cmd_queue_entry *cmd,
|
||||
struct rendering_state *state)
|
||||
{
|
||||
state->info.restart_index = cmd->u.set_primitive_restart_index_ext.primitive_restart_index;
|
||||
}
|
||||
|
||||
static void handle_set_rasterizer_discard_enable(struct vk_cmd_queue_entry *cmd,
|
||||
struct rendering_state *state)
|
||||
{
|
||||
|
|
@ -5054,11 +5060,13 @@ void lvp_add_enqueue_cmd_entrypoints(struct vk_device_dispatch_table *disp)
|
|||
ENQUEUE_CMD(CmdTraceRaysKHR)
|
||||
|
||||
ENQUEUE_CMD(CmdSetDepthBias2EXT)
|
||||
ENQUEUE_CMD(CmdSetPrimitiveRestartIndexEXT)
|
||||
|
||||
ENQUEUE_CMD(CmdSetSampleLocationsEnableEXT)
|
||||
ENQUEUE_CMD(CmdSetSampleLocationsEXT)
|
||||
|
||||
ENQUEUE_CMD(CmdSetColorBlendAdvancedEXT)
|
||||
|
||||
#undef ENQUEUE_CMD
|
||||
}
|
||||
|
||||
|
|
@ -5484,6 +5492,9 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
|
|||
case VK_CMD_SET_COLOR_BLEND_ADVANCED_EXT:
|
||||
handle_set_color_blend_advanced(cmd, state);
|
||||
break;
|
||||
case VK_CMD_SET_PRIMITIVE_RESTART_INDEX_EXT:
|
||||
handle_set_primitive_restart_index(cmd, state);
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unsupported command %s\n", vk_cmd_queue_type_names[cmd->type]);
|
||||
UNREACHABLE("Unsupported command");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue