MaxwellToGL: Added a TODO and partial implementation of maxwell wrap mode 4 (Clamp, GL_CLAMP).
This clamp mode was removed from OpenGL as of 3.1, we can emulate it by using GL_CLAMP_TO_BORDER to get the border color of the texture, and then manually sampling the edge to mix them in the fragment shader.
This commit is contained in:
		
							parent
							
								
									44e09ba807
								
							
						
					
					
						commit
						7fc516cc1a
					
				@ -74,6 +74,11 @@ inline GLenum WrapMode(Tegra::Texture::WrapMode wrap_mode) {
 | 
			
		||||
    switch (wrap_mode) {
 | 
			
		||||
    case Tegra::Texture::WrapMode::ClampToEdge:
 | 
			
		||||
        return GL_CLAMP_TO_EDGE;
 | 
			
		||||
    case Tegra::Texture::WrapMode::ClampOGL:
 | 
			
		||||
        // TODO(Subv): GL_CLAMP was removed as of OpenGL 3.1, to implement GL_CLAMP, we can use
 | 
			
		||||
        // GL_CLAMP_TO_BORDER to get the border color of the texture, and then sample the edge to
 | 
			
		||||
        // manually mix them. However the shader part of this is not yet implemented.
 | 
			
		||||
        return GL_CLAMP_TO_BORDER;
 | 
			
		||||
    }
 | 
			
		||||
    LOG_CRITICAL(Render_OpenGL, "Unimplemented texture wrap mode=%u", static_cast<u32>(wrap_mode));
 | 
			
		||||
    UNREACHABLE();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user