From 0de724d066949ddb5aa035b66007c16285e353f0 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 8 Mar 2016 16:09:00 +0100 Subject: [PATCH 1/7] Update glsm --- libretro-common/glsm/glsm.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/libretro-common/glsm/glsm.c b/libretro-common/glsm/glsm.c index 570f79fd3d..b4ee0cb26e 100644 --- a/libretro-common/glsm/glsm.c +++ b/libretro-common/glsm/glsm.c @@ -31,6 +31,8 @@ struct gl_cached_state GLuint ids[MAX_TEXTURE]; } bind_textures; + GLenum colorlogicop; + struct { bool enabled[MAX_ATTRIB]; @@ -516,6 +518,17 @@ void rglGetProgramiv(GLuint shader, GLenum pname, GLint *params) glGetProgramiv(shader, pname, params); } +void rglUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, + const GLfloat *value) +{ + glUniformMatrix4fv(location, count, transpose, value); +} + +void rglDetachShader(GLuint program, GLuint shader) +{ + glDetachShader(program, shader); +} + void rglGetShaderiv(GLuint shader, GLenum pname, GLint *params) { glGetShaderiv(shader, pname, params); @@ -526,6 +539,11 @@ void rglAttachShader(GLuint program, GLuint shader) glAttachShader(program, shader); } +GLint rglGetAttribLocation(GLuint program, const GLchar *name) +{ + return glGetAttribLocation(program, name); +} + void rglShaderSource(GLuint shader, GLsizei count, const GLchar **string, const GLint *length) { @@ -706,6 +724,7 @@ static void glsm_state_setup(void) gl_state.cap_translate[SGL_ALPHA_TEST] = GL_ALPHA_TEST; gl_state.cap_translate[SGL_SCISSOR_TEST] = GL_SCISSOR_TEST; gl_state.cap_translate[SGL_STENCIL_TEST] = GL_STENCIL_TEST; + gl_state.cap_translate[SGL_COLOR_LOGIC_OP] = GL_COLOR_LOGIC_OP; for (i = 0; i < MAX_ATTRIB; i++) gl_state.vertex_attrib_pointer.enabled[i] = 0; @@ -732,6 +751,8 @@ static void glsm_state_setup(void) gl_state.depthfunc.func = GL_LESS; + gl_state.colorlogicop = GL_COPY; + #ifdef CORE glGenVertexArrays(1, &gl_state.vao); #endif @@ -812,8 +833,6 @@ static void glsm_state_bind(void) { if (gl_state.cap_state[i]) glEnable(gl_state.cap_translate[i]); - else - glDisable(gl_state.cap_translate[i]); } if (gl_state.frontface.used) @@ -851,7 +870,10 @@ static void glsm_state_unbind(void) glBindVertexArray(0); #endif for (i = 0; i < SGL_CAP_MAX; i ++) - glDisable(gl_state.cap_translate[i]); + { + if (gl_state.cap_state[i]) + glDisable(gl_state.cap_translate[i]); + } glBlendFunc(GL_ONE, GL_ZERO); From 08ed4d0e57d17071af293a42f458f21f065dcf83 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 8 Mar 2016 16:11:53 +0100 Subject: [PATCH 2/7] Cleanup --- libretro-common/include/glsm/glsm.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libretro-common/include/glsm/glsm.h b/libretro-common/include/glsm/glsm.h index b99d315e5b..6da4583825 100644 --- a/libretro-common/include/glsm/glsm.h +++ b/libretro-common/include/glsm/glsm.h @@ -100,6 +100,7 @@ enum SGL_DITHER, SGL_SAMPLE_ALPHA_TO_COVERAGE, SGL_SAMPLE_COVERAGE, + SGL_COLOR_LOGIC_OP, SGL_CAP_MAX }; From f79418459fea1fdf8b1a9f7456e8f97bf8f5a734 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 9 Mar 2016 09:21:07 +0100 Subject: [PATCH 3/7] Ability to compile now with --enable-wayland and --disable-x11 defined --- gfx/common/vulkan_common.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gfx/common/vulkan_common.c b/gfx/common/vulkan_common.c index e5927c9f1f..75bbc757f5 100644 --- a/gfx/common/vulkan_common.c +++ b/gfx/common/vulkan_common.c @@ -17,9 +17,11 @@ #include "../../config.h" #endif +#ifdef HAVE_X11 #ifdef HAVE_XCB #include #endif +#endif #include #include @@ -1485,6 +1487,7 @@ bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk, #endif break; case VULKAN_WSI_XCB: +#ifdef HAVE_X11 #ifdef HAVE_XCB { VkXcbSurfaceCreateInfoKHR surf_info; @@ -1501,6 +1504,7 @@ bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk, != VK_SUCCESS) return false; } +#endif #endif break; case VULKAN_WSI_MIR: From 341d0f999840a38444be5bf785fa1ffbed080945 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 9 Mar 2016 12:00:45 +0100 Subject: [PATCH 4/7] Update --- libretro-common/glsm/glsm.c | 7 +++++++ libretro-common/include/glsm/glsm.h | 2 ++ libretro-common/include/glsm/glsmsym.h | 8 +++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/libretro-common/glsm/glsm.c b/libretro-common/glsm/glsm.c index b4ee0cb26e..4ad065290c 100644 --- a/libretro-common/glsm/glsm.c +++ b/libretro-common/glsm/glsm.c @@ -31,7 +31,9 @@ struct gl_cached_state GLuint ids[MAX_TEXTURE]; } bind_textures; +#ifndef HAVE_OPENGLES GLenum colorlogicop; +#endif struct { @@ -724,7 +726,10 @@ static void glsm_state_setup(void) gl_state.cap_translate[SGL_ALPHA_TEST] = GL_ALPHA_TEST; gl_state.cap_translate[SGL_SCISSOR_TEST] = GL_SCISSOR_TEST; gl_state.cap_translate[SGL_STENCIL_TEST] = GL_STENCIL_TEST; + +#ifndef HAVE_OPENGLES gl_state.cap_translate[SGL_COLOR_LOGIC_OP] = GL_COLOR_LOGIC_OP; +#endif for (i = 0; i < MAX_ATTRIB; i++) gl_state.vertex_attrib_pointer.enabled[i] = 0; @@ -751,7 +756,9 @@ static void glsm_state_setup(void) gl_state.depthfunc.func = GL_LESS; +#ifndef HAVE_OPENGLES gl_state.colorlogicop = GL_COPY; +#endif #ifdef CORE glGenVertexArrays(1, &gl_state.vao); diff --git a/libretro-common/include/glsm/glsm.h b/libretro-common/include/glsm/glsm.h index 6da4583825..940433cd98 100644 --- a/libretro-common/include/glsm/glsm.h +++ b/libretro-common/include/glsm/glsm.h @@ -100,7 +100,9 @@ enum SGL_DITHER, SGL_SAMPLE_ALPHA_TO_COVERAGE, SGL_SAMPLE_COVERAGE, +#ifndef HAVE_OPENGLES SGL_COLOR_LOGIC_OP, +#endif SGL_CAP_MAX }; diff --git a/libretro-common/include/glsm/glsmsym.h b/libretro-common/include/glsm/glsmsym.h index ea62c8939a..eac9b36276 100644 --- a/libretro-common/include/glsm/glsmsym.h +++ b/libretro-common/include/glsm/glsmsym.h @@ -61,6 +61,7 @@ extern "C" { #define glGetProgramiv rglGetProgramiv #define glGetShaderiv rglGetShaderiv #define glAttachShader rglAttachShader +#define glDetachShader rglDetachShader #define glShaderSource rglShaderSource #define glCompileShader rglCompileShader #define glCreateProgram rglCreateProgram @@ -109,6 +110,8 @@ extern "C" { #define glPolygonOffset rglPolygonOffset #define glPixelStorei rglPixelStorei #define glReadBuffer rglReadBuffer +#define glUniformMatrix4fv rglUniformMatrix4fv +#define glGetAttribLocation rglGetAttribLocation void rglReadBuffer(GLenum mode); void rglPixelStorei(GLenum pname, GLint param); @@ -207,7 +210,10 @@ void rglBlitFramebuffer( GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - +void rglDetachShader(GLuint program, GLuint shader); +void rglUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, + const GLfloat *value); +GLint rglGetAttribLocation(GLuint program, const GLchar *name); #ifdef __cplusplus } From b12367c78141007393dd7161d69393f04f18849d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 9 Mar 2016 12:42:58 +0100 Subject: [PATCH 5/7] Update --- libretro-common/glsm/glsm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretro-common/glsm/glsm.c b/libretro-common/glsm/glsm.c index 4ad065290c..7e36c4c8c7 100644 --- a/libretro-common/glsm/glsm.c +++ b/libretro-common/glsm/glsm.c @@ -581,7 +581,7 @@ void rglGetProgramInfoLog(GLuint shader, GLsizei maxLength, GLboolean rglIsProgram(GLuint program) { - glIsProgram(program); + return glIsProgram(program); } void rglEnableVertexAttribArray(GLuint index) From 1d69f55b37520919e6bf980834c8a754144a9802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Thu, 10 Mar 2016 00:52:17 +0700 Subject: [PATCH 6/7] (Lakka) If HAVE_LAKKA is defined, display Shutdown and Reboot entries in RGUI --- menu/menu_displaylist.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 7a99d9265e..568558e4b6 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3210,6 +3210,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) menu_displaylist_parse_settings(menu, info, menu_hash_to_str(MENU_LABEL_QUIT_RETROARCH), PARSE_ACTION, false); +#endif +#if defined(HAVE_LAKKA) + menu_displaylist_parse_settings(menu, info, + menu_hash_to_str(MENU_LABEL_SHUTDOWN), + PARSE_ACTION, false); + menu_displaylist_parse_settings(menu, info, + menu_hash_to_str(MENU_LABEL_REBOOT), + PARSE_ACTION, false); #endif info->need_push = true; break; From a16ce4a146e8895efb1f8997e3336da6a2afd5ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Thu, 10 Mar 2016 01:50:30 +0700 Subject: [PATCH 7/7] Fix a typo in mali_fbdev_ctx --- gfx/drivers_context/mali_fbdev_ctx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gfx/drivers_context/mali_fbdev_ctx.c b/gfx/drivers_context/mali_fbdev_ctx.c index 55fb7ff3c6..35082a0e67 100644 --- a/gfx/drivers_context/mali_fbdev_ctx.c +++ b/gfx/drivers_context/mali_fbdev_ctx.c @@ -278,7 +278,7 @@ static gfx_ctx_proc_t gfx_ctx_mali_fbdev_get_proc_address(const char *symbol) { #ifdef HAVE_EGL return egl_get_proc_address(symbol); -#else +#endif } static void gfx_ctx_mali_fbdev_bind_hw_render(void *data, bool enable)