From 725ba6cf6336fb0f1be4e5250c15767d60e28259 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sun, 14 Jul 2019 22:25:13 -0300 Subject: gl_rasterizer: Implement compute shaders --- src/video_core/renderer_opengl/gl_shader_util.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/video_core/renderer_opengl/gl_shader_util.cpp') diff --git a/src/video_core/renderer_opengl/gl_shader_util.cpp b/src/video_core/renderer_opengl/gl_shader_util.cpp index 5f3fe067e..bab7d1a49 100644 --- a/src/video_core/renderer_opengl/gl_shader_util.cpp +++ b/src/video_core/renderer_opengl/gl_shader_util.cpp @@ -10,21 +10,25 @@ namespace OpenGL::GLShader { -GLuint LoadShader(const char* source, GLenum type) { - const char* debug_type; +namespace { +constexpr const char* GetStageDebugName(GLenum type) { switch (type) { case GL_VERTEX_SHADER: - debug_type = "vertex"; - break; + return "vertex"; case GL_GEOMETRY_SHADER: - debug_type = "geometry"; - break; + return "geometry"; case GL_FRAGMENT_SHADER: - debug_type = "fragment"; - break; + return "fragment"; + case GL_COMPUTE_SHADER: + return "compute"; default: UNREACHABLE(); } +} +} // Anonymous namespace + +GLuint LoadShader(const char* source, GLenum type) { + const char* debug_type = GetStageDebugName(type); const GLuint shader_id = glCreateShader(type); glShaderSource(shader_id, 1, &source, nullptr); LOG_DEBUG(Render_OpenGL, "Compiling {} shader...", debug_type); -- cgit v1.2.3 From 56bca83bde9432bbc98b00f3fb3caf31b41f1da1 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Mon, 15 Jul 2019 16:29:25 -0300 Subject: gl_shader_cache: Address review commentaries --- src/video_core/renderer_opengl/gl_shader_util.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/video_core/renderer_opengl/gl_shader_util.cpp') diff --git a/src/video_core/renderer_opengl/gl_shader_util.cpp b/src/video_core/renderer_opengl/gl_shader_util.cpp index bab7d1a49..9e74eda0d 100644 --- a/src/video_core/renderer_opengl/gl_shader_util.cpp +++ b/src/video_core/renderer_opengl/gl_shader_util.cpp @@ -11,7 +11,7 @@ namespace OpenGL::GLShader { namespace { -constexpr const char* GetStageDebugName(GLenum type) { +const char* GetStageDebugName(GLenum type) { switch (type) { case GL_VERTEX_SHADER: return "vertex"; @@ -21,9 +21,9 @@ constexpr const char* GetStageDebugName(GLenum type) { return "fragment"; case GL_COMPUTE_SHADER: return "compute"; - default: - UNREACHABLE(); } + UNIMPLEMENTED(); + return "unknown"; } } // Anonymous namespace -- cgit v1.2.3