summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-02-04 19:19:45 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-02-04 19:19:45 +0100
commit7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a (patch)
treed91f24cd1d6feb6bbfedce9f003c46e42d51f097 /src/video_core/renderer_opengl
parentMerge pull request #3356 from ReinUsesLisp/fcmp (diff)
downloadyuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.tar
yuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.tar.gz
yuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.tar.bz2
yuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.tar.lz
yuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.tar.xz
yuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.tar.zst
yuzu-7da52673d0714e2cad0e5b0242bb7ea6f9be0c7a.zip
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp1
-rw-r--r--src/video_core/renderer_opengl/gl_state.cpp1
-rw-r--r--src/video_core/renderer_opengl/gl_state.h1
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 362942e09..0537a2abe 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -1293,6 +1293,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;