texture_pass: Refactor texture handle retrieval
This commit is contained in:
		@@ -355,21 +355,21 @@ TextureInst MakeInst(Environment& env, IR::Block* block, IR::Inst& inst) {
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TextureType ReadTextureType(Environment& env, const ConstBufferAddr& cbuf) {
 | 
			
		||||
u32 GetTextureHandle(Environment& env, const ConstBufferAddr& cbuf) {
 | 
			
		||||
    const u32 secondary_index{cbuf.has_secondary ? cbuf.secondary_index : cbuf.index};
 | 
			
		||||
    const u32 secondary_offset{cbuf.has_secondary ? cbuf.secondary_offset : cbuf.offset};
 | 
			
		||||
    const u32 lhs_raw{env.ReadCbufValue(cbuf.index, cbuf.offset) << cbuf.shift_left};
 | 
			
		||||
    const u32 rhs_raw{env.ReadCbufValue(secondary_index, secondary_offset)
 | 
			
		||||
                      << cbuf.secondary_shift_left};
 | 
			
		||||
    return env.ReadTextureType(lhs_raw | rhs_raw);
 | 
			
		||||
    return lhs_raw | rhs_raw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TextureType ReadTextureType(Environment& env, const ConstBufferAddr& cbuf) {
 | 
			
		||||
    return env.ReadTextureType(GetTextureHandle(env, cbuf));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TexturePixelFormat ReadTexturePixelFormat(Environment& env, const ConstBufferAddr& cbuf) {
 | 
			
		||||
    const u32 secondary_index{cbuf.has_secondary ? cbuf.secondary_index : cbuf.index};
 | 
			
		||||
    const u32 secondary_offset{cbuf.has_secondary ? cbuf.secondary_offset : cbuf.offset};
 | 
			
		||||
    const u32 lhs_raw{env.ReadCbufValue(cbuf.index, cbuf.offset)};
 | 
			
		||||
    const u32 rhs_raw{env.ReadCbufValue(secondary_index, secondary_offset)};
 | 
			
		||||
    return env.ReadTexturePixelFormat(lhs_raw | rhs_raw);
 | 
			
		||||
    return env.ReadTexturePixelFormat(GetTextureHandle(env, cbuf));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class Descriptors {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user