Merge branch 'master' of github.com:libretro/RetroArch

This commit is contained in:
radius 2016-03-09 15:39:50 -05:00
commit 6a17168739
6 changed files with 56 additions and 6 deletions

View File

@ -17,9 +17,11 @@
#include "../../config.h" #include "../../config.h"
#endif #endif
#ifdef HAVE_X11
#ifdef HAVE_XCB #ifdef HAVE_XCB
#include <X11/Xlib-xcb.h> #include <X11/Xlib-xcb.h>
#endif #endif
#endif
#include <retro_assert.h> #include <retro_assert.h>
#include <dynamic/dylib.h> #include <dynamic/dylib.h>
@ -1485,6 +1487,7 @@ bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk,
#endif #endif
break; break;
case VULKAN_WSI_XCB: case VULKAN_WSI_XCB:
#ifdef HAVE_X11
#ifdef HAVE_XCB #ifdef HAVE_XCB
{ {
VkXcbSurfaceCreateInfoKHR surf_info; VkXcbSurfaceCreateInfoKHR surf_info;
@ -1501,6 +1504,7 @@ bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk,
!= VK_SUCCESS) != VK_SUCCESS)
return false; return false;
} }
#endif
#endif #endif
break; break;
case VULKAN_WSI_MIR: case VULKAN_WSI_MIR:

View File

@ -278,7 +278,7 @@ static gfx_ctx_proc_t gfx_ctx_mali_fbdev_get_proc_address(const char *symbol)
{ {
#ifdef HAVE_EGL #ifdef HAVE_EGL
return egl_get_proc_address(symbol); return egl_get_proc_address(symbol);
#else #endif
} }
static void gfx_ctx_mali_fbdev_bind_hw_render(void *data, bool enable) static void gfx_ctx_mali_fbdev_bind_hw_render(void *data, bool enable)

View File

@ -31,6 +31,10 @@ struct gl_cached_state
GLuint ids[MAX_TEXTURE]; GLuint ids[MAX_TEXTURE];
} bind_textures; } bind_textures;
#ifndef HAVE_OPENGLES
GLenum colorlogicop;
#endif
struct struct
{ {
bool enabled[MAX_ATTRIB]; bool enabled[MAX_ATTRIB];
@ -516,6 +520,17 @@ void rglGetProgramiv(GLuint shader, GLenum pname, GLint *params)
glGetProgramiv(shader, pname, 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) void rglGetShaderiv(GLuint shader, GLenum pname, GLint *params)
{ {
glGetShaderiv(shader, pname, params); glGetShaderiv(shader, pname, params);
@ -526,6 +541,11 @@ void rglAttachShader(GLuint program, GLuint shader)
glAttachShader(program, shader); glAttachShader(program, shader);
} }
GLint rglGetAttribLocation(GLuint program, const GLchar *name)
{
return glGetAttribLocation(program, name);
}
void rglShaderSource(GLuint shader, GLsizei count, void rglShaderSource(GLuint shader, GLsizei count,
const GLchar **string, const GLint *length) const GLchar **string, const GLint *length)
{ {
@ -561,7 +581,7 @@ void rglGetProgramInfoLog(GLuint shader, GLsizei maxLength,
GLboolean rglIsProgram(GLuint program) GLboolean rglIsProgram(GLuint program)
{ {
glIsProgram(program); return glIsProgram(program);
} }
void rglEnableVertexAttribArray(GLuint index) void rglEnableVertexAttribArray(GLuint index)
@ -707,6 +727,10 @@ static void glsm_state_setup(void)
gl_state.cap_translate[SGL_SCISSOR_TEST] = GL_SCISSOR_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_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++) for (i = 0; i < MAX_ATTRIB; i++)
gl_state.vertex_attrib_pointer.enabled[i] = 0; gl_state.vertex_attrib_pointer.enabled[i] = 0;
@ -732,6 +756,10 @@ static void glsm_state_setup(void)
gl_state.depthfunc.func = GL_LESS; gl_state.depthfunc.func = GL_LESS;
#ifndef HAVE_OPENGLES
gl_state.colorlogicop = GL_COPY;
#endif
#ifdef CORE #ifdef CORE
glGenVertexArrays(1, &gl_state.vao); glGenVertexArrays(1, &gl_state.vao);
#endif #endif
@ -812,8 +840,6 @@ static void glsm_state_bind(void)
{ {
if (gl_state.cap_state[i]) if (gl_state.cap_state[i])
glEnable(gl_state.cap_translate[i]); glEnable(gl_state.cap_translate[i]);
else
glDisable(gl_state.cap_translate[i]);
} }
if (gl_state.frontface.used) if (gl_state.frontface.used)
@ -851,7 +877,10 @@ static void glsm_state_unbind(void)
glBindVertexArray(0); glBindVertexArray(0);
#endif #endif
for (i = 0; i < SGL_CAP_MAX; i ++) 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); glBlendFunc(GL_ONE, GL_ZERO);

View File

@ -100,6 +100,9 @@ enum
SGL_DITHER, SGL_DITHER,
SGL_SAMPLE_ALPHA_TO_COVERAGE, SGL_SAMPLE_ALPHA_TO_COVERAGE,
SGL_SAMPLE_COVERAGE, SGL_SAMPLE_COVERAGE,
#ifndef HAVE_OPENGLES
SGL_COLOR_LOGIC_OP,
#endif
SGL_CAP_MAX SGL_CAP_MAX
}; };

View File

@ -61,6 +61,7 @@ extern "C" {
#define glGetProgramiv rglGetProgramiv #define glGetProgramiv rglGetProgramiv
#define glGetShaderiv rglGetShaderiv #define glGetShaderiv rglGetShaderiv
#define glAttachShader rglAttachShader #define glAttachShader rglAttachShader
#define glDetachShader rglDetachShader
#define glShaderSource rglShaderSource #define glShaderSource rglShaderSource
#define glCompileShader rglCompileShader #define glCompileShader rglCompileShader
#define glCreateProgram rglCreateProgram #define glCreateProgram rglCreateProgram
@ -109,6 +110,8 @@ extern "C" {
#define glPolygonOffset rglPolygonOffset #define glPolygonOffset rglPolygonOffset
#define glPixelStorei rglPixelStorei #define glPixelStorei rglPixelStorei
#define glReadBuffer rglReadBuffer #define glReadBuffer rglReadBuffer
#define glUniformMatrix4fv rglUniformMatrix4fv
#define glGetAttribLocation rglGetAttribLocation
void rglReadBuffer(GLenum mode); void rglReadBuffer(GLenum mode);
void rglPixelStorei(GLenum pname, GLint param); void rglPixelStorei(GLenum pname, GLint param);
@ -207,7 +210,10 @@ void rglBlitFramebuffer(
GLint dstX0, GLint dstY0, GLint dstX0, GLint dstY0,
GLint dstX1, GLint dstY1, GLint dstX1, GLint dstY1,
GLbitfield mask, GLenum filter); 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 #ifdef __cplusplus
} }

View File

@ -3210,6 +3210,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
menu_displaylist_parse_settings(menu, info, menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_QUIT_RETROARCH), menu_hash_to_str(MENU_LABEL_QUIT_RETROARCH),
PARSE_ACTION, false); 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 #endif
info->need_push = true; info->need_push = true;
break; break;