diff options
author | bunnei <bunneidev@gmail.com> | 2020-02-11 14:26:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-11 14:26:07 +0100 |
commit | 37f1cf8cbd496dc518aac4ac28ea86f8c0b51683 (patch) | |
tree | 20a57cc14339bace7c3e73cdb508f14026f2cfa3 /src/video_core/renderer_opengl | |
parent | Merge pull request #3372 from ReinUsesLisp/fix-back-stencil (diff) | |
parent | gl_rasterizer: Implement GL_POINT_SPRITE (diff) | |
download | yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.tar yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.tar.gz yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.tar.bz2 yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.tar.lz yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.tar.xz yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.tar.zst yuzu-37f1cf8cbd496dc518aac4ac28ea86f8c0b51683.zip |
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 1 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_state.cpp | 1 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_state.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 46a7433ea..b0eb14c8b 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -1220,6 +1220,7 @@ void RasterizerOpenGL::SyncPointState() { // Limit the point size to 1 since nouveau sometimes sets a point size of 0 (and that's invalid // in OpenGL). state.point.program_control = regs.vp_point_size.enable != 0; + state.point.sprite = regs.point_sprite_enable != 0; state.point.size = std::max(1.0f, regs.point_size); } diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp index cc185e9e1..ab1f7983c 100644 --- a/src/video_core/renderer_opengl/gl_state.cpp +++ b/src/video_core/renderer_opengl/gl_state.cpp @@ -128,6 +128,7 @@ void OpenGLState::ApplyClipDistances() { void OpenGLState::ApplyPointSize() { Enable(GL_PROGRAM_POINT_SIZE, cur_state.point.program_control, point.program_control); + Enable(GL_POINT_SPRITE, cur_state.point.sprite, point.sprite); if (UpdateValue(cur_state.point.size, point.size)) { glPointSize(point.size); } diff --git a/src/video_core/renderer_opengl/gl_state.h b/src/video_core/renderer_opengl/gl_state.h index 678e5cd89..4953eeda2 100644 --- a/src/video_core/renderer_opengl/gl_state.h +++ b/src/video_core/renderer_opengl/gl_state.h @@ -132,6 +132,7 @@ public: struct { bool program_control = false; // GL_PROGRAM_POINT_SIZE + bool sprite = false; // GL_POINT_SPRITE GLfloat size = 1.0f; // GL_POINT_SIZE } point; |