summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFernandoS27 <fsahmkow27@gmail.com>2018-10-22 09:27:00 -0400
committerFernandoS27 <fsahmkow27@gmail.com>2018-10-22 09:27:00 -0400
commite2416bbd1fb41daba734e5c18e2eaa16547c3e90 (patch)
treebf571c21e268eeacc7cb33eb3acdd231f744a70c /src
parentf0341216202fe4d9a070a75edd5f998c3587f520 (diff)
Fixed VAOs Float types only returning GL_FLOAT in cases that they had to return GL_HALF_FLOAT
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/maxwell_to_gl.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/maxwell_to_gl.h b/src/video_core/renderer_opengl/maxwell_to_gl.h
index 3c3bcaae4..0f6dcab2b 100644
--- a/src/video_core/renderer_opengl/maxwell_to_gl.h
+++ b/src/video_core/renderer_opengl/maxwell_to_gl.h
@@ -82,8 +82,20 @@ inline GLenum VertexType(Maxwell::VertexAttribute attrib) {
return {};
}
- case Maxwell::VertexAttribute::Type::Float:
- return GL_FLOAT;
+ case Maxwell::VertexAttribute::Type::Float: {
+ switch (attrib.size) {
+ case Maxwell::VertexAttribute::Size::Size_16:
+ case Maxwell::VertexAttribute::Size::Size_16_16:
+ case Maxwell::VertexAttribute::Size::Size_16_16_16:
+ case Maxwell::VertexAttribute::Size::Size_16_16_16_16:
+ return GL_HALF_FLOAT;
+ case Maxwell::VertexAttribute::Size::Size_32:
+ case Maxwell::VertexAttribute::Size::Size_32_32:
+ case Maxwell::VertexAttribute::Size::Size_32_32_32:
+ case Maxwell::VertexAttribute::Size::Size_32_32_32_32:
+ return GL_FLOAT;
+ }
+ }
}
LOG_CRITICAL(Render_OpenGL, "Unimplemented vertex type={}", attrib.TypeString());