mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 08:50:09 +01:00
anv: check EXT_mesh_shader whenever NV_mesh_shader is checked
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371>
This commit is contained in:
parent
2e1b96bb1b
commit
9cefaa9b6d
5 changed files with 12 additions and 6 deletions
|
|
@ -88,7 +88,8 @@ void
|
|||
anv_device_init_blorp(struct anv_device *device)
|
||||
{
|
||||
const struct blorp_config config = {
|
||||
.use_mesh_shading = device->physical->vk.supported_extensions.NV_mesh_shader,
|
||||
.use_mesh_shading = device->physical->vk.supported_extensions.NV_mesh_shader ||
|
||||
device->physical->vk.supported_extensions.EXT_mesh_shader,
|
||||
};
|
||||
|
||||
blorp_init(&device->blorp, device, &device->isl_dev, &config);
|
||||
|
|
|
|||
|
|
@ -481,7 +481,8 @@ anv_cmd_buffer_bind_descriptor_set(struct anv_cmd_buffer *cmd_buffer,
|
|||
switch (bind_point) {
|
||||
case VK_PIPELINE_BIND_POINT_GRAPHICS:
|
||||
stages &= VK_SHADER_STAGE_ALL_GRAPHICS |
|
||||
(cmd_buffer->device->vk.enabled_extensions.NV_mesh_shader ?
|
||||
((cmd_buffer->device->vk.enabled_extensions.NV_mesh_shader ||
|
||||
cmd_buffer->device->vk.enabled_extensions.EXT_mesh_shader) ?
|
||||
(VK_SHADER_STAGE_TASK_BIT_NV |
|
||||
VK_SHADER_STAGE_MESH_BIT_NV) : 0);
|
||||
pipe_state = &cmd_buffer->state.gfx.base;
|
||||
|
|
|
|||
|
|
@ -1892,7 +1892,8 @@ anv_get_physical_device_properties_1_1(struct anv_physical_device *pdevice,
|
|||
VK_SHADER_STAGE_INTERSECTION_BIT_KHR |
|
||||
VK_SHADER_STAGE_CALLABLE_BIT_KHR;
|
||||
}
|
||||
if (pdevice->vk.supported_extensions.NV_mesh_shader) {
|
||||
if (pdevice->vk.supported_extensions.NV_mesh_shader ||
|
||||
pdevice->vk.supported_extensions.EXT_mesh_shader) {
|
||||
scalar_stages |= VK_SHADER_STAGE_TASK_BIT_NV |
|
||||
VK_SHADER_STAGE_MESH_BIT_NV;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2052,7 +2052,8 @@ anv_graphics_pipeline_init(struct anv_graphics_pipeline *pipeline,
|
|||
pipeline->active_stages |= VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
|
||||
|
||||
if (anv_pipeline_is_mesh(pipeline))
|
||||
assert(device->physical->vk.supported_extensions.NV_mesh_shader);
|
||||
assert(device->physical->vk.supported_extensions.NV_mesh_shader ||
|
||||
device->physical->vk.supported_extensions.EXT_mesh_shader);
|
||||
|
||||
pipeline->dynamic_state.ms.sample_locations = &pipeline->sample_locations;
|
||||
vk_dynamic_graphics_state_fill(&pipeline->dynamic_state, state);
|
||||
|
|
|
|||
|
|
@ -281,7 +281,8 @@ genX(emit_urb_setup)(struct anv_device *device, struct anv_batch *batch,
|
|||
}
|
||||
}
|
||||
#if GFX_VERx10 >= 125
|
||||
if (device->physical->vk.supported_extensions.NV_mesh_shader) {
|
||||
if (device->physical->vk.supported_extensions.NV_mesh_shader ||
|
||||
device->physical->vk.supported_extensions.EXT_mesh_shader) {
|
||||
anv_batch_emit(batch, GENX(3DSTATE_URB_ALLOC_MESH), zero);
|
||||
anv_batch_emit(batch, GENX(3DSTATE_URB_ALLOC_TASK), zero);
|
||||
}
|
||||
|
|
@ -2061,7 +2062,8 @@ genX(graphics_pipeline_emit)(struct anv_graphics_pipeline *pipeline,
|
|||
#if GFX_VERx10 >= 125
|
||||
const struct anv_device *device = pipeline->base.device;
|
||||
/* Disable Mesh. */
|
||||
if (device->physical->vk.supported_extensions.NV_mesh_shader) {
|
||||
if (device->physical->vk.supported_extensions.NV_mesh_shader ||
|
||||
device->physical->vk.supported_extensions.EXT_mesh_shader) {
|
||||
anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_MESH_CONTROL), zero);
|
||||
anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_TASK_CONTROL), zero);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue