mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 00:20:42 -05:00
cogl-shader-boilerplate: Add the 3D texture extension on GLES2
To use the 3D texture extension on GLES2 it has to be enabled with the following line in GLSL: #extension GL_OES_texture_3D : enable
This commit is contained in:
parent
e0a02b2b5b
commit
d1ddca4eee
@ -196,8 +196,8 @@ _cogl_shader_set_source_with_boilerplate (GLuint shader_gl_handle,
|
|||||||
static const char vertex_boilerplate[] = _COGL_VERTEX_SHADER_BOILERPLATE;
|
static const char vertex_boilerplate[] = _COGL_VERTEX_SHADER_BOILERPLATE;
|
||||||
static const char fragment_boilerplate[] = _COGL_FRAGMENT_SHADER_BOILERPLATE;
|
static const char fragment_boilerplate[] = _COGL_FRAGMENT_SHADER_BOILERPLATE;
|
||||||
|
|
||||||
const char **strings = g_alloca (sizeof (char *) * (count_in + 2));
|
const char **strings = g_alloca (sizeof (char *) * (count_in + 3));
|
||||||
GLint *lengths = g_alloca (sizeof (GLint) * (count_in + 2));
|
GLint *lengths = g_alloca (sizeof (GLint) * (count_in + 3));
|
||||||
int count = 0;
|
int count = 0;
|
||||||
#ifdef HAVE_COGL_GLES2
|
#ifdef HAVE_COGL_GLES2
|
||||||
char *tex_coord_declarations = NULL;
|
char *tex_coord_declarations = NULL;
|
||||||
@ -205,6 +205,16 @@ _cogl_shader_set_source_with_boilerplate (GLuint shader_gl_handle,
|
|||||||
|
|
||||||
GET_CONTEXT (ctx, NO_RETVAL);
|
GET_CONTEXT (ctx, NO_RETVAL);
|
||||||
|
|
||||||
|
#ifdef HAVE_COGL_GLES2
|
||||||
|
if (cogl_features_available (COGL_FEATURE_TEXTURE_3D))
|
||||||
|
{
|
||||||
|
static const char texture_3d_extension[] =
|
||||||
|
"#extension GL_OES_texture_3D : enable\n";
|
||||||
|
strings[count] = texture_3d_extension;
|
||||||
|
lengths[count++] = sizeof (texture_3d_extension) - 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (shader_gl_type == GL_VERTEX_SHADER)
|
if (shader_gl_type == GL_VERTEX_SHADER)
|
||||||
{
|
{
|
||||||
strings[count] = vertex_boilerplate;
|
strings[count] = vertex_boilerplate;
|
||||||
|
Loading…
Reference in New Issue
Block a user