summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-03-25 00:09:53 -0400
committerGravatar bunnei2018-03-26 21:17:02 -0400
commita6cab532f89ada46988e391708eb06b3be5ade19 (patch)
treec9b826124856fe0816e8ec065612988d2f03cd46 /src
parentmemory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock. (diff)
downloadyuzu-a6cab532f89ada46988e391708eb06b3be5ade19.tar.gz
yuzu-a6cab532f89ada46988e391708eb06b3be5ade19.tar.xz
yuzu-a6cab532f89ada46988e391708eb06b3be5ade19.zip
gl_rasterizer: Normalize vertex array data as appropriate.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/maxwell_3d.h4
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 9d63fa803..0e1ae5912 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -222,6 +222,10 @@ public:
222 UNREACHABLE(); 222 UNREACHABLE();
223 return {}; 223 return {};
224 } 224 }
225
226 bool IsNormalized() const {
227 return (type == Type::SignedNorm) || (type == Type::UnsignedNorm);
228 }
225 }; 229 };
226 230
227 enum class PrimitiveTopology : u32 { 231 enum class PrimitiveTopology : u32 {
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index dfc4beb9a..7950bac9e 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -178,7 +178,7 @@ void RasterizerOpenGL::SetupVertexArray(u8* array_ptr, GLintptr buffer_offset) {
178 for (unsigned index = 0; index < 16; ++index) { 178 for (unsigned index = 0; index < 16; ++index) {
179 auto& attrib = regs.vertex_attrib_format[index]; 179 auto& attrib = regs.vertex_attrib_format[index];
180 glVertexAttribPointer(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), 180 glVertexAttribPointer(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib),
181 GL_FALSE, vertex_array.stride, 181 attrib.IsNormalized() ? GL_TRUE : GL_FALSE, vertex_array.stride,
182 reinterpret_cast<GLvoid*>(buffer_offset + attrib.offset)); 182 reinterpret_cast<GLvoid*>(buffer_offset + attrib.offset));
183 glEnableVertexAttribArray(index); 183 glEnableVertexAttribArray(index);
184 hw_vao_enabled_attributes[index] = true; 184 hw_vao_enabled_attributes[index] = true;