mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +00:00
Merge branch 'master' of github.com:libretro/RetroArch
This commit is contained in:
commit
6a17168739
@ -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:
|
||||||
|
@ -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)
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user