mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	texture_cache: Implement layered framebuffer attachments
Layered framebuffer attachments is a feature that allows applications to write attach layered textures to a single attachment. What layer the fragments are written to is decided from the shader using gl_Layer.
This commit is contained in:
		@@ -520,7 +520,7 @@ public:
 | 
			
		||||
                BitField<12, 1, InvMemoryLayout> type;
 | 
			
		||||
            } memory_layout;
 | 
			
		||||
            union {
 | 
			
		||||
                BitField<0, 16, u32> array_mode;
 | 
			
		||||
                BitField<0, 16, u32> layers;
 | 
			
		||||
                BitField<16, 1, u32> volume;
 | 
			
		||||
            };
 | 
			
		||||
            u32 layer_stride;
 | 
			
		||||
@@ -778,8 +778,12 @@ public:
 | 
			
		||||
 | 
			
		||||
                u32 zeta_width;
 | 
			
		||||
                u32 zeta_height;
 | 
			
		||||
                union {
 | 
			
		||||
                    BitField<0, 16, u32> zeta_layers;
 | 
			
		||||
                    BitField<16, 1, u32> zeta_volume;
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                INSERT_UNION_PADDING_WORDS(0x27);
 | 
			
		||||
                INSERT_UNION_PADDING_WORDS(0x26);
 | 
			
		||||
 | 
			
		||||
                u32 depth_test_enable;
 | 
			
		||||
 | 
			
		||||
@@ -1475,6 +1479,7 @@ ASSERT_REG_POSITION(vertex_attrib_format, 0x458);
 | 
			
		||||
ASSERT_REG_POSITION(rt_control, 0x487);
 | 
			
		||||
ASSERT_REG_POSITION(zeta_width, 0x48a);
 | 
			
		||||
ASSERT_REG_POSITION(zeta_height, 0x48b);
 | 
			
		||||
ASSERT_REG_POSITION(zeta_layers, 0x48c);
 | 
			
		||||
ASSERT_REG_POSITION(depth_test_enable, 0x4B3);
 | 
			
		||||
ASSERT_REG_POSITION(independent_blend_enable, 0x4B9);
 | 
			
		||||
ASSERT_REG_POSITION(depth_write_enabled, 0x4BA);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user