Rendering without a fragment shader is usually used in depth-only passes.
@@ -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:
}
@@ -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 {