mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +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…
	
		Reference in New Issue
	
	Block a user
	 Subv
						Subv