mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +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 {
 | 
					namespace Shader {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct Register {
 | 
					struct Register {
 | 
				
			||||||
 | 
					    // Register 255 is special cased to always be 0
 | 
				
			||||||
 | 
					    static constexpr size_t ZeroIndex = 255;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constexpr Register() = default;
 | 
					    constexpr Register() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constexpr Register(u64 value) : value(value) {}
 | 
					    constexpr Register(u64 value) : value(value) {}
 | 
				
			||||||
 | 
				
			|||||||
@ -220,6 +220,8 @@ private:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /// Generates code representing a temporary (GPR) register.
 | 
					    /// Generates code representing a temporary (GPR) register.
 | 
				
			||||||
    std::string GetRegister(const Register& reg, unsigned elem = 0) {
 | 
					    std::string GetRegister(const Register& reg, unsigned elem = 0) {
 | 
				
			||||||
 | 
					        if (reg == Register::ZeroIndex)
 | 
				
			||||||
 | 
					            return "0";
 | 
				
			||||||
        if (stage == Maxwell3D::Regs::ShaderStage::Fragment && reg < 4) {
 | 
					        if (stage == Maxwell3D::Regs::ShaderStage::Fragment && reg < 4) {
 | 
				
			||||||
            // GPRs 0-3 are output color for the fragment shader
 | 
					            // GPRs 0-3 are output color for the fragment shader
 | 
				
			||||||
            return std::string{"color."} + "rgba"[(reg + elem) & 3];
 | 
					            return std::string{"color."} + "rgba"[(reg + elem) & 3];
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user