mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	Merge pull request #10123 from Kelebek1/sample_mask
Define SampleMask as an array
This commit is contained in:
		@@ -473,7 +473,8 @@ void EmitSetFragColor(EmitContext& ctx, u32 index, u32 component, Id value) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitSetSampleMask(EmitContext& ctx, Id value) {
 | 
			
		||||
    ctx.OpStore(ctx.sample_mask, value);
 | 
			
		||||
    const Id pointer{ctx.OpAccessChain(ctx.output_u32, ctx.sample_mask, ctx.u32_zero_value)};
 | 
			
		||||
    ctx.OpStore(pointer, value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitSetFragDepth(EmitContext& ctx, Id value) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1572,7 +1572,8 @@ void EmitContext::DefineOutputs(const IR::Program& program) {
 | 
			
		||||
            Decorate(frag_depth, spv::Decoration::BuiltIn, spv::BuiltIn::FragDepth);
 | 
			
		||||
        }
 | 
			
		||||
        if (info.stores_sample_mask) {
 | 
			
		||||
            sample_mask = DefineOutput(*this, U32[1], std::nullopt);
 | 
			
		||||
            const Id array_type{TypeArray(U32[1], Const(1U))};
 | 
			
		||||
            sample_mask = DefineOutput(*this, array_type, std::nullopt);
 | 
			
		||||
            Decorate(sample_mask, spv::Decoration::BuiltIn, spv::BuiltIn::SampleMask);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user