Mesa (gles3): 127 new commits

Matt Turner mattst88 at kemper.freedesktop.org
Tue Dec 4 18:18:32 UTC 2012


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5227e7682719b87c89e3f89cb803ec5be1d02f5
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Nov 30 15:07:54 2012 -0800

    mesa: Return INVALID_ENUM for glReadPixels(..., GL_DEPTH_*, ...) on ES 3
    
    I'm not sure if this is the correct fix. The
    _mesa_es_error_check_format_and_type function (used above in the ES 1
    and 2 cases) was originally added for glTexImage checking and allows
    GL_DEPTH_STENCIL/GL_UNSIGNED_INT_24_8 combinations. Using it in ES 3
    causes other tests to regress.
    
    Fixes es3conform's packed_depth_stencil_error test.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d77f03495ef6a2ab831c002670aa596248606af
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Nov 30 15:07:18 2012 -0800

    mesa: Return INVALID_OPERATION when type is known but not allowed
    
    INVALID_ENUM is for when the type is simply not known.
    
    Fixes part of es3conform's packed_depth_stencil_error test.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4c1a4c07ddfed6ffa44283db6aabf19d6d59e83
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Nov 30 11:10:20 2012 -0800

    mesa: Use _mesa_lookup_enum_by_nr in tex*_error_check
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=db6157ee43da201539c7867de3e59d5f9d524576
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Nov 28 21:45:19 2012 -0800

    mesa: Allow HALF_FLOAT in glVertexAttribPointer
    
    Fixes es3conform's half_float_max_vertex_dimensions and
    half_float_textures tests.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2ae2cb6b6b9c564359121c418bc13fa6cf087f6
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 29 12:43:39 2012 -0800

    mesa/tests: Add ARB_ES3_compatibility enums

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c63cb4f71787d61bf243f35fe7c38a532e712f37
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Nov 28 12:19:35 2012 -0800

    mesa: Support querying GL_MAX_ELEMENT_INDEX in ES 3
    
    The ES 3 spec says that the minumum allowable value is 2^24-1, but the
    GL 4.3 and ARB_ES3_compatibility specs require 2^32-1, so return 2^32-1.
    
    Fixes es3conform's element_index_uint_constants test.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d88f35442c6f9048224f6d2a0c083d77f20b1f8a
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 20 12:07:40 2012 -0800

    mesa: De-duplicate ES2 queries
    
    The first hunk of removed code is inside an "apis": ["GL", "GLES",
    "GL_CORE"] block. GLES exposing ES2_compatibility is nonsense.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=67a2651fe0f4df51e690e7f18125927675aa07c3
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Nov 28 12:12:09 2012 -0800

    glapi: Add enums for ARB_ES3_compatibility

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cf2e654511959582d99c769ad53d161e24d0e00
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Nov 28 12:03:26 2012 -0800

    glapi: Move ARB_base_instance to the correct location
    
    It's #107, it shouldn't be added after the #116 comment.
    
    Reviewed-by: Fredrik Höglund <fredrik at kde.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b69f76ad87397d5a267b8922ee2e66287cf75dc8
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 27 12:18:02 2012 -0800

    glcpp: Reject token pasting operator in GLES
    
    The GLSL ES 3.0 spec (Section 12.17) says:
    "GLSL ES 1.00 removed token pasting and other functionality."
    
    NOTE: This is a candidate for the stable branches.
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Carl Worth <cworth at cworth.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff33cf9f3ea25a486a04747ead29fd55d3e813e1
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 20 13:45:03 2012 -0800

    mesa: Reject texture-only formats as renderbuffer formats in ES 3
    
    ES 3 specifies some formats as texture-only (i.e., not available for
    renderbuffers).
    
    See the "Required Texture Formats" section (pg 126) of the ES 3 spec.
    
    Fixes es3conform's color_buffer_unsupported_format test.
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09b2fd0f75b4af1f93e08bc5193b629e0fc170da
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Tue Nov 20 13:43:11 2012 -0800

    egl/dri2: Add plumbing for EGL_OPENGL_ES3_BIT_KHR
    
    Fixes error EGL_BAD_ATTRIBUTE in the tests below on Intel Sandybridge:
        * piglit egl-create-context-verify-gl-flavor, testcase OpenGL ES 3.0
        * gles3conform, revision 19700, when runnning GL3Tests with -fbo
    
    This plumbing is added in order to comply with the EGL_KHR_create_context
    spec. According to the EGL_KHR_create_context spec, it is illegal to call
    eglCreateContext(EGL_CONTEXT_MAJOR_VERSION_KHR=3) with a config whose
    EGL_RENDERABLE_TYPE does not contain the EGL_OPENGL_ES3_BIT_KHR. The
    pertinent
    portion of the spec is quoted below; the key word is "respectively".
    
      * If <config> is not a valid EGLConfig, or does not support the
        requested client API, then an EGL_BAD_CONFIG error is generated
        (this includes requesting creation of an OpenGL ES 1.x, 2.0, or
        3.0 context when the EGL_RENDERABLE_TYPE attribute of <config>
        does not contain EGL_OPENGL_ES_BIT, EGL_OPENGL_ES2_BIT, or
        EGL_OPENGL_ES3_BIT_KHR respectively).
    
    To create this patch, I searched for all the ES2 bit plumbing by calling
    `git grep "ES2_BIT\|DRI_API_GLES2" src/egl`, and then at each location
    added a case for ES3.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=16a8dd49bc2a59e7aef385391fc210d1b1070a61
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Wed Nov 21 16:55:43 2012 -0800

    intel: Expose support for DRI_API_GLES3
    
    If the hardware/driver combo supports GLES3, then set the GLES3 bit in
    intel_screen's bitmask of supported DRI API's.  Neither the EGL nor GLX
    layer uses the bit yet.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78cd79ea00dcef774cec6f7b4be14ee83ad72096
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Tue Nov 20 13:27:14 2012 -0800

    dri: Define enum __DRI_API_GLES3
    
    This enum corresponds to EGL_OPENGL_ES3_BIT_KHR.
    Neither the GLX nor EGL layer use the enum yet.
    
    I don't like the GLES bits. I'd prefer that all GLES APIs be exposed
    through a single API bit, as is done in GLX_EXT_create_context_es_profile.
    But, we need this GLES3 enum in order to do the plumbing necessary to
    correctly support EGL_OPENGL_ES3_BIT_KHR as required by the
    EGL_KHR_create_context spec.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=325a4a9a66f60da58633c5b6dc2f03dbc713f217
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Wed Nov 21 16:22:19 2012 -0800

    intel: Move validation of context version into intelInitContext
    
    Each driver (i830, i915, i965) used independent but similar code to
    validate the requested context version. With the rececnt arrival of GLES3,
    that logic has needed an update. Rather than apply identical updates to
    each drivers validation code, let's just move the validation into the
    shared routine intelInitContext.
    
    This refactor required some incidental changes to functions
    i830CreateContext and intelInitContext. For each function, this patch:
        - Adds context version parameters to the signature.
        - Adds a DRI_CTX_ERROR out param to the signature.
        - Sets the DRI_CTX_ERROR at each early return.
    
    Tested against gen6 with piglit egl-create-context-verify-gl-flavor.
    Verified that this patch does not change the set of exposed EGL context
    flavors.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ca7242a0b21fd6beb2fd835216ea4582c3f2acd
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Wed Nov 21 15:08:27 2012 -0800

    intel: Set screen's api mask according to hw capabilities (v3)
    
    Before this patch, intelInitScreen2 set DRIScreen::api_mask with the hacky
    heuristic below:
    
        if (gen >= 3)
            api_mask = GL | GLES1 | GLES2;
        else
            api_mask = 0;
    
    This hack was likely broken on gen2 (i830), but I don't care enough to
    properly investigate. It appears that every EGLConfig on i830 has
    EGL_RENDERABLE_TYPE=0, and thus eglCreateContext will never succeed.
    Anyway, moving on to living drivers...
    
    With the arrival of EGL_OPENGL_ES3_BIT_KHR, this heuristic is now
    insufficient. We must enable the GLES3 bit if and only if the driver is
    capable of creating a GLES3 context. This requires us to determine the
    maximum supported context version supported by the hardware/driver for
    each api *during initialization of intel_screen*.
    
    Therefore, this patch adds four new fields to intel_screen which indicate
    the maximum supported context version for each api:
      max_gl_core_version
      max_gl_compat_version
      max_gl_es1_version
      max_gl_es2_version
    
    The api mask is now correctly set as:
    
        api_mask = GL;
        if (max_gl_es1_version > 0)
            api_mask |= GLES1;
        if (max_gl_es2_version > 0)
            api_mask |= GLES2;
    
    Tested against gen6 with piglit egl-create-context-verify-gl-flavor.
    Verified that this patch does not change the set of exposed EGL context
    flavors.
    
    v2:
      - Replace the if-tree on gen with a switch, for Ian.
      - Unconditionally enable the DRI_API_OPENGL bit, for Ian.
    
    v3:
      - Drop max gl version to 1.4 on gen3 if !has_occlusion_query,
        because occlusion queries entered core in 1.5. For Ian.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ef1dc56f881b3c824d4fc1244d369beaa9800fc
Author: Carl Worth <cworth at cworth.org>
Date:   Mon Nov 26 15:00:05 2012 -0800

    glcpp: Make undefined macros illegal in #if and #elif for GLES3
    
    Simply emitting a nicely-formatted error message if any undefined macro is
    encountered in a parser context expecting an expression.
    
    With this commit, the following piglit test now passes:
    
    	spec/glsl-es-3.00/compiler/undefined-macro.vert
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46dde922052ed03d503f3707ca7e11723a904f8b
Author: Carl Worth <cworth at cworth.org>
Date:   Mon Nov 26 14:53:54 2012 -0800

    glcpp: Add a flag to the parser state to indicate GLES.
    
    This can be triggered either by creation of a GLES context (with
    api == API_OPENGLES2) or else by a #version directive with version
    value 100 or with a string of "es" following the version value.
    
    There's no behavioral change with this commit—just preparation for ES-specific
    behavior in the preprocessor in the future.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8de07eba0fcf281e7921079040a0f93ba0855137
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 20 13:01:04 2012 -0800

    mesa: Rename and wire-up GetInteger64i_v
    
    The function was named badly and wasn't in the dispatch table,
    making it hard to find.
    
    Fixes transform_feedback2_states and gets a few other transform
    feedback tests closer to working in es3conform.
    
    Reviewed-by Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=083e633d1ab3c009ff9edc5040060d7e19bfcb61
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 20 12:56:52 2012 -0800

    mesa: Correct glGet{Boolean,Integer}i_v names
    
    Reviewed-by Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18795a0faae81da6f49020d1ade52bc9580be249
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Nov 21 15:06:10 2012 -0800

    mesa: Allow glGet* queries on EXT_texture_lod_bias data in ES 3
    
    Fixes the remaining 4 texture_lod_bias failures in es3conform.
    
    Tested-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6fef84204e8be912a3c0318754857a6882bf9ae
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Tue Nov 20 17:04:45 2012 -0800

    mesa: Support more glGet enums for ES3
    
    For glGetIntegerv, add support for the following in an OpenGL ES 3.0
    context:
        GL_MAJOR_VERSION
        GL_MINOR_VERSION
        GL_NUM_EXTENSIONS
    
    See Table 6.29 of the OpenGL ES 3.0 spec.
    
    Fixes error GL_INVALID_ENUM in piglit egl-create-context-verify-gl-flavor,
    testcase for OpenGL ES 3.0.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27a79fa6049e3705e309cb0c5d0883316523a34c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 19 21:59:59 2012 -0800

    meta: Use #version 300 es for _mesa_glsl_Clear's integer shaders on ES3.
    
    Fixes es3conform's color_buffer_float_clamp_(fixed|on|off) tests.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4fbf16f8653296b097252ba1d366cd386664016
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 19 21:51:25 2012 -0800

    meta: Use #version 300 es in GenerateMipmap shaders on ES3.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=140ed6837887b59236af4667fc505380eda1d2ca
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Nov 16 13:40:59 2012 -0800

    mesa: assert if driver did not compute the version
    
    Make sure drivers initialize the version before:
     * _mesa_initialize_exec_table is called
     * _mesa_initialize_exec_table_vbo is called
     * A context is made current
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1b448876a2093685ec9f8e86827120940eda059
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Mon Nov 19 11:21:05 2012 -0800

    mesa: don't initialize VBO vtxfmt in _vbo_CreateContext
    
    The driver should call _mesa_initialize_vbo_vtxfmt after
    computing the context version.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8beb26b6d45610fb044e937b82269eaedb91ef8
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Nov 16 10:42:02 2012 -0800

    mesa: don't initialize exec dispatch tables in _mesa_initialize_context
    
    Drivers must compute the context version, and then call
    _mesa_initialize_exec_table themselves.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b0ecf3d38811aec2886c36e0e250aad8f3d46f3b
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Nov 16 18:25:35 2012 -0800

    mesa dispatch_sanity: call new functions to initialize exec table
    
    In a future patch the exec functions will no longer set up
    by _mesa_initialize_context and _vbo_CreateContext.
    
    Therefore we must call _mesa_initialize_exec_table and
    _mesa_initialize_exec_table_vbo.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c929eb6a949c5e578b029b7f5b62333049c0ff0
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Nov 16 10:30:19 2012 -0800

    drivers: compute version and then initialize exec table
    
    This change forces the context version to be computed before
    initilizing the exec dispatch tables.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a05a3bebb5017b5c8c7679284c63e7bc8dc5bf48
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Mon Nov 19 11:17:39 2012 -0800

    vbo: add _mesa_initialize_vbo_vtxfmt
    
    This function initializes the exec/save dispatch tables
    for VBO vtxfmt.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e8f8e0fd3a6c4e242e040de7095b6552e100879
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Nov 16 10:27:13 2012 -0800

    mesa: separate exec allocation from initialization
    
    In glapi/gl_genexec.py:
    * Remove _mesa_alloc_dispatch_table call
    
    In glapi/gl_genexec.py and api_exec.h:
    * Rename _mesa_create_exec_table to _mesa_initialize_exec_table
    
    In context.c:
    * Call _mesa_alloc_dispatch_table instead of _mesa_create_exec_table
    * Call _mesa_initialize_exec_table (this is temporary)
    
    Once all drivers have been modified to call
    _mesa_initialize_exec_table, then the call to
    _mesa_initialize_context can be removed from context.c.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d42cd262e2a86a0a066ebda712470220804288e
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Wed Nov 21 09:28:36 2012 -0800

    i965: Bump maximum supported ES2 context version to 3.0
    
    Since patch "i965: Validate requested GLES context version in
    brwCreateContext", we have been able to create ES 3.0 contexts due to the
    max version check.  So...bump the max version.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94bda1b5fc85b39ee7b12d7b6ebb2df3892d8029
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Nov 17 17:39:35 2012 -0800

    mesa: Allow glGet* queries on EXT_framebuffer_blit data in ES 3
    
    Fixes 2 framebuffer_blit es3conform tests.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f28db2841bd6e9d97ee3804f068b091a071173ba
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Nov 17 16:38:05 2012 -0800

    mesa: Allow glGet* queries on ARB_fragment/vertex_shader data in ES 3
    
    Fixes uniform_buffer_object_implementation_dependent_limits in
    es3conform.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=684d55f1d351ec1df5bcae198597c0f666544fd5
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 22:13:48 2012 -0800

    mesa: Allow GL_DEPTH_STENCIL_ATTACHMENT in ES 3
    
    Fixes framebuffer_srgb_default_encoding_fbo and 5 packed_depth_stencil
    tests from es3conform.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86db88b45f17a02afd89dc4d5cd56dde91ad5ff2
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 22:05:27 2012 -0800

    mesa: Allow glGet* queries on ARB_framebuffer_object data in ES 3
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6eba10e4cff1e9ee133f5ab09b27d45895f75b2
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 21:55:05 2012 -0800

    mesa: Allow glGet* queries on ARB_transform_feedback2 data in ES 3
    
    Fixes the transform_feedback2_init_defaults test from es3conform.
    
    The ES 3 spec lists these as TRANSFORM_FEEDBACK_PAUSED and
    TRANSFORM_FEEDBACK_ACTIVE.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e2e7c9b33b28209c2cee99c17f44197416c95d3
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 21:41:14 2012 -0800

    mesa: Allow glGet* queries on EXT_transform_feedback data in ES 3
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=adb18008b7e1e872ea4c1cc65313186e5f1a657c
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 21:19:01 2012 -0800

    mesa: Allow glGet* queries on ARB_sync data in ES 3
    
    Fixes the sync_coverage_max_server_wait_timeout test in es3conform.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f866b19cbd700b7ea92c8c0b0f80dfa3ac0bf07c
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 15:57:16 2012 -0800

    mesa: Allow glGet* queries of EXT_pbo data in ES 3
    
    Fixes pixel_buffer_object_default_binding and gets other tests in
    es3conform closer to passing.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a106dca01b1d212e9832c7da5847d02546bbd96
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 15:40:32 2012 -0800

    mesa: Allow glGet* queries of select ARB_ubo data in ES 3
    
    Fixes 5 uniform_buffer_object tests in es3conform
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2b0210bb394a607a2fcc84db89486122b499563
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 15 15:47:18 2012 -0800

    mesa: Add ES 3 handling to get.c
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad032ffacc488cb71b902fd305f0b7599624829e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Nov 17 21:23:28 2012 -0800

    mesa: Fix default value of BUFFER_ACCESS_FLAGS.
    
    According to both the GL 3.0 and ES 3.0 specifications (table 2.7 for GL
    and table 2.8 for ES), the default value of BUFFER_ACCESS_FLAGS is
    supposed to be zero.
    
    Note that there are two related quantities: the obsolete BUFFER_ACCESS
    enum and the new BUFFER_ACCESS_FLAGS bitfield.
    
    BUFFER_ACCESS can only be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE;
    BUFFER_ACCESS_FLAGS can easily represent all three via GL_MAP_WRITE_BIT,
    GL_MAP_READ_BIT, and their logical or.  It also supports more flags.
    
    Thus, Mesa only stores the bitfield, and simply computes the old enum
    when queried, via simplified_access_mode(bufObj->AccessFlags).
    
    The tricky part is that, while BUFFER_ACCESS_FLAGS defaults to 0,
    BUFFER_ACCESS defaults to GL_READ_WRITE for desktop [GL 3.0, table 2.8]
    and GL_WRITE_ONLY_OES for ES [the GL_EXT_map_buffer_range extension].
    
    Mesa tried to implement this by setting the default AccessFlags to
    GL_MAP_READ_BIT | GL_MAP_WRITE_BIT on desktop, and GL_MAP_WRITE_BIT on
    ES.  But in all specifications, it needs to be 0.
    
    This patch moves that logic into simplified_access_mode(): when
    AccessFlags == 0, it now returns GL_READ_WRITE for desktop and
    GL_WRITE_ONLY for ES 1/2.  (BUFFER_ACCESS doesn't exist on ES 3.0,
    so it's irrelevant there.)
    
    With that in place, it changes the AccessFlags default to 0.
    
    Fixes three es3conform tsets:
    - copy_buffer_defaults
    - map_buffer_range_modify_indices
    - pixel_buffer_object_default_parameters

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e129bd39b210f5b47e07fc8bd56a4640d275a82
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Nov 16 14:52:01 2012 -0800

    mesa: Rework crazy error code rules in glDrawBuffers().
    
    Perhaps most importantly, this patch adds comments quoting the relevant
    spec paragraphs above each error condition.
    
    It also makes three changes:
    - For FBOs, GL_COLOR_ATTACHMENTm where m >= MaxDrawBuffers is supposed
      to generate INVALID_OPERATION (not INVALID_ENUM).
    - Constants that refer to multiple buffers (such as FRONT, BACK, LEFT,
      RIGHT, and FRONT_AND_BACK) are supposed to generate INVALID_OPERATION,
      not INVALID_ENUM.
    - In ES 3.0, for FBOs, buffers[i] must be NONE or GL_COLOR_ATTACHMENTi
      or else INVALID_OPERATION occurs.  (This is a new restriction.)
    
    Fixes es3conform's draw-buffers-api test.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae40342c7eead2cc17d887bc9fd0a28255a6f25e
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Nov 9 10:23:30 2012 -0800

    i965: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE
    
    We just treat this as an alias for GL_ANY_SAMPLES_PASSED.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5784722ec3aa4dd241d819f33830c226b29eb37f
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Sep 17 14:52:10 2012 -0700

    intel: Enable ETC2 support on intel hardware
    
    This patch enables support for ETC2 compressed textures on
    all intel hardware. At present, ETC2 texture decoding is not
    available on intel hardware. So, compressed ETC2 texture data
    is decoded in software and stored in a suitable uncompressed
    MESA_FORMAT at the time of glCompressedTexImage2D. Currently,
    ETC2 formats are only exposed in OpenGL ES 3.0.
    
    V2: Use single etc_wraps variable for both etc1 and etc2.
    V3: Remove redundant code and use just one intel_miptree_map_etc()
        and intel_miptree_unmap_etc() function.
        Choose MESA_FORMAT_SIGNED_{R16, GR1616} for ETC2 signed-{r11, rg11}
        formats
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Tested-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2efc07a3890d3ca28cd60701678821746deb9082
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Oct 23 12:22:20 2012 -0700

    mesa: Add decoding functions for GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
    
    Data in GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 format is decoded and stored
    in MESA_FORMAT_SARGB.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=63da2306779bf5f5915980a1c026510e3d54c57a
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Oct 22 13:34:30 2012 -0700

    mesa: Add decoding functions for GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
    
    Data in GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 format is decoded and stored
    in MESA_FORMAT_RGBA8888_REV.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7bd3a39f2079d97c7847eee6257f5f568097e417
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Wed Oct 10 13:46:20 2012 -0700

    mesa: Add decoding functions for GL_COMPRESSED_SIGNED_RG11_EAC
    
    Data in GL_COMPRESSED_SIGNED_RG11_EAC format is decoded and stored in
    MESA_FORMAT_SIGNED_GR1616.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7442bdf4868c6690114af245609530030421e23b
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Oct 9 17:02:37 2012 -0700

    mesa: Add decoding functions for GL_COMPRESSED_SIGNED_R11_EAC
    
    Data in GL_COMPRESSED_SIGNED_R11_EAC format is decoded and stored in
    MESA_FORMAT_SIGNED_R16.
    
    v2:
    16 bit signed data is converted to 16 bit unsigned data by
    adding 2 ^ 15 and stored in an unsigned texture format.
    
    v3:
    1. Handle a corner case when base code word value is -128. As per
    OpenGL ES 3.0 specification -128 is not an allowed value and should
    be truncated to -127.
    2. Converting a decoded 16 bit signed data to 16 bit unsigned data by
    adding 2 ^ 15 gives us an output which matches the decompressed image
    (.ppm) generated by ericsson's etcpack tool. ericsson is also doing this
    conversion in their tool because .ppm image files don't support signed
    data. But gles 3.0 specification doesn't suggest this conversion. We
    need to keep the decoded data in signed format. Both signed format
    tests in gles3 conformance pass with these changes.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Tested-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df1ca85e4d08996c3e9b239590a66f7c020bb54c
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Nov 12 16:32:08 2012 -0800

    mesa: Add decoding functions for GL_COMPRESSED_RG11_EAC
    
    Data in GL_COMPRESSED_RG11_EAC format is decoded and stored in
    MESA_FORMAT_RG1616.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=96d78695ef247c6b0251c24067c5eb938d0c28cb
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Nov 12 16:28:07 2012 -0800

    mesa: Add decoding functions for GL_COMPRESSED_R11_EAC
    
    Data in GL_COMPRESSED_R11_EAC format is decoded and stored in
    MESA_FORMAT_R16.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4c40e5d660d02d9eb7d82f9ea99a00bd8e61f22
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Nov 12 16:13:25 2012 -0800

    mesa: Add decoding functions for GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
    
    Data in GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC format is decoded and stored
    in MESA_FORMAT_SARGB8.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d48b25255bbced0229ef17b241759bb8bb4104ef
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Nov 12 15:58:25 2012 -0800

    mesa: Add decoding functions for GL_COMPRESSED_RGBA8_ETC2_EAC
    
    Data in GL_COMPRESSED_RGBA8_ETC2_EAC format is decoded and stored
    in MESA_FORMAT_RGBA8888_REV.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28b5b18b3bd91d8df76d8b8bb5621f26484ab31d
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Thu Sep 27 17:05:24 2012 -0700

    mesa: Add decoding functions for GL_COMPRESSED_SRGB8_ETC2
    
    Data in GL_COMPRESSED_SRGB8_ETC2 format is decoded and stored
    in MESA_FORMAT_SARGB8.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=060a69f16578f1c199c7f345d2b59f59bbd668eb
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Sep 17 14:47:56 2012 -0700

    mesa: Add decoding functions for GL_COMPRESSED_RGB8_ETC2
    
    Data in GL_COMPRESSED_RGB8_ETC2 format is decoded and stored in
    MESA_FORMAT_RGBX8888_REV.
    
    v2: Use CLAMP macro and stdbool.h
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40c6c6cbadc7b7eb682cebb9066f44b31c26f238
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Nov 12 17:58:46 2012 -0800

    mesa: Make nonlinear_to_linear() function available outside file
    
    This patch changes nonlinear_to_linear() function to non static inline
    and makes it available outside format_unpack.c. Also, removes the
    duplicate copies in other files.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce909d865687200ba408d46ae61eb0d82efacc24
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Nov 5 17:45:18 2012 -0800

    mesa: Add new MESA_FORMATs for ETC2 compressed textures
    
    It is required by OpenGL ES 3.0 to support ETC2 textures.
    This patch adds new MESA_FORMATs for following etc2 texture
    formats:
     GL_COMPRESSED_RGB8_ETC2
     GL_COMPRESSED_SRGB8_ETC2
     GL_COMPRESSED_RGBA8_ETC2_EAC
     GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
     GL_COMPRESSED_R11_EAC
     GL_COMPRESSED_RG11_EAC
     GL_COMPRESSED_SIGNED_R11_EAC
     GL_COMPRESSED_SIGNED_RG11_EAC
     MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1
     MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1
    
    Above formats are currently available in only gles 3.0.
    
    v2: Add entries in texfetch_funcs[] array.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    
    v3 (Paul Berry <stereotype441 at gmail.com>): comment out symbols that
    are not implemented yet, so that this commit compiles on its own;
    future commits will uncomment the symbols as they become available.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b04236b7f256ff02570de2f77975c4c341c39d0
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Aug 7 12:39:30 2012 -0700

    i965/Gen6+: Enable ARB_ES3_compatibility extension
    
    IMPORTANT: this patch should not be pushed to master until ES3 support
    is fully implemented on i965/Gen6+.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c90fd2d875076d2ac12c98f0e2108baeb7844d76
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Aug 8 15:25:00 2012 -0700

    mesa/es3: Enable ES 3.0 API and shading language version
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=74c7ff4d26b923974611fa55228f792de70e84b3
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Aug 10 22:28:27 2012 -0700

    mesa/es3: Add support for GL_PRIMITIVE_RESTART_FIXED_INDEX
    
    This requires some derived state.  The cut vertex used is either the
    value specified by glPrimitiveRestartIndex or it's hard-coded to ~0.
    The derived state gl_array_attrib::_RestartIndex captures this value.
    In addition, the derived state gl_array_attrib::_PrimitiveRestart is set
    whenever either gl_array_attrib::PrimitiveRestart or
    gl_array_attrib::PrimitiveRestartFixedIndex is set.
    
    v2: Use _mesa_is_gles3.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffa9d67af6bbb6a800977683de44ce66711b3d4d
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Aug 8 11:30:42 2012 -0700

    Set es_version to false when using FF fragment shading in meta ops

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=218fbb55631ea16be0e694335960642f992f0f8b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Aug 10 21:38:21 2012 -0700

    mesa/es3: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE query target
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=786f1d41ea423c53f25268dbb0e5f1379dbdd57f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Aug 8 13:11:32 2012 -0700

    mesa/es3: Allow transpose matrix uniforms in GLES3
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d92ed2e159c1ec3efcc72b89238d637712ce0075
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 19 22:36:28 2012 -0800

    glsl: Add missing semicolon in the grammar
    
    This may not be strictly necessary, but every other rule in the grammar ends
    with a semicolon.  It also appears that this was supposed to be commited with
    the original patch that changed this rule, but the wrong version of the patch
    was accidentally pushed.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c660bca77616f8092e6d8641a4cc3a80a5c59b24
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Nov 9 12:26:42 2012 -0800

    glsl: Allow layout qualifiers in GLSL 3.00 ES
    
    Note that while 'packed' is a reserved word in GLSL ES, row_major is not.
    This means that we have to use the string-based matching for that.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30b945004551a7bd85393c1477b943bf9259ceba
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Aug 4 15:42:33 2012 -0700

    glsl: Create builtin function profiles for GLSL 3.00 ES.
    
    Nearly all of the builtin functions in GLSL 3.00 ES are already
    implemented in Mesa; this patch enables them.
    
    A few functions are not implemented yet; those have been commented
    out, with a FIXME comment to act as a reminder of what still needs to
    be implemented.  Here is the complete list: packSnorm2x16,
    unpackSnorm2x16, packUnorm2x16, unpackUnorm2x16, packHalf2x16,
    unpackHalf2x16.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=61275c3f00a4f44feea52b8d9a9a640ddb2ff38d
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Mon Aug 6 14:36:31 2012 -0700

    glsl: add determinant() functions.
    
    These functions are defined in GLSL 1.50 and GLES 3.00 ES.
    
    The formulas have been extracted from the existing implementation of
    inverse().
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa1c2f4c14e0601689efc86a15336f5564d625c0
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Aug 4 10:43:53 2012 -0700

    glsl: Make builtin function profiles for GLSL ES use "es" in the filename.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=85a0781aacdb048cf1a5a70532afdd5eb333f618
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Aug 4 10:29:49 2012 -0700

    glsl: Add builtin variables for GLSL 3.00 ES.
    
    This patch also adds assertions so that when we add new GLSL versions,
    we'll notice that we need to update the builtin variables.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41fae256790c83143082f4a711e814798a71ed03
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 13:38:57 2012 -0700

    glsl: Populate built-in types correctly for GLSL 3.00 ES.
    
    This patch implements all of the built-in types for GLSL 3.00 ES.
    This is almost exactly the same as the set of built-in types for GLSL
    1.30, except ate 1D samplers are skipped, and samplerCubeShadow is
    added.
    
    This patch also addes an assertion so that when we add new GLSL
    versions, we'll notice that we need to update the types.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=db725cd7edd41bff8dde2a4b9b5edf6a2d56b438
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Aug 4 10:00:20 2012 -0700

    glsl: Make {Min,Max}ProgramTexelOffset available to compiler.
    
    These constants need to be made available to shaders in GLSL 3.00 ES.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4a325120046555916de2754cd1cd7a193643850
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 17:51:02 2012 -0700

    glsl: Fix linker checks for GLSL ES 3.00.
    
    This patch updates the following linker checks to do the right thing
    in GLSL 3.00 ES:
    
    - Failing to write to gl_Position is allowed in GLSL 1.40+ as well as
      GLSL 3.00 ES.
    
    - It is an error to write to both gl_ClipVertex and gl_ClipDistance in
      GLSL 1.30+.  This does not apply to GLSL 3.00 ES.
    
    - GLSL 3.00 ES uses the same varying counting rules as GLSL 1.00 ES.
    
    - In GLSL 1.30 and GLSL 3.00 ES, "discard" terminates the shader.
    
    - In GLSL 1.00 ES and GLSL 3.00 ES, both a fragment and a vertex
      shader must be present.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36a985c06db7a64aebcfe4724222cfcc2a62300e
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 17:50:43 2012 -0700

    glsl: Record in gl_shader_program whether the program uses GLSL ES.
    
    Previously we recorded just the GLSL version (or the max version, if
    GLSL 1.10 and GLSL 1.20 programs were linked together).
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1abf22154269ce811456a42cfb7f5eada5cd6b1d
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 17:49:44 2012 -0700

    glsl: Clean up shading language mixing check for GLSL 3.00 ES.
    
    Previously, we prohibited mixing of shading language versions if
    min_version == 100 or max_version >= 130.  This was technically
    correct (since desktop GLSL 1.30 and beyond prohibit mixing of shading
    language versions, as does GLSL 1.00 ES), but it was confusing.  Also,
    we asserted that all shading language versions were between 1.00 and
    1.40, which was unnecessary (since the parser already checks shading
    language versions) and doesn't work for GLSL 3.00 ES.
    
    This patch changes the code to explicitly check that (a) ES shaders
    aren't mixed with desktop shaders, (b) shaders aren't mixed between ES
    versions, and (c) shaders aren't mixed between desktop GLSL versions
    when at least one shader is GLSL 1.30 or greater.  Also, it removes
    the unnecessary assertion.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f440c8f56124e210620ff2492579d2bb6fb9bab
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 17:47:49 2012 -0700

    glsl: Record in gl_shader whether the shader uses GLSL ES.
    
    Previously we recorded just the GLSL version, with the knowledge that
    100 means GLSL 1.00 ES.  With the advent of GLSL 3.00 ES, this is
    going to get more complex, and eventually will probably become
    ambiguous (GLSL 4.00 already exists, and GLSL 4.00 ES is likely to be
    created some day).
    
    To reduce confusion, this patch simply records whether the shader is
    GLSL ES as an explicit boolean.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b57f9359354c205e2cd835ee1c8914e81f45a59
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 11:17:30 2012 -0700

    glsl/parser: Handle "#version 300 es" directive.
    
    Note that GLSL 1.00 is selected using "#version 100", so "#version 100
    es" is prohibited.
    
    v2: Check for GLES3 before allowing '#version 300 es'
    
    v3: Make sure a correct language_version is set in
    _mesa_glsl_parse_state::process_version_directive.
    
    Signed-off-by: Paul Berry <stereotype441 at gmail.com>
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=636a97065ffe301a53642ef9841359f2eff1614c
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 11:02:55 2012 -0700

    glsl/parser: Extract version directive processing into a function.
    
    Version directive handling is going to have to be used within two
    parser rules, one for desktop-style version directives (e.g. "#version
    130") and one for the new ES-style version directive (e.g. "#version
    300 es"), so this patch moves it to a function that can be called from
    both rules.
    
    No functional change.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09313c0859866e80193c83341ce3fa149bbfb492
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 13:21:54 2012 -0700

    glsl/preprocessor: Handle "#version 300 es" directive.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84d5eb74d4e9aeb128a97116458f9178801ecc15
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 13:06:45 2012 -0700

    glsl/preprocessor: Extract version directive processing into a function.
    
    Version directive handling is going to have to be used within two
    parser rules, one for desktop-style version directives (e.g. "#version
    130") and one for the new ES-style version directive (e.g. "#version
    300 es"), so this patch moves it to a function that can be called from
    both rules.
    
    No functional change.
    
    [mattst88] v2: Use intmax_t instead of int for version argument. Would
    otherwise write garbage after #version since PRIiMAX was reading 64-bits
    instead of 32.
    
    [idr] v3: A later commit fixes the caller of
    _glcpp_parser_handle_version_declaration to pass the correct number of
    parameters.  Fix it in the patch that changes the interface instead.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9e11b7f01c36cc3df0a8dfc5e2950f965577b53
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 08:18:12 2012 -0700

    glsl: Enable GLSL ES 3.00 features inherited from desktop GLSL.
    
    This patch turns on the following features for GLSL ES 3.00:
    
    - Array constructors, whole array assignment, and array comparisons.
    - Second and third operands of ?: may be arrays.
    - Use of "in" and "out" qualifiers on globals.
    - Bitwise and modulus operators.
    - Integral vertex shader inputs.
    - Range-checking of literal integers.
    - array.length method.
    - Function calls may be constant expressions.
    - Integral varyings must be qualified with "flat".
    - Interpolation and centroid qualifiers may not be applied to vertex
      shader inputs.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=716fde97cc2bf21e7ca55274374017f642bcaf00
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 08:17:55 2012 -0700

    glsl: parse GLSL ES 3.00 keywords correctly.
    
    GLSL ES 3.00 adds the following keywords over GLSL 1.00: uint,
    uvec[2-4], matNxM, centroid, flat, smooth, various samplers, layout,
    switch, default, and case.
    
    Additionally, it reserves a large number of keywords, some of which
    were already reserved in versions of desktop GL that Mesa supports,
    some of which are new to Mesa.
    
    A few of the reserved keywords in GLSL ES 3.00 are keywords that are
    supported in all other versions of GLSL: attribute, varying,
    sampler1D, sampler1DShador, sampler2DRect, and sampler2DRectShadow.
    
    This patch updates the lexer to handle all of the new keywords
    correctly when the language being parsed is GLSL 3.00 ES.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d245038ba29db08c7bb989fc94b6e5d2dccb0f1
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Aug 1 19:04:59 2012 -0700

    glsl: Rework lexer keyword handling in preparation for GLSL 3.00 ES.
    
    This patch expands the lexer KEYWORD macro to take two additional
    arguments: the GLSL ES versions in which the given keyword was first
    reserved, and supported, respectively.  This will allow us to
    trivially add support for GLSL 3.00 ES keywords, even though the set
    of GLSL 3.00 ES keywords is neither a subset or a superset of the
    keywords corresponding to any desktop GLSL version.
    
    The new KEYWORD macro makes use of the
    _mesa_glsl_parse_state::is_version() function, so it accepts 0 as
    meaning "unsupported" (rather than 999, which we used previously).
    
    Note that a few keywords ("packed" and "row_major") are supported
    *either* when GLSL 1.40 is in use or when ARB_uniform_buffer_obj
    support is enabled.  Previously, we handled these by cleverly taking
    advantage of the fact that the KEYWORD macro didn't parenthesize its
    arguments in the usual way.  Now they are handled more
    straightforwardly, with a new macro, KEYWORD_WITH_ALT.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c10ebb6399034a55a601f1ef7e7c324198a1acde
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sun Aug 5 09:57:01 2012 -0700

    glsl: Make use of new _mesa_glsl_parse_state::check_version() function.
    
    Previous to this patch, we were not very consistent about the errors
    we generate when a shader tried to use a feature that is prohibited in
    the current GLSL version.  Some error messages failed to mention the
    GLSL version currently in use (or did so inaccurately), and some error
    messages failed to mention the first GLSL version in which the given
    feature is allowed.
    
    This patch reworks all of the error checks to use the check_version()
    function, which produces error messages in a standard form
    (approximately "$FEATURE forbidden in $CURRENT_GLSL_VERSION
    ($REQUIRED_GLSL_VERSION required).").
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6cdb8791d6cf6bb25f52e98d8559b4352233d2e9
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Aug 1 14:50:05 2012 -0700

    glsl: Make use of new _mesa_glsl_parse_state::is_version() function.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac7e4e2465c2e6f464d67d5461d8e91d72b88dd9
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Aug 1 19:09:24 2012 -0700

    glsl: Add GLSL version query functions.
    
    With the advent of GLSL 3.00 ES, the version checks we perform in the
    GLSL compiler (to determine which language features are present) will
    become more complicated.  To reduce the complexity, this patch adds
    functions check_version() and is_version() to _mesa_glsl_parse_state.
    These functions take two version numbers: a desktop GLSL version and a
    GLSL ES version, and return a boolean indicating whether the GLSL
    version being compiled is at least the required version.  So, for
    example, is_version(130, 300) returns true if the GLSL version being
    compiled is at least desktop GLSL 1.30 or GLSL 3.00.
    
    The check_version() function additionally produces an error message if
    the version check fails, informing the user of which GLSL version(s)
    support the given feature.
    
    [v2, idr]: Add PRINTFLIKE annotation to the new method.  The numbering of th
    parameters is correct because GCC is silly.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e3629e5cfece3e2a1a13349a518af31ea8dd95e
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Aug 2 06:45:30 2012 -0700

    glsl: Compute version_string on the fly.
    
    Fixes a bug where version_string would be left uninitialized if no
    GLSL "#version" directive was used.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e06c3a19aacb544f49e8ed167de19ea5e7ea6dbc
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Aug 1 18:36:57 2012 -0700

    glsl: Make a function to express a GLSL version ir human-readable form.
    
    This will be useful in generating more helpful error messages,
    especially with the addition of GLSL 3.00 ES support.
    
    [v2, idr]: Rename ctx parameter to mem_ctx
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fadc35b62a6a53563d0cb53e780558923736205f
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Aug 1 17:44:02 2012 -0700

    glsl: Simplify symbol table version checking.
    
    Previously, we stored the GLSL language version in the
    glsl_symbol_table struct.  But this was unnecessary--all
    glsl_symbol_table needs to know is whether functions and variables
    have separate namespaces (they do in GLSL 1.10 only).
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f8c6b9d59fa4f3e9b62618651a17dd4e05d5504
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Mon Aug 6 10:22:44 2012 -0700

    mesa: Add ARB_ES3_compatibility flag.
    
    Adding this now makes it easier to develop and test GLES3 features, since we
    can do initial development and testing using desktop GL.  Later GLSL compiler
    patches check for either ctx->Extensions.ARB_ES3_compatibility or
    _mesa_is_gles3 to allow certain features (i.e., "#version 300 es").
    
    [v2, idr]: Just edits to the commit message.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d157b04a1b0e627d0376c95935581ac7b5624090
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Aug 17 18:09:09 2012 -0700

    i965: Don't maintain programs for ff state when there is no ff
    
    NOTE: This is a candidate for the 9.0 branch.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6d13f285952d48064a963577a569787cf7c4427
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Aug 17 18:08:39 2012 -0700

    mesa: Don't muck about with ff state when there is no ff
    
    NOTE: This is a candidate for the 9.0 branch.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec83535c83c748b067ecf4548e5396fef8719725
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Dec 4 09:25:13 2012 +1000

    automake/gallium: attempt to fix -lrt
    
    fix non-automake bits in pipe-load to.
    
    Should fix:
    http://bugs.freedesktop.org/57852
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a853301fb7428138618cab67542e401afb808fbf
Author: Dave Airlie <airlied at gmail.com>
Date:   Fri Nov 30 18:48:47 2012 +1000

    u_cache: fix dereference before NULL check

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bdba4b30de15c4e7e6546f7eda37932d281f869c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Sat Dec 1 10:56:40 2012 -0800

    intel: Always enable GL_ARB_framebuffer_object
    
    Now that _mesa_BindFramebuffer does the right thing in ES contexts when the
    gl_extensions::ARB_framebuffer_object bit is set, the Intel driver doesn't
    need this hack.
    
    No piglit or GLES2 conformance regressions observed on IVB, and this
    patch (and the previous) fix es3conform's framebuffer_srgb_draw and
    transform_feedback_misc tests.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a13f9dfbb88720c9ccca443e834106a80e69fedb
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Sat Dec 1 10:50:57 2012 -0800

    mesa: Only require Gen'ed name for glBind{Framebuffer,Renderbuffer} on desktop
    
    Desktop OpenGL implementations that support either
    GL_ARB_framebuffer_object or OpenGL 3.0 must require names from
    glGenFramebuffers for glBindFramebuffer.  We have enforced this rule for
    quite some time.  However, OpenGL ES 1.0, 2.0, and 3.0 implementations
    are required to allow user-defined names (e.g., not from
    glGenFramebuffers{OES,}).
    
    The Intel drivers have hacked around this by not enabling
    GL_ARB_framebuffer_object in an ES context.  Instead, just pick the
    correct behavior in _mesa_BindFramebuffer based on the context API.
    
    Chad pointed out in a review e-mail:
    
        "I'd like to point out, though, that glBindFramebufferEXT and
        glBindRenderbufferEXT are still broken on desktop GL because they
        don't accept user-genned names. But that fix belongs to a different
        series."
    
    Currently glBindFramebufferEXT is an alias for glBindFramebuffer.
    Unalising two functions presents some difficulty, so we'll have to
    revisit this eventually.
    
    v2: Perform same check in _mesa_BindRenderbuffer too.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> [v1]

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d2f04cd6cb2fbaee54ab6e0f84cdb576ceeadcd
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Dec 3 08:37:10 2012 -0700

    mesa: fix uint64 printing in syncobj.c
    
    To silence printf format warnings.
    
    v2: insert "0x" prefix
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32c6db3978e89e61660d9479d7548cb7a5e04ba2
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Dec 2 22:30:45 2012 -0800

    mesa: Disable GL_NV_primitive_restart extension in core contexts.
    
    The NV formulation of primitive restart is turned on/off with
    glEnableClientState/glDisableClientState.  These two functions don't
    exist in core contexts, which mean that GL_NV_primitive_restart is
    essentially useless...even broken.
    
    However, leaving it on causes oglconform's primitive-restart-nv tests to
    run in OpenGL 3.1 contexts, which results in them all failing.  This
    patch causes 29 subtests to go from "fail" to "not run".
    
    NOTE: This is a candidate for stable branches.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ac97c6ccc06c877d36775885270924c0e750492
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Dec 2 20:36:16 2012 -0800

    i965: Allow INTEL_DEBUG=fs as a synonym for INTEL_DEBUG=wm.
    
    I keep accidentally trying to use it.  "fs" is a sensible name for
    fragment shader debugging, and "wm" is...not.  It's also more symmetric
    with "vs".
    
    Leave INTEL_DEBUG=wm because old habits die hard.
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21694b8eacbf63f8abdee6340510c0458a25a7fb
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Fri Nov 30 23:53:58 2012 +0100

    gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM >= 3.2.
    
    Also remove the recently added and overloaded LLVM_CXXFLAGS from CXXFLAGS.
    
    Note: This is a candidate for the stable branches.
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e866bd1adea2c3b4971ad68e69c644752f2ab7b6
Author: Stefan Dösinger <stefandoesinger at gmx.at>
Date:   Mon Dec 3 17:40:52 2012 +0100

    r300g: Give CLIP_DISABLE another try
    
    Signed-off-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b126228f1247fb0fed686ee3ef2c87461f2fc7a7
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Nov 30 12:55:50 2012 -0800

    i965: Include codegen time in the INTEL_DEBUG=perf stall detection.
    
    In the VS case, we were missing the entire compile time in the stall
    detection!
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f06864ba566eaff5b739a9d0fba5ed7eaadd60b
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Nov 29 16:51:13 2012 -0800

    i965: Don't leak the IR annotation into later instructions.
    
    After walking our IR instructions (Mesa or GLSL), we don't want to also
    mark the start of the FB/URB writes or whatever as being that IR.  This
    can end up being misleading when the end of the IR visit got copy
    propagated out to a later instruction in the URB writes.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1db9a72351e15d826950fab45889cdabb54c80b4
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Nov 30 13:02:11 2012 -0800

    i965/vp: Fix crashes with INTEL_DEBUG=vs.
    
    The VP generation doesn't set up the output reg strings, so if you
    didn't happen to get these values as 0 on the stack, you'd lose.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e5f94a5528a2f2a09bb72a1012e88400783207d
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Nov 29 16:49:36 2012 -0800

    i965/vs: Fix uninitialized shader pointer used in debug output.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=409730843f48493690e2beb5ba2e036dbfdf378c
Author: Adrian Marius Negreanu <adrian.m.negreanu at intel.com>
Date:   Fri Nov 30 09:52:20 2012 +0200

    android: fix bison warning of conflicting outputs to file
    
    Bison -o parameter expects a .c file.
    The corresponding .h filename is obtained
    by removing the extension of the initial .c.
    
    This was breaking compilation on Ubuntu 12.04
    
    libmesa_dricore_intermediates/libmesa_dricore.a(program_parse.tab.o): In
    function `_mesa_parse_arb_program':
    external/mesa/src/mesa/program/program_parse.y:2682: multiple definition
    of `_mesa_parse_arb_program'
    libmesa_dricore_intermediates/libmesa_dricore.a(lex.yy.o):external/mesa/src/mesa/program/program_parse.y:2682:
    first defined here
    
    Signed-off-by: Adrian Marius Negreanu <adrian.m.negreanu at intel.com>
    Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
    Reviewed-and-tested-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4311054c78536acba0c3006c5d2805e182fa483
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Dec 3 08:30:04 2012 -0700

    st/mesa: add null pointer check in st_renderbuffer_delete()
    
    In my testing I haven't found any cases where we get a null context
    pointer, but it might still be possible.  Check for null just to be safe.
    
    Note: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6d74bfaf61a6d52e6f886e33f2e98c3007d79fc
Author: Brian Paul <brianp at vmware.com>
Date:   Sun Dec 2 16:18:22 2012 -0700

    st/glx: accept GLX_SAMPLE_BUFFERS/SAMPLES_ARB == 0
    
    Only fail if GLX_SAMPLE_BUFFERS_ARB or GLX_SAMPLES_ARB are non-zero.
    We were already doing this in the older swrast/glx code.
    
    This fixes a piglit/waffle problem where we'd always fail to get a
    visual/config and report the test as "skip".
    
    Note: This is a candidate for the stable branches.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=006918c0db77e945ac56b15bc64eba502b86d56c
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 1 10:52:42 2012 -0700

    mesa: remove warning message in _mesa_reference_renderbuffer_()
    
    We were warning when there was no current context and we're about
    to delete a renderbuffer, but that happens fairly often and isn't
    really a problem.
    
    Fixes http://bugs.freedesktop.org/show_bug.cgi?id=57754
    
    Note: This is a candidate for the stable branches.
    
    Tested-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=16f0d70ffe6d42d22b9e6b927b297e75a199aa78
Author: James Benton <jbenton at vmware.com>
Date:   Mon Dec 3 07:00:37 2012 +0000

    llvmpipe: Implement PIPE_QUERY_TIMESTAMP and PIPE_QUERY_TIME_ELAPSED.
    
    This required an update for the query storage in llvmpipe, there
    can now be an active query per query type, so an occlusion query
    can run at the same time as a time elapsed query.
    
    Based on PIPE_QUERY_TIME_ELAPSED patch from Dave Airlie.
    
    v2: fix up piglits for timers (also from Dave Airlie)
    
    a) if we don't render anything the result is 0, so just
    return the current time
    
    b) add missing screen get_timestamp callback.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Signed-off-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=041966801ec87e3bf32913e43d6882eca9434695
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Sat Dec 1 17:04:54 2012 +0100

    gallivm: fix srgb format fetch
    
    we need to rely on util code for fetching those, just like before
    9f06061d50f90bf425a5337cea1b0adb94a46d25.
    Fixes bugs 57699 and 57756.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a2f2300a8f9f3b007350546d6aba468d04f4430
Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Nov 30 18:06:46 2012 +0000

    llvmpipe: Refactor convert_to/from_blend_type to convert in place.
    
    This fixes the "Source and destination overlap in memcpy" valgrind
    warnings.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=03aa3fd54bd8824d90307b3fbe5e26606212be40
Author: José Fonseca <jfonseca at vmware.com>
Date:   Mon Dec 3 13:55:45 2012 +0000

    llvmpipe: Improve color buffer loads/stores alignment.
    
    Tell LLVM the exact alignment we can guarantee, based on the fs block
    dimensions, pixel format, and the alignment of the resource base pointer
    and stride.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0bc6ec238bad7908b362355f668ea513e14a75b5
Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Nov 30 17:32:29 2012 +0000

    llvmpipe: Recompute the fs shader key when framebuffer varies.
    
    The fs shader now depends on the color buffer formats. The shader key was
    extended to accommodate this, but llvmpipe_update_derived needs to be
    updated to check the framebuffer dirty flag.
    
    This fixes bug 57674.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=54ff536823bf5a431efe1f2becdb21174c146948
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 2 22:22:39 2012 +0100

    r300g: increment num_z_clears only if we have Hyper-Z

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=838b19609f759bc76e140910e6dcf0e0c3680688
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 2 19:26:16 2012 +0100

    r300g: add blacklist for apps that shouldn't steal hyperz access

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12dcbd5954676ee32604d82cacbf9a4259967e13
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 2 17:06:49 2012 +0100

    r300g: enable Hyper-Z by default on r500
    
    I fixed the only known bugs on r500 with 0222b2bd4107b9e5cabfbc06c1a6ca3eae.
    Now there are no piglit regressions with Hyper-Z and all apps I tested seem
    to work.
    
    To summarize how it works:
    - Only one process can use it at a time. This is a hardware limitation.
    - The first process to clear a zbuffer gets the exclusive access to use
      Hyper-Z.
    - Compositors don't use any zbuffer, so they won't steal it, but some web
      browsers do, so make sure there's no web browser running if you want your
      game to use Hyper-Z.
    - There's no need to restart an app which couldn't get the access to Hyper-Z.
      Just quit the app which took it, the driver can turn it on for the other app
      in the middle of rendering.
    - If an app gets the access to Hyper-Z, it prints "radeon: Acquired Hyper-Z"
      to stdout.
    
    r300-r400:
      Hyper-Z will be enabled by default on r300-r400 once sufficient testing is
      done with piglit and Lightsmark at least.
      Be sure to set the env var RADEON_HYPERZ and run piglit with parameters: -c 0

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0222b2bd4107b9e5cabfbc06c1a6ca3eaec3cf0d
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 2 05:41:48 2012 +0100

    r300g: clear the ZB cache before clearing ZMASK or HIZ
    
    This fixes wrong rendering in Lightsmark and
    the piglit/depthstencil-render-miplevels.
    
    I think I fixed Hyper-Z. So far every app seems to work like a charm.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62cba629c09aaf236b2750785b899934b531b17a
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 2 04:40:36 2012 +0100

    Revert "r300g: fix occlusion queries when depth test is disabled or zbuffer is missing"
    
    It broke Hyper-Z terribly.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5f1f8d52e6bfdf087f930425eb5092f52a29940
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Sat Dec 1 17:03:59 2012 -0800

    dri: Fix i965 build
    
    The following commit broke the i965 build:
    
        commit 4a486f8bf2ca3d88228f8313282289abe78bc2f8
        Author: Marek Olšák <maraeo at gmail.com>
        Date:   Fri Nov 23 18:31:42 2012 +0100
    
        glx/dri2: add and use new driver hook flush_with_flags
    
    That commit added a forward declaration of enum __DRI2throttleReason to
    dri_interface.h. C++ 98 does not allow forward declarations of enums.
    
    The fix: Move the enum's definition to earlier in the file.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3039addf9363dbae1bbad1cd75d32e0013038c08
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 23 18:33:54 2012 +0100

    st/dri: implement new driver hook flush_with_flags
    
    v2: added documentation for dri_flush as per Brian's request

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4003961fbf7e59de4b95448eada569adb91e5852
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 23 17:42:11 2012 +0100

    st/mesa: make st_flush do what glFlush does

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a486f8bf2ca3d88228f8313282289abe78bc2f8
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 23 18:31:42 2012 +0100

    glx/dri2: add and use new driver hook flush_with_flags

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b7e9b73603ce5fb48cc30896df277df0ae89856
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Nov 13 17:06:37 2012 +0100

    glx: move the glFlush call one layer down

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ad9d42b338c6684930b7898734f9070b6368172
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Dec 1 22:40:00 2012 +0100

    r300g: refuse to create too large textures

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e694ea09f57cdce557a7424401e68b37e0e80fa7
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Dec 1 22:38:36 2012 +0100

    r300g: fix memory leaks in texture_create error paths

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e3a586236815970b5eab36697e221e9a72542d6
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Dec 1 21:18:59 2012 +0100

    r300g: fix revoking hyperz access
    
    The bug was uncovered by 67c8e96f5ace67f9c17556934ee9532877d3a00.
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57763




More information about the mesa-commit mailing list