diff options
author | bunnei <bunneidev@gmail.com> | 2018-11-11 17:28:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-11 17:28:20 +0100 |
commit | eaee73f95d4785c36a7e81f1f087e0be52de7e17 (patch) | |
tree | 7350b90238e7fc2325bb8ca1eeab34858c2b595b /src/video_core/renderer_opengl/gl_shader_cache.h | |
parent | Merge pull request #1663 from lioncash/raster (diff) | |
parent | gl_shader_decompiler: Guard out of bound geometry shader input reads (diff) | |
download | yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.tar yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.tar.gz yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.tar.bz2 yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.tar.lz yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.tar.xz yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.tar.zst yuzu-eaee73f95d4785c36a7e81f1f087e0be52de7e17.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_cache.h')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.h b/src/video_core/renderer_opengl/gl_shader_cache.h index 016ab18f9..ffbf21831 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.h +++ b/src/video_core/renderer_opengl/gl_shader_cache.h @@ -48,22 +48,23 @@ public: } switch (primitive_mode) { case GL_POINTS: - return LazyGeometryProgram(geometry_programs.points, "points", "ShaderPoints"); + return LazyGeometryProgram(geometry_programs.points, "points", 1, "ShaderPoints"); case GL_LINES: case GL_LINE_STRIP: - return LazyGeometryProgram(geometry_programs.lines, "lines", "ShaderLines"); + return LazyGeometryProgram(geometry_programs.lines, "lines", 2, "ShaderLines"); case GL_LINES_ADJACENCY: case GL_LINE_STRIP_ADJACENCY: - return LazyGeometryProgram(geometry_programs.lines_adjacency, "lines_adjacency", + return LazyGeometryProgram(geometry_programs.lines_adjacency, "lines_adjacency", 4, "ShaderLinesAdjacency"); case GL_TRIANGLES: case GL_TRIANGLE_STRIP: case GL_TRIANGLE_FAN: - return LazyGeometryProgram(geometry_programs.triangles, "triangles", "ShaderTriangles"); + return LazyGeometryProgram(geometry_programs.triangles, "triangles", 3, + "ShaderTriangles"); case GL_TRIANGLES_ADJACENCY: case GL_TRIANGLE_STRIP_ADJACENCY: return LazyGeometryProgram(geometry_programs.triangles_adjacency, "triangles_adjacency", - "ShaderLines"); + 6, "ShaderTrianglesAdjacency"); default: UNREACHABLE_MSG("Unknown primitive mode."); } @@ -78,7 +79,7 @@ public: private: /// Generates a geometry shader or returns one that already exists. GLuint LazyGeometryProgram(OGLProgram& target_program, const std::string& glsl_topology, - const std::string& debug_name); + u32 max_vertices, const std::string& debug_name); VAddr addr; Maxwell::ShaderProgram program_type; |