mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	gl_rasterizer: Correct sRGB Fix regression
This commit is contained in:
		
				
					committed by
					
						
						ReinUsesLisp
					
				
			
			
				
	
			
			
			
						parent
						
							78574746bd
						
					
				
				
					commit
					e60d281a01
				
			@@ -485,6 +485,12 @@ std::pair<bool, bool> RasterizerOpenGL::ConfigureFramebuffers(
 | 
				
			|||||||
            View color_surface{
 | 
					            View color_surface{
 | 
				
			||||||
                texture_cache.GetColorBufferSurface(*single_color_target, preserve_contents)};
 | 
					                texture_cache.GetColorBufferSurface(*single_color_target, preserve_contents)};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (color_surface) {
 | 
				
			||||||
 | 
					                // Assume that a surface will be written to if it is used as a framebuffer, even if
 | 
				
			||||||
 | 
					                // the shader doesn't actually write to it.
 | 
				
			||||||
 | 
					                texture_cache.MarkColorBufferInUse(*single_color_target);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            fbkey.is_single_buffer = true;
 | 
					            fbkey.is_single_buffer = true;
 | 
				
			||||||
            fbkey.color_attachments[0] =
 | 
					            fbkey.color_attachments[0] =
 | 
				
			||||||
                GL_COLOR_ATTACHMENT0 + static_cast<GLenum>(*single_color_target);
 | 
					                GL_COLOR_ATTACHMENT0 + static_cast<GLenum>(*single_color_target);
 | 
				
			||||||
@@ -499,6 +505,12 @@ std::pair<bool, bool> RasterizerOpenGL::ConfigureFramebuffers(
 | 
				
			|||||||
            for (std::size_t index = 0; index < Maxwell::NumRenderTargets; ++index) {
 | 
					            for (std::size_t index = 0; index < Maxwell::NumRenderTargets; ++index) {
 | 
				
			||||||
                View color_surface{texture_cache.GetColorBufferSurface(index, preserve_contents)};
 | 
					                View color_surface{texture_cache.GetColorBufferSurface(index, preserve_contents)};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (color_surface) {
 | 
				
			||||||
 | 
					                    // Assume that a surface will be written to if it is used as a framebuffer, even
 | 
				
			||||||
 | 
					                    // if the shader doesn't actually write to it.
 | 
				
			||||||
 | 
					                    texture_cache.MarkColorBufferInUse(index);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                fbkey.color_attachments[index] =
 | 
					                fbkey.color_attachments[index] =
 | 
				
			||||||
                    GL_COLOR_ATTACHMENT0 + regs.rt_control.GetMap(index);
 | 
					                    GL_COLOR_ATTACHMENT0 + regs.rt_control.GetMap(index);
 | 
				
			||||||
                fbkey.colors[index] = color_surface;
 | 
					                fbkey.colors[index] = color_surface;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user