spirv: Implement ViewportMask with NV_viewport_array2

This commit is contained in:
ReinUsesLisp 2021-04-16 16:31:15 -03:00 committed by ameerj
parent f65aa540d8
commit b6b541e36a
10 changed files with 32 additions and 0 deletions

View file

@ -303,6 +303,10 @@ void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ct
if (info.stores_viewport_index) {
ctx.AddCapability(spv::Capability::MultiViewport);
}
if (info.stores_viewport_mask && profile.support_viewport_mask) {
ctx.AddExtension("SPV_NV_viewport_array2");
ctx.AddCapability(spv::Capability::ShaderViewportMaskNV);
}
if (info.stores_layer || info.stores_viewport_index) {
if (profile.support_viewport_index_layer_non_geometry && ctx.stage != Stage::Geometry) {
ctx.AddExtension("SPV_EXT_shader_viewport_index_layer");