mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	GPU: Set up the depth test state on every draw.
This commit is contained in:
		
							parent
							
								
									d480b63e0d
								
							
						
					
					
						commit
						18c8ae7750
					
				| @ -304,6 +304,9 @@ void RasterizerOpenGL::DrawArrays() { | ||||
|     MICROPROFILE_SCOPE(OpenGL_Drawing); | ||||
|     const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; | ||||
| 
 | ||||
|     // Sync the depth test state before configuring the framebuffer surfaces.
 | ||||
|     SyncDepthTestState(); | ||||
| 
 | ||||
|     // TODO(bunnei): Implement these
 | ||||
|     const bool has_stencil = false; | ||||
|     const bool using_color_fb = true; | ||||
| @ -719,6 +722,14 @@ void RasterizerOpenGL::SyncDepthOffset() { | ||||
|     UNREACHABLE(); | ||||
| } | ||||
| 
 | ||||
| void RasterizerOpenGL::SyncDepthTestState() { | ||||
|     const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; | ||||
| 
 | ||||
|     state.depth.test_enabled = regs.depth_test_enable != 0; | ||||
|     state.depth.write_mask = regs.depth_write_enabled ? GL_TRUE : GL_FALSE; | ||||
|     state.depth.test_func = MaxwellToGL::ComparisonOp(regs.depth_test_func); | ||||
| } | ||||
| 
 | ||||
| void RasterizerOpenGL::SyncBlendState() { | ||||
|     const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; | ||||
| 
 | ||||
|  | ||||
| @ -126,6 +126,9 @@ private: | ||||
|     /// Syncs the depth offset to match the guest state
 | ||||
|     void SyncDepthOffset(); | ||||
| 
 | ||||
|     /// Syncs the depth test state to match the guest state
 | ||||
|     void SyncDepthTestState(); | ||||
| 
 | ||||
|     /// Syncs the blend state to match the guest state
 | ||||
|     void SyncBlendState(); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Subv
						Subv