From 32a30266545f6fa6e5ddde23c959e1333665704f Mon Sep 17 00:00:00 2001 From: Brad Parker Date: Tue, 6 Dec 2016 19:45:49 -0500 Subject: [PATCH] enable standard derivatives extension for GLES, adds support for complex XMB ribbon --- deps/SPIRV-Cross | 2 +- deps/glslang/glslang | 2 +- gfx/drivers/gl_shaders/shaders_common.h | 3 ++- gfx/drivers_shader/shader_glsl.c | 7 ------- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/deps/SPIRV-Cross b/deps/SPIRV-Cross index b9600aa8d3..cc207e32c8 160000 --- a/deps/SPIRV-Cross +++ b/deps/SPIRV-Cross @@ -1 +1 @@ -Subproject commit b9600aa8d3d1ff4c412d316fcd56c0951addcc33 +Subproject commit cc207e32c8668bfe5a5cc514394e7df8f020ecf6 diff --git a/deps/glslang/glslang b/deps/glslang/glslang index 2eb0986f10..ec2e27adf8 160000 --- a/deps/glslang/glslang +++ b/deps/glslang/glslang @@ -1 +1 @@ -Subproject commit 2eb0986f10392a4c2365869b17b59ad79226c440 +Subproject commit ec2e27adf86a911c5af6c676a539166b5674a09d diff --git a/gfx/drivers/gl_shaders/shaders_common.h b/gfx/drivers/gl_shaders/shaders_common.h index 2213d5d41d..3ea1fbc955 100644 --- a/gfx/drivers/gl_shaders/shaders_common.h +++ b/gfx/drivers/gl_shaders/shaders_common.h @@ -3,7 +3,8 @@ #if defined(HAVE_OPENGLES) #define CG(src) "" #src -#define GLSL(src) "#ifdef GL_ES\n" \ +#define GLSL(src) "#extension GL_OES_standard_derivatives : enable\n" \ + "#ifdef GL_ES\n" \ " #ifdef GL_FRAGMENT_PRECISION_HIGH\n" \ " precision highp float;\n" \ " #else\n" \ diff --git a/gfx/drivers_shader/shader_glsl.c b/gfx/drivers_shader/shader_glsl.c index f79d9625b6..cc0e93a5cb 100644 --- a/gfx/drivers_shader/shader_glsl.c +++ b/gfx/drivers_shader/shader_glsl.c @@ -125,13 +125,11 @@ static const char *glsl_prefixes[] = { #include "../drivers/gl_shaders/pipeline_xmb_ribbon_simple.glsl.frag.h" #include "../drivers/gl_shaders/pipeline_snow.glsl.frag.h" #include "../drivers/gl_shaders/pipeline_snow_simple.glsl.frag.h" -#if !defined(HAVE_OPENGLES) #include "../drivers/gl_shaders/legacy_pipeline_snow.glsl.vert.h" #include "../drivers/gl_shaders/legacy_pipeline_xmb_ribbon.glsl.vert.h" #include "../drivers/gl_shaders/modern_pipeline_xmb_ribbon.glsl.vert.h" #include "../drivers/gl_shaders/pipeline_xmb_ribbon.glsl.frag.h" #endif -#endif typedef struct glsl_shader_data { @@ -934,13 +932,8 @@ static void *gl_glsl_init(void *data, const char *path) } #ifdef HAVE_SHADERPIPELINE -#if defined(HAVE_OPENGLES) - shader_prog_info.vertex = stock_vertex_xmb_ribbon_simple_legacy; - shader_prog_info.fragment = stock_fragment_xmb_ribbon_simple; -#else shader_prog_info.vertex = glsl_core ? stock_vertex_xmb_ribbon_modern : stock_vertex_xmb_ribbon_legacy; shader_prog_info.fragment = stock_fragment_xmb; -#endif shader_prog_info.is_file = false; gl_glsl_compile_program(