summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMat M <mathew1800@gmail.com>2020-04-15 11:54:50 -0400
committerGitHub <noreply@github.com>2020-04-15 11:54:50 -0400
commit64b5985f0a034fb2b1988d960b009985f9929922 (patch)
treef0b9e67be77569e7debd6eaeca4f66474fe6bbe9 /src
parent9208d555b79990d0fdcc2d727a32f09e33769193 (diff)
parent6dfcabc80028fd35a6d0e20d20eb8db8053eddf1 (diff)
Merge pull request #3662 from ReinUsesLisp/constant-attrs
gl_rasterizer: Implement constant vertex attributes
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/maxwell_3d.h4
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 2977a7d81..5cf6a4cc3 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -303,6 +303,10 @@ public:
return (type == Type::SignedNorm) || (type == Type::UnsignedNorm);
}
+ bool IsConstant() const {
+ return constant;
+ }
+
bool IsValid() const {
return size != Size::Invalid;
}
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index f31d960c7..f4598fbf7 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -140,8 +140,8 @@ void RasterizerOpenGL::SetupVertexFormat() {
const auto attrib = gpu.regs.vertex_attrib_format[index];
const auto gl_index = static_cast<GLuint>(index);
- // Ignore invalid attributes.
- if (!attrib.IsValid()) {
+ // Disable constant attributes.
+ if (attrib.IsConstant()) {
glDisableVertexAttribArray(gl_index);
continue;
}