mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 10:44:49 +01:00 
			
		
		
		
	Merge pull request #3543 from ReinUsesLisp/gl-depth-range
gl_rasterizer: Use transformed viewport for depth ranges
This commit is contained in:
		
						commit
						497f593525
					
				| @ -933,13 +933,15 @@ void RasterizerOpenGL::SyncViewport() { | |||||||
|             } |             } | ||||||
|             flags[Dirty::Viewport0 + i] = false; |             flags[Dirty::Viewport0 + i] = false; | ||||||
| 
 | 
 | ||||||
|             const Common::Rectangle<f32> rect{regs.viewport_transform[i].GetRect()}; |             const auto& src = regs.viewport_transform[i]; | ||||||
|  |             const Common::Rectangle<f32> rect{src.GetRect()}; | ||||||
|             glViewportIndexedf(static_cast<GLuint>(i), rect.left, rect.bottom, rect.GetWidth(), |             glViewportIndexedf(static_cast<GLuint>(i), rect.left, rect.bottom, rect.GetWidth(), | ||||||
|                                rect.GetHeight()); |                                rect.GetHeight()); | ||||||
| 
 | 
 | ||||||
|             const auto& src = regs.viewports[i]; |             const GLdouble reduce_z = regs.depth_mode == Maxwell::DepthMode::MinusOneToOne; | ||||||
|             glDepthRangeIndexed(static_cast<GLuint>(i), static_cast<GLdouble>(src.depth_range_near), |             const GLdouble near_depth = src.translate_z - src.scale_z * reduce_z; | ||||||
|                                 static_cast<GLdouble>(src.depth_range_far)); |             const GLdouble far_depth = src.translate_z + src.scale_z; | ||||||
|  |             glDepthRangeIndexed(static_cast<GLuint>(i), near_depth, far_depth); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user