glsl: Add support for OES_standard_derivatives in GLSL ES.
authorTomeu Vizoso <tomeu@tomeuvizoso.net>
Mon, 16 Jul 2012 18:45:17 +0000 (20:45 +0200)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 1 Aug 2012 17:44:44 +0000 (10:44 -0700)
Previously, we advertised the extension but the builtin functions
were enabled only for GLSL and not for ES.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52003

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/builtins/profiles/OES_standard_derivatives.frag [new file with mode: 0644]
src/glsl/glsl_parser_extras.cpp
src/glsl/glsl_parser_extras.h

diff --git a/src/glsl/builtins/profiles/OES_standard_derivatives.frag b/src/glsl/builtins/profiles/OES_standard_derivatives.frag
new file mode 100644 (file)
index 0000000..2c6ea07
--- /dev/null
@@ -0,0 +1,20 @@
+#version 100
+#extension GL_OES_standard_derivatives : enable
+
+/*
+ * 8.8 - Fragment Processing Functions
+ */
+float dFdx(float p);
+vec2  dFdx(vec2  p);
+vec3  dFdx(vec3  p);
+vec4  dFdx(vec4  p);
+
+float dFdy(float p);
+vec2  dFdy(vec2  p);
+vec3  dFdy(vec3  p);
+vec4  dFdy(vec4  p);
+
+float fwidth(float p);
+vec2  fwidth(vec2  p);
+vec3  fwidth(vec3  p);
+vec4  fwidth(vec4  p);
index 09e1e590db62bc483a98ff910baaf1ce6cf0c44f..872fcda71c8e4799868113ae381e67704f3042d5 100644 (file)
@@ -288,6 +288,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
    EXT(OES_EGL_image_external,         true,  false, true,  false, true,      OES_EGL_image_external),
    EXT(ARB_shader_bit_encoding,        true,  true,  true,  true,  false,     ARB_shader_bit_encoding),
    EXT(ARB_uniform_buffer_object,      true,  false, true,  true,  false,     ARB_uniform_buffer_object),
+   EXT(OES_standard_derivatives,       false, false, true,  false,  true,     OES_standard_derivatives),
 };
 
 #undef EXT
index c0a96c730c9a710dee773ba6a1949ff8477893a8..66463c5b6dd355d629bbb73daba48efac89b5e39 100644 (file)
@@ -203,6 +203,8 @@ struct _mesa_glsl_parse_state {
    bool ARB_shader_bit_encoding_warn;
    bool ARB_uniform_buffer_object_enable;
    bool ARB_uniform_buffer_object_warn;
+   bool OES_standard_derivatives_enable;
+   bool OES_standard_derivatives_warn;
    /*@}*/
 
    /** Extensions supported by the OpenGL implementation. */