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
No known key found for this signature in database
GPG Key ID: 2DFC508897B39CFE
2 changed files with
7 additions and
0 deletions
-
src/video_core/renderer_opengl/gl_rasterizer.cpp
-
src/video_core/renderer_opengl/gl_shader_manager.h
|
|
|
@ -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; |
|
|
|
} |
|
|
|
|
|
|
|
@ -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 { |
|
|
|
|