Browse Source

gl_rasterizer: Allow rendering without fragment shader

Rendering without a fragment shader is usually used in depth-only
passes.
pull/15/merge
ReinUsesLisp 6 years ago
parent
commit
5b989f189f
No known key found for this signature in database GPG Key ID: 2DFC508897B39CFE
  1. 3
      src/video_core/renderer_opengl/gl_rasterizer.cpp
  2. 4
      src/video_core/renderer_opengl/gl_shader_manager.h

3
src/video_core/renderer_opengl/gl_rasterizer.cpp

@ -271,6 +271,9 @@ void RasterizerOpenGL::SetupShaders(GLenum primitive_mode) {
case Maxwell::ShaderProgram::Geometry:
shader_program_manager->UseTrivialGeometryShader();
break;
case Maxwell::ShaderProgram::Fragment:
shader_program_manager->UseTrivialFragmentShader();
break;
default:
break;
}

4
src/video_core/renderer_opengl/gl_shader_manager.h

@ -50,6 +50,10 @@ public:
current_state.geometry_shader = 0;
}
void UseTrivialFragmentShader() {
current_state.fragment_shader = 0;
}
private:
struct PipelineState {
bool operator==(const PipelineState& rhs) const {

Loading…
Cancel
Save