diff options
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp index 105602ccf..90c4833a8 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp | |||
| @@ -303,6 +303,10 @@ void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ct | |||
| 303 | if (info.stores_viewport_index) { | 303 | if (info.stores_viewport_index) { |
| 304 | ctx.AddCapability(spv::Capability::MultiViewport); | 304 | ctx.AddCapability(spv::Capability::MultiViewport); |
| 305 | } | 305 | } |
| 306 | if (info.stores_viewport_mask && profile.support_viewport_mask) { | ||
| 307 | ctx.AddExtension("SPV_NV_viewport_array2"); | ||
| 308 | ctx.AddCapability(spv::Capability::ShaderViewportMaskNV); | ||
| 309 | } | ||
| 306 | if (info.stores_layer || info.stores_viewport_index) { | 310 | if (info.stores_layer || info.stores_viewport_index) { |
| 307 | if (profile.support_viewport_index_layer_non_geometry && ctx.stage != Stage::Geometry) { | 311 | if (profile.support_viewport_index_layer_non_geometry && ctx.stage != Stage::Geometry) { |
| 308 | ctx.AddExtension("SPV_EXT_shader_viewport_index_layer"); | 312 | ctx.AddExtension("SPV_EXT_shader_viewport_index_layer"); |