diff options
| author | 2021-04-16 16:31:15 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:28 -0400 | |
| commit | e3514bcd6b09f623da14c4f3c4ffd988e75577ed (patch) | |
| tree | 8c7e375472cb6b654b9d462ae4a9b51575c38b93 /src/shader_recompiler/backend/spirv/emit_spirv.cpp | |
| parent | spirv: Bitcast non-F32 attributes to F32 (diff) | |
| download | yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.gz yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.xz yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.zip | |
spirv: Implement ViewportMask with NV_viewport_array2
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"); |