mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-25 02:50:29 +01:00
zink: relax tessellation shader reqs
vk memory model isn't actually required for tcs io semantics due to how control barriers are emitted in GL Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9232>
This commit is contained in:
parent
4aac98f8a6
commit
190b4ad18e
2 changed files with 3 additions and 4 deletions
|
|
@ -3648,8 +3648,8 @@ nir_to_spirv(struct nir_shader *s, const struct zink_so_info *so_info,
|
|||
ctx.GLSL_std_450 = spirv_builder_import(&ctx.builder, "GLSL.std.450");
|
||||
spirv_builder_emit_source(&ctx.builder, SpvSourceLanguageUnknown, 0);
|
||||
|
||||
if (s->info.stage == MESA_SHADER_TESS_CTRL || s->info.num_images) {
|
||||
/* this is required for correct barrier and io semantics */
|
||||
if (s->info.num_images) {
|
||||
/* this is required for correct io semantics */
|
||||
spirv_builder_emit_extension(&ctx.builder, "SPV_KHR_vulkan_memory_model");
|
||||
spirv_builder_emit_cap(&ctx.builder, SpvCapabilityVulkanMemoryModel);
|
||||
spirv_builder_emit_cap(&ctx.builder, SpvCapabilityVulkanMemoryModelDeviceScope);
|
||||
|
|
|
|||
|
|
@ -535,8 +535,7 @@ zink_get_shader_param(struct pipe_screen *pscreen,
|
|||
return INT_MAX;
|
||||
case PIPE_SHADER_TESS_CTRL:
|
||||
case PIPE_SHADER_TESS_EVAL:
|
||||
if (screen->info.have_KHR_vulkan_memory_model &&
|
||||
screen->info.feats.features.tessellationShader &&
|
||||
if (screen->info.feats.features.tessellationShader &&
|
||||
screen->info.have_KHR_maintenance2)
|
||||
return INT_MAX;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue