mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 00:38:48 +02:00
zink: use EXT_primitive_restart_index
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40784>
This commit is contained in:
parent
76cdbcb96a
commit
166c68914b
4 changed files with 11 additions and 2 deletions
|
|
@ -505,7 +505,8 @@
|
|||
"VK_EXT_primitives_generated_query": 1,
|
||||
"VK_EXT_color_write_enable": 1,
|
||||
"VK_EXT_extended_dynamic_state3": 1,
|
||||
"VK_EXT_descriptor_buffer": 1
|
||||
"VK_EXT_descriptor_buffer": 1,
|
||||
"VK_EXT_primitive_restart_index": 1
|
||||
},
|
||||
"features": {
|
||||
"VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT": {
|
||||
|
|
@ -525,6 +526,9 @@
|
|||
},
|
||||
"VkPhysicalDeviceDescriptorBufferFeaturesEXT": {
|
||||
"descriptorBuffer": true
|
||||
},
|
||||
"VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT": {
|
||||
"primitiveRestartIndex": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -330,6 +330,9 @@ EXTENSIONS = [
|
|||
alias="list_restart",
|
||||
features=True,
|
||||
conditions=["$feats.primitiveTopologyListRestart"]),
|
||||
Extension("VK_EXT_primitive_restart_index",
|
||||
alias="restart_index",
|
||||
features=True),
|
||||
Extension("VK_KHR_dedicated_allocation",
|
||||
alias="dedicated"),
|
||||
Extension("VK_EXT_descriptor_indexing",
|
||||
|
|
|
|||
|
|
@ -778,6 +778,8 @@ zink_draw(struct pipe_context *pctx,
|
|||
VKCTX(CmdSetPrimitiveRestartEnable)(bs->cmdbuf, dinfo->primitive_restart);
|
||||
ctx->primitive_restart = dinfo->primitive_restart;
|
||||
}
|
||||
if (dinfo->primitive_restart && screen->info.have_EXT_primitive_restart_index)
|
||||
VKCTX(CmdSetPrimitiveRestartIndexEXT)(bs->cmdbuf, dinfo->restart_index);
|
||||
|
||||
if (zink_program_has_descriptors(&ctx->curr_program->base) && (BATCH_CHANGED || ctx->dd.push_state_changed[0] || ctx->dd.state_changed[0] || pipeline_changed))
|
||||
zink_descriptors_update(ctx, ZINK_PIPELINE_GFX);
|
||||
|
|
|
|||
|
|
@ -731,7 +731,7 @@ zink_init_screen_caps(struct zink_screen *screen)
|
|||
caps->texrect = false;
|
||||
caps->multi_draw_indirect_partial_stride = false;
|
||||
caps->anisotropic_filter = screen->info.feats.features.samplerAnisotropy;
|
||||
caps->emulate_nonfixed_primitive_restart = true;
|
||||
caps->emulate_nonfixed_primitive_restart = !screen->info.have_EXT_primitive_restart_index;
|
||||
{
|
||||
uint32_t modes = BITFIELD_BIT(MESA_PRIM_LINE_STRIP) |
|
||||
BITFIELD_BIT(MESA_PRIM_TRIANGLE_STRIP) |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue