Bug 71355 - GLSL: derivatives in ES3 wrongly require OES_standard_derivatives to be enabled
Summary: GLSL: derivatives in ES3 wrongly require OES_standard_derivatives to be enabled
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: glsl-compiler (show other bugs)
Version: git
Hardware: All All
: medium normal
Assignee: Kenneth Graunke
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-07 20:48 UTC by Aras Pranckevicius
Modified: 2013-11-07 23:57 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Aras Pranckevicius 2013-11-07 20:48:30 UTC
OpenGL ES 3.0 shaders wrongly require OES_standard_derivatives to be enabled, in order for dFdx and friends to be available. Looks like builtin_function.cpp, fs_oes_derivatives has wrong logic; it should allow ES 300 without the extension.
Comment 1 Kenneth Graunke 2013-11-07 22:17:45 UTC
Yikes.  Thanks for the report, Aras.  I should have this fixed in a few minutes.
Comment 2 Kenneth Graunke 2013-11-07 22:39:39 UTC
Patch on list:
http://lists.freedesktop.org/archives/mesa-dev/2013-November/048005.html
Comment 3 Kenneth Graunke 2013-11-07 23:57:12 UTC
Fixed in master, so it should work in Mesa 10.0.

commit 1bd623316913fdefa3749809420db27291ef9f0e
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Thu Nov 7 14:39:23 2013 -0800

    glsl: Enable dFdx, dFdy, and fwidth by default in GLSL ES 3.00.
    
    Previously, we only exposed them in desktop GL or with:
    
       #extension GL_OES_standard_derivatives : enable
    
    GLSL ES 3.00 includes these without an extension, so we need to expose
    them by default.
    
    Note that the above #extension line results in an error or desktop GL,
    so we don't need to worry about this.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Matt Turner <mattst88@gmail.com>

It looks like they were already properly available on 9.2.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.