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 4657cf78fd
commit e3514bcd6b
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");