diff options
| author | 2019-12-26 16:38:39 -0300 | |
|---|---|---|
| committer | 2019-12-26 16:38:49 -0300 | |
| commit | 5b989f189fbf30535f5509a2157dc755fcb4d8f0 (patch) | |
| tree | c0b96b4e098e1cb4b51ad5b04bf7686e33cb5545 /src | |
| parent | Merge pull request #3244 from ReinUsesLisp/vk-fps (diff) | |
| download | yuzu-5b989f189fbf30535f5509a2157dc755fcb4d8f0.tar.gz yuzu-5b989f189fbf30535f5509a2157dc755fcb4d8f0.tar.xz yuzu-5b989f189fbf30535f5509a2157dc755fcb4d8f0.zip | |
gl_rasterizer: Allow rendering without fragment shader
Rendering without a fragment shader is usually used in depth-only
passes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_manager.h | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index dbb08dd80..672051102 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -271,6 +271,9 @@ void RasterizerOpenGL::SetupShaders(GLenum primitive_mode) { | |||
| 271 | case Maxwell::ShaderProgram::Geometry: | 271 | case Maxwell::ShaderProgram::Geometry: |
| 272 | shader_program_manager->UseTrivialGeometryShader(); | 272 | shader_program_manager->UseTrivialGeometryShader(); |
| 273 | break; | 273 | break; |
| 274 | case Maxwell::ShaderProgram::Fragment: | ||
| 275 | shader_program_manager->UseTrivialFragmentShader(); | ||
| 276 | break; | ||
| 274 | default: | 277 | default: |
| 275 | break; | 278 | break; |
| 276 | } | 279 | } |
diff --git a/src/video_core/renderer_opengl/gl_shader_manager.h b/src/video_core/renderer_opengl/gl_shader_manager.h index 3703e7018..478c165ce 100644 --- a/src/video_core/renderer_opengl/gl_shader_manager.h +++ b/src/video_core/renderer_opengl/gl_shader_manager.h | |||
| @@ -50,6 +50,10 @@ public: | |||
| 50 | current_state.geometry_shader = 0; | 50 | current_state.geometry_shader = 0; |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | void UseTrivialFragmentShader() { | ||
| 54 | current_state.fragment_shader = 0; | ||
| 55 | } | ||
| 56 | |||
| 53 | private: | 57 | private: |
| 54 | struct PipelineState { | 58 | struct PipelineState { |
| 55 | bool operator==(const PipelineState& rhs) const { | 59 | bool operator==(const PipelineState& rhs) const { |