mirror of
				https://github.com/yuzu-emu/yuzu.git
				synced 2025-11-04 03:43:42 +00:00 
			
		
		
		
	ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
This commit is contained in:
		
							parent
							
								
									2e0a9f66a0
								
							
						
					
					
						commit
						d03fc77475
					
				@ -13,6 +13,9 @@ namespace Tegra {
 | 
			
		||||
namespace Shader {
 | 
			
		||||
 | 
			
		||||
struct Register {
 | 
			
		||||
    // Register 255 is special cased to always be 0
 | 
			
		||||
    static constexpr size_t ZeroIndex = 255;
 | 
			
		||||
 | 
			
		||||
    constexpr Register() = default;
 | 
			
		||||
 | 
			
		||||
    constexpr Register(u64 value) : value(value) {}
 | 
			
		||||
 | 
			
		||||
@ -220,6 +220,8 @@ private:
 | 
			
		||||
 | 
			
		||||
    /// Generates code representing a temporary (GPR) register.
 | 
			
		||||
    std::string GetRegister(const Register& reg, unsigned elem = 0) {
 | 
			
		||||
        if (reg == Register::ZeroIndex)
 | 
			
		||||
            return "0";
 | 
			
		||||
        if (stage == Maxwell3D::Regs::ShaderStage::Fragment && reg < 4) {
 | 
			
		||||
            // GPRs 0-3 are output color for the fragment shader
 | 
			
		||||
            return std::string{"color."} + "rgba"[(reg + elem) & 3];
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user