Mesa (gles3): 178 new commits

Paul Berry stereotype441 at kemper.freedesktop.org
Fri Nov 30 21:26:48 UTC 2012


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfbd49e8ea828d5da8eab6b60e42da1c084b928c
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=74591042c263e40933093c5b1754c5f110fd4f1d
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=8412026fc4cc769117a3a8c50d41ea7aead89047
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=86811887ac9ddbbadba6914b641398c2a719683b
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=16e7bdc599aa8feb213a57a12ec411469d7ca5e1
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=44ff342f037d4527bf63912d13061fa6351e4023
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=b8240d7d5c93c74e81046d21b91ee23b7e0a1473
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=78b2360f03c18d7e203a50baba2633029c4f2578
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=9cdfb1d526f3eaf476f76ea414cf85646ba78f4c
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=22ceb24dc6fbba68e6313fcee6919d849e5bad91
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=ca32e019e1c8d8dba17868b3095fa7a045dd0991
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=73f3831ad2e29d35cb1e7812191c733148712552
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=a15e27eee0bda20b5793ff822ca89bcca7fc2c87
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=a665777c548078ed86bc93a90a0249558dcc4eaa
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=61f38d61728cf0647f073ab20623a8572b08c5d3
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=6f66be8ab3fe6e958127055b1a9d7f77b5782a80
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=48b90651f2776328ce2b4675c133b605b5711e67
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=82a0d0a5e62c43be5efd393a0fb6d5b23bebf51c
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=f416566bf28c3180c51ff6644e45ec0822ff0175
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=916ebfd40b1fd7973665ff0cee2c8a5c5eaa03a8
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=631d6c5cb36c17401017b0774764580bf4c1e547
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=2e69c4121c9f262dff0122d4e139208aeeef6fe8
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=4343785a391b139e4b9130c58f00e7374c7871b1
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=d8265ed438aa431b15dcf8a185bf6ad0e79111e1
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=ea2b924ed1970f18c4961102bd1b6ad0a05a0c4c
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=14264ce0f057c6624b3b17b6e01b42338c8a8c78
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=0e689fd4c970b1530ec5fd6b148b669d7c7cbb2d
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=cbc46c79276b1011a28ce90437ce3b691e210b43
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=a2f22a60bc228a5ee95e566817fd1a4c2baa9b29
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=c1cdc2c316c80abbe3a0333a7bafd16666d152e9
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=929a6f426aa2b284b5a13ab7001eaa69272978d0
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=c1c19dcdd22b861ffd21f5b4a2eea6871b3e2b55
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=8d5b5012c493621337da1a0dbf6e2489648bd856
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=aadbffe00089488d1f01d4575523042c76a0d97c
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=08b696f71f2bd2bd16c0d8661936b4643ebe68a3
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=c08289df572f4b1a05ba1bd0dff602a5c6dd9d07
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=e181f5df73e539b8d4b81ff7328359bbe90e07aa
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=91f9f3525358a2168debec888cc7e313170c250b
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=d99abd5e3a4bcd1fa368c19575c479d514fb85fa
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=6bd1290b54a8f648344ce544f6911718a0321f19
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=f3382c810735f1a22b978f6fb915c0873303556f
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=9774f4d9b33eed2444932e7377c73414f14827aa
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=8d2006adecaa403def0af8bab37d88d600a94b67
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=871e673d442ce77e4f4797ae65ccd5676a052389
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=964c9e03cd9b957c8e50c0e4e3454a6deed712c8
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=5c2763366c6106b273e0ea2ffe87e88c3acd8e56
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=d18b26c22bede4f0a66cb05cdcc4f0b2bb854d0c
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=501a9812f3e34b1b028c86ffd3d879f8e8c2832d
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=61267025d1ea61d6d1d56fef9529f6edcde35a67
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=c44f6c0f3750eeddd49414e93ae466e544afe649
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=c5701c260a95e4fb82ddd693c5afd8d5df6a237c
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=77431b53354a5642dd5164bcf72c6a41c70b9f72
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=1c9b083a4cc47801248ae29f00d67bdf0f5d3026
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=28f169cc30d34e42e41218221272040804981886
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 19 22:36:28 2012 -0800

    glsl: Support unsigned integer constants in layout qualifiers.
    
    Fixes es3conform's explicit_attrib_location_integer_constants.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df97afaffbe869aea8879426007980621ebae2ee
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=92e6aaf0bbf90a83fbab8e9cf7c829da1bf2e2a0
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=37740d5ece1ee16eab9af984eb786f11d2f74ba5
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=dd27bea146fc09346f6ed18ed3a24102ec12ee25
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=d2a5af175a668f368f5fb914c0bb51c87794bee6
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=61c6fd9bcf349813071aec05a6f28cadc08e0d67
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=ea28b74338c058d7ded73232ed94017546d01dde
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=94b925573d89a6d3e1bef80fc741d9625144d575
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=f4970fd4663138a6e9442972546494009b6bdd67
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=ec5faca7f3900f0e1eeb71fe4728cacfe2e5efc5
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=ce9c7aa7d337c1153a98aa8a5b548d311b71470d
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=31d91be3a67a7ca6975e3a6fc3910c54e2c88a52
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=4a06dd58f37fb2fec0787e8e882d815b26a824b6
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=ccebd8b8c4f18f722e87878600c951e37cb5c7c0
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=cdaf863a5dbb2d4f8e79b9385c988398470e0e14
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=ca79296a65e3ffad01dc326e5ea90d2cbe7f3912
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=cc86ee4c05b704cf3a227dd93a4c41fe9c4933d6
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=77d2ee8726fc6f3216e8b95439d749e31389fcaa
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=35fd7d433577c5d01299acf12aa628f6fcb66960
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=2bd0f98296fa1691dc6baed165cdd277f35cbd88
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=868fdb32402838a189b616a29486b583fb9f0780
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=3b6ca5cdc91ebc6b6d5b1c9455f8daccced29355
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=03e50dbb3f3e2a9fa3711a92439626fbb2aa778e
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=38922621030be17add224d5e4400ebbe5303cd01
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=6926d02a6ed8113ac13d3c19f33345fdfc30b62d
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=a836bda1c3dbeac730846bc2c495a5e72113b79c
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=3bb5c66a04bad89649424259ac8fe8dc360ff076
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=1cead8845b95643582903f054255d20b3de3e19a
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 20:45:03 2012 +0000

    llvmpipe: Implement logic ops for the AoS path.
    
    It was forgotten in the previous patch series, but it is trivial to
    implement, based on the SoA path.
    
    This fixes glean logicOp failures.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=547efc76df31a87a59ed1b6b5e935a1acf4728bf
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 19:57:26 2012 +0000

    llvmpipe: Don't use dynamically sized arrays.
    
    Unfortunately for MSVC arrays with a constant variable size are still
    considered dynamically sized.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8ed9f6262a73849a64c55bcfaac2a50e42e0945
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov 26 14:46:11 2012 -0800

    i965/gen4-5: Fix segfaults with stencil-only depth/stencil setups.
    
    Fixes a ton of piglit regressions since the depthstencil fixes for gen6+.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57309
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9b033d8e456228fb05c5e28f85323de40f3292f
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov 26 14:22:12 2012 -0800

    i965/fs: Don't generate saturates over existing variable values.
    
    Fixes a crash in http://workshop.chromeexperiments.com/stars/ on i965,
    and the new piglit test glsl-fs-clamp-5.
    We were trying to emit a saturating move into a uniform, which the code
    generator appropriately choked on.  This was broken in the change in
    32ae8d3b321185a85b73ff703d8fc26bd5f48fa7.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57166
    NOTE: This is a candidate for the 9.0 branch.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=154ef07aa74e1d91e16cf9f2492cae33790b0998
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Oct 30 15:35:44 2012 -0700

    i965/fs: Add some minimal backend-IR dumping.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=960ab06da05390a5f53163016dddd51ba118b7bc
Author: James Benton <jbenton at vmware.com>
Date:   Fri Sep 14 13:29:58 2012 +0100

    llvmpipe: Update llvmpipe_is_format_unswizzled to reflect latest changes.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=66fdf626bb4a970e5a972f24faf6e69eda67e31d
Author: James Benton <jbenton at vmware.com>
Date:   Thu Sep 13 16:05:08 2012 +0100

    llvmpipe: Enable vertex color clamping.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa1b481c09b14e01eca1b3db8e0854033f6dee3d
Author: James Benton <jbenton at vmware.com>
Date:   Thu Sep 13 16:04:42 2012 +0100

    llvmpipe: Unswizzled rendering.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d3789bccbbcc814fd7b339e9f5b5631e30d9f0e
Author: James Benton <jbenton at vmware.com>
Date:   Wed Jul 11 15:39:53 2012 +0100

    gallivm: Updated lp_build_const_mask_aos to input number of channels.
    
    Also updated lp_build_const_mask_aos_swizzled to reflect this.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d03d29a0442e8c1bfb1567f33abc83373a203220
Author: James Benton <jbenton at vmware.com>
Date:   Wed Jul 11 15:32:47 2012 +0100

    util: Updated util_format_is_array to be more accurate.
    
    Will allow formats with padding, e.g. RGBX.
    Will now allow swizzled formats as long as the alpha is channel 3.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e66ec7c46b310f6b309aa90c1e0e2edd53de3479
Author: James Benton <jbenton at vmware.com>
Date:   Fri Jun 8 18:49:53 2012 +0100

    gallivm: Added support for float to half-float conversion in lp_build_conv.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7a8390a821e9a9e7ae5103eb50315eac8131c9c
Author: James Benton <jbenton at vmware.com>
Date:   Wed May 30 14:40:33 2012 +0100

    gallivm: Changed lp_build_pad_vector to correctly handle scalar argument.
    
    Removed the lp_type argument as it was unnecessary.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=71c6fe76c05aa7fc1300cb13e6507abbea5a1e19
Author: James Benton <jbenton at vmware.com>
Date:   Wed May 30 14:38:52 2012 +0100

    gallivm: Add a function to generate lp_type for a format.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd548836a1410220090dbd7866735a7493c7cf47
Author: James Benton <jbenton at vmware.com>
Date:   Wed May 30 14:36:22 2012 +0100

    gallivm: Add support for unorm16 in lp_build_mul.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3a465ae98be6db1aee582f15380944b8faaeafc
Author: Matt Turner <mattst88 at gmail.com>
Date:   Mon Nov 26 11:53:45 2012 -0800

    glcpp: Support #elif(expression) with no intervening space.
    
    And add test cases to ensure that this works
    	- 110 verifies that glcpp rejects #elif<digits> which glcpp
    	  previously accepted.
    	- 111 verifies that glcpp accepts #if followed immediately by
    	  (, +, -, !, or ~.
    	- 112 does the same as 111 but for #elif.
    
    See 17f9beb6 for #if change.
    Reviewed-by: Carl Worth <cworth at cworth.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aed466192a78ff2bb3db877a9599424de708cf90
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 20 17:23:42 2012 -0800

    glcpp: Reject #version and #line not followed by whitespace
    
    Fixes part of es3conform's preprocess16_frag test.
    Reviewed-by: Carl Worth <cworth at cworth.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=91ca053714957aca5205122e8478002c62cc4344
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 23 03:02:44 2012 +0100

    mesa: fix BlitFramebuffer between linear and sRGB formats
    
    NOTE: This is a candidate for the stable branches.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=406b76ca3248869f67147c27165dedf6f2bb989f
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Wed Nov 28 18:07:27 2012 +0100

    gallivm: fix multiple lods with different min/mag filter and wide vectors
    
    broken since 529fe420ba6836479619ba42e53665724755fc1c,
    I forgot some code, only added the comment...
    Fixes bug 57644.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e33b55ee16c9885391d3baff33545a5209c0623
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Nov 23 16:05:41 2012 +0100

    radeonsi: Reinstate assertions against invalid colour/depth formats.
    
    radeonsi now supports Z16 and doesn't fail these assertions anymore.
    
    This partially reverts commit 7bba4879bb79719e22a18b52759b1d1d839c783c, but
    leaves the error messages in place to allow diagnosing such problems even with
    non-debugging builds.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8d46d017389c287db3e7062e8fdffbbef2ae50d
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Nov 16 17:18:05 2012 +0100

    radeonsi: Re-enable Z16 depth buffers.
    
    8 more piglits.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=726fe54cbc2ebe333977f1010bcccc74e7a859d4
Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Nov 22 19:22:46 2012 +0100

    radeonsi: remove redundant parameter in r600_init_surface
    
    [ Cherry-picked from r600g commit f5ac60152b10b04d38e77db6b904dd50d1a54d6c ]

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa83d52961efeb97c4b5d613e51411a784e68478
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Nov 20 12:48:30 2012 +0100

    radeonsi: Use explicit stencil mipmap level offsets.
    
    Extracted from r600g commit 428e37c2da420f7dc14a2ea265f2387270f9bee1.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=39b56afaa238f3f5aadf562a6fb9786cad1105b8
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Nov 13 18:01:53 2012 +0100

    radeonsi: correct texture memory size for Z32F_S8X24
    
    [ Cherry-picked from r600g commit ea72351a919c594e7f40e901dca42aebb866f8a6 ]

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20f651d003e344e82503af5ce77af8d9f945cfda
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Nov 13 17:57:07 2012 +0100

    radeonsi: Depth/stencil fixes.
    
    Adapted from r600g commit 018e3f75d69490598d61059ece56d379867f3995.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a616c10095473538f4d26d32afb4de95263a7e5
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Nov 13 17:35:09 2012 +0100

    radeonsi: Flesh out support for depth/stencil exports from the pixel shader.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=49003a5cb658751a85383cd6600006e094f453bc
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Nov 20 17:33:19 2012 +0100

    radeonsi: Fix sampler views for depth textures.
    
    Consistently reference the flushed depth texture in the sampler view, not the
    original one.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c024624fd3b5c4c43471ad06120cb988c045196
Author: Jerome Glisse <jglisse at redhat.com>
Date:   Tue Nov 13 17:41:59 2012 +0100

    radeonsi: Fix z/stencil texture creation.
    
    Signed-off-by: Jerome Glisse <jglisse at redhat.com>
    
    [ Cherry-picked from r600g commit b4f0ab0b22625ac1bb3cf16342039557c086ebae ]

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffc318a97accae1f337eec75841a6778c2f4b547
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Tue Nov 27 00:05:08 2012 -0800

    scons: Build ws_xlib on Mac OS X.
    
    Fixes this SCons build error on Mac OS X if X11 is found.
    
    NameError: name 'ws_xlib' is not defined:
      File "SConstruct", line 144:
        duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
      File "scons-2.2.0/SCons/Script/SConscript.py", line 614:
        return method(*args, **kw)
      File "scons-2.2.0/SCons/Script/SConscript.py", line 551:
        return _SConscript(self.fs, *files, **subst_kw)
      File "scons-2.2.0/SCons/Script/SConscript.py", line 260:
        exec _file_ in call_stack[-1].globals
      File "src/SConscript", line 34:
        SConscript('gallium/SConscript')
      File "scons-2.2.0/SCons/Script/SConscript.py", line 614:
        return method(*args, **kw)
      File "scons-2.2.0/SCons/Script/SConscript.py", line 551:
        return _SConscript(self.fs, *files, **subst_kw)
      File "scons-2.2.0/SCons/Script/SConscript.py", line 260:
        exec _file_ in call_stack[-1].globals
      File "src/gallium/SConscript", line 135:
        'targets/libgl-xlib/SConscript',
      File "scons-2.2.0/SCons/Script/SConscript.py", line 614:
        return method(*args, **kw)
      File "scons-2.2.0/SCons/Script/SConscript.py", line 551:
        return _SConscript(self.fs, *files, **subst_kw)
      File "scons-2.2.0/SCons/Script/SConscript.py", line 260:
        exec _file_ in call_stack[-1].globals
      File "src/gallium/targets/graw-xlib/SConscript", line 9:
        ws_xlib,
    
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=53636fdf939f59747e33b28cedb5579c889a5dd4
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Tue Nov 27 00:48:40 2012 +0100

    configure.ac: Remove -O., -g and -Wall from LLVM_C{PP,XX}FLAGS.
    
    Signed-off-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f75acabb9640bcbd3a8e6061695da3d01f55a3ef
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Nov 27 15:34:13 2012 -0700

    vbo: move another line of code after declarations
    
    Signed-off-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8765c0d20fb849733c39f088279909c989fbe9e0
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Nov 27 13:58:33 2012 -0700

    vbo: move code after declarations to fix MSVC errors
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f94e672b47621701ad070e6799a8e22ad02539fa
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Nov 27 13:53:38 2012 -0700

    vbo: minor whitespace fix

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a547e532fcbe2a3a5896668c5ed699d6abf35ec6
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Nov 13 09:51:58 2012 -0700

    mesa: remove '(void) k' lines
    
    Serves no purpose as the k parameter is used later in the code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a414fea876807810c27cedb243920bd7b088ea7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 27 12:06:13 2012 -0800

    mesa/vbo: Check for invalid types in various packed vertex functions.
    
    According to the ARB_vertex_type_2_10_10_10_rev specification:
    "The error INVALID_ENUM is generated by VertexP*, NormalP*,
     TexCoordP*, MultiTexCoordP*, ColorP*, or SecondaryColorP if <type>
     is not UNSIGNED_INT_2_10_10_10_REV or INT_2_10_10_10_REV."
    
    Fixes 7 subcases of oglconform's packed-vertex test.
    
    v2: Add "gl" prefix to error messages (pointed out by Brian).
        Also rebase atop the ctx plumbing.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a529e2b484c6d17c6244efee8e7dae4de79e386
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Nov 21 20:17:15 2012 -0800

    mesa/vbo: Support the ES 3.0 signed normalized scaling rules.
    
    Traditionally, OpenGL has had two separate equations for converting from
    signed normalized fixed-point data to floating point data.  One was used
    primarily for vertex data, while the other was primarily for texturing
    and framebuffer data.
    
    However, ES 3.0 and GL 4.2 change this, declaring there's only one
    equation to be used in all cases.  Unfortunately, it's the other one.
    
    v2: Correctly convert 0b10 to -1.0, as pointed out by Chris Forbes.
    
    Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8d8d5db72171fd382babbb0e95fab363a84cb49
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Nov 21 20:15:22 2012 -0800

    mesa/vbo: Plumb ctx through to the conv_i(10|2)_to_norm_float functions.
    
    The rules for converting these values actually depend on the current
    context API and version.  The next patch will implement those changes.
    
    v2: Mark ctx as const, as suggested by Brian.
    
    Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=13f9012ad3837c98a2c891244e64878fa61f9cd2
Author: Matt Turner <mattst88 at gmail.com>
Date:   Mon Nov 26 15:13:25 2012 -0800

    mesa: Set transform feedback's default buffer mode to INTERLEAVED_ATTRIBS
    
    Fixes part of es3conform's transform_feedback_init_defaults test.
    NOTE: This is a candidate for the stable branch.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c2060f0f08134e8c4ea00af94f59c18f30d05e2
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Nov 23 00:03:59 2012 -0800

    mesa: Return 0 for XFB_VARYING_MAX_LENGTH if no varyings
    
    v2: Perform this count the same way as elsewhere in this file, per
        Brian Paul's review.
    
    Fixes part of es3conform's transform_feedback_init_defaults test.
    NOTE: This is a candidate for the stable branches.
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f65741721bcd7064e428ae2c47811fba150b1480
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Wed Nov 21 17:52:07 2012 +0100

    gallium/tests/trivial: updates for transfer functions changes
    
    Fixes build error with configure option --enable-gallium-tests
    introduced in 369e46888904c6d379b8b477d9242cff1608e30e
    
    Compile tested only.
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cba639f2a150db41f434f163fb3a36d2b0d70642
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Wed Nov 21 15:37:58 2012 +0100

    gallium/tests/trivial: updates for CSO interface changes
    
    Fixes build error with configure option --enable-gallium-tests
    introduced in ea6f035ae90895bd4ee3247408eb179dfdf96d22
    
    Cc: Brian Paul <brianp at vmware.com>
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1553f5ce83c6baee5e3896ff345baa43f888409d
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Tue Nov 20 21:04:25 2012 +0100

    gallium/tests/trivial: updates for util_draw_vertex_buffer changes
    
    Fixes build error with configure option --enable-gallium-tests
    introduced in e73bf3b805de78299f1a652668ba4e6eab9bac94
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bd4856b5c8337a7c749df8172843ca364ac53e0
Author: James Benton <jbenton at vmware.com>
Date:   Wed Jul 11 15:31:21 2012 +0100

    util: Modified u_rect to default to memcpy.
    
    Previously this function would assert if the format didn't fit an expected 4 channel format size.
    
    Now will work with any format type with any amount of channels.
    
    Signed-off-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=65016646e355c8266136abbb991006c8829a0bc3
Author: James Benton <jbenton at vmware.com>
Date:   Thu Sep 13 16:05:37 2012 +0100

    util/format: Fix bug in float to non-float conversion in u_format_pack.py.
    
    Signed-off-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=978df710f22562ae766b1fe60e8ebf40d20a6e6b
Author: James Benton <jbenton at vmware.com>
Date:   Wed May 30 14:36:44 2012 +0100

    gallivm: Fix bug in lp_build_one which would incorrectly return a vector for length 1.
    
    Signed-off-by: José Fonseca <jfonseca at vmware.com>

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

    glsl: Support unsigned integer constants in layout qualifiers.
    
    Fixes es3conform's explicit_attrib_location_integer_constants.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-and-tested-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9136723214136a95a3c915d580943c888cd99503
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 19:26:52 2012 -0800

    i965/fs: Move struct brw_compile (p) entirely inside fs_generator.
    
    The brw_compile structure contains the brw_instruction store and the
    brw_eu_emit.c state tracking fields.  These are only useful for the
    final assembly generation pass; the earlier compilation stages doesn't
    need them.
    
    This also means that the code generator for future hardware won't have
    access to the brw_compile structure, which is extremely desirable
    because it prevents accidental generation of Gen4-7 code.
    
    v2: rzalloc p, as suggested by Eric.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea681a0d64ecde3a2e729fe3b71d3f3fe4cedff0
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Nov 9 01:05:47 2012 -0800

    i965/fs: Split final assembly code generation out of fs_visitor.
    
    Compiling shaders requires several main steps:
    
       1. Generating FS IR from either GLSL IR or Mesa IR
       2. Optimizing the IR
       3. Register allocation
       4. Generating assembly code
    
    This patch splits out step 4 into a separate class named "fs_generator."
    
    There are several reasons for doing so:
    
       1. Future hardware has a different instruction encoding.  Splitting
          this out will allow us to replace fs_generator (which relies
          heavily on the brw_eu_emit.c code and struct brw_instruction) with
          a new code generator that writes the new format.
    
       2. It reduces the size of the fs_visitor monolith.  (Arguably, a lot
          more should be split out, but that's left for "future work.")
    
       3. Separate namespaces allow us to make helper functions for
          generating instructions in both classes: ADD() can exist in
          fs_visitor and create IR, while ADD() in fs_generator() can
          create brw_instructions.  (Patches for this upcoming.)
    
    Furthermore, this patch changes the order of operations slightly.
    Rather than doing steps 1-4 for SIMD8, then 1-4 for SIMD16, we now:
    
       - Do steps 1-3 for SIMD8, then repeat 1-3 for SIMD16
       - Generate final assembly code for both modes together
    
    This is because the frontend work can be done independently, but final
    assembly generation needs to pack both into a single program store to
    feed the GPU.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd1fd300473bd58929e5a1b1a5e5a0e82af9d7cf
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 17:02:23 2012 -0800

    i965/fs: Abort on unsupported opcodes rather than failing.
    
    Final code generation should never fail.  This is a bug, and there
    should be no user-triggerable cases where this could occur.
    
    Also, we're not going to have a fail() method in a moment.
    
    v2: Just abort() rather than assert, to cover the NDEBUG case
        (suggested by Eric).
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd0acb1abe4c2c3120acf18f594210989bd8ec2e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 17:30:46 2012 -0800

    i965: Make it possible to create a cfg_t without a backend_visitor.
    
    All we really need is a memory context and the instruction list; passing
    a backend_visitor is just convenient at times.
    
    This will be necessary two patches from now.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d09fe938e72b26d814b6b52caee5112cf6f1103
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 16:21:27 2012 -0800

    i965/fs: Move uses of brw_compile from do_wm_prog to brw_wm_fs_emit.
    
    The brw_compile structure is closely tied to the Gen4-7 hardware
    encoding.  However, do_wm_prog is very generic: it just calls out to
    get a compiled program and then uploads it.
    
    This isn't ultimately where we want it, but it's a step in the right
    direction: it's now closer to the code generator.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3417b2f2b249d89fc71379bfc0eaa1055de365ba
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 14:46:56 2012 -0800

    i965/fs: Pass the brw_context pointer into fs_visitor explicitly.
    
    We used to steal it out of the brw_compile struct...but fs_visitor
    isn't going to have one of those in the future.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f74002a9817e000d3f5633dd5eb6adfd1d51ba5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 14:41:21 2012 -0800

    i965/fs: Move brw_wm_compile::fp to fs_visitor.
    
    Also change it from a brw_fragment_program to a gl_fragment_program,
    since that seems to be what everything wants anyway.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0d30eb8765066b9f3b5f2a50c426ccbac675fa
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 14:26:49 2012 -0800

    i965/fs: Remove struct brw_shader * parameter to fs_visitor constructor.
    
    We can easily recover it from prog, and this makes it clear that we
    aren't passing additional information in.
    
    v2: Use an if-statement rather than the ?: operator (suggested by Eric).
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a303df86de96a428f82377a8c38db8b7e3223447
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 13:50:52 2012 -0800

    i965/fs: Move brw_wm_compile::dispatch_width into fs_visitor.
    
    Also, rather than having brw_wm_fs_emit poke at it directly, make it a
    parameter to the fs_visitor constructor.
    
    All other changes generated by search and replace (with occasional
    whitespace fixup).
    
    v2: Make dispatch_width const (as suggested by Paul); fix doxygen
        mistake (pointed out by Eric); update for rebase.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

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

    i965/fs: Move brw_wm_lookup_iz() to fs_visitor::setup_payload_gen4().
    
    This necessitates compiling brw_wm_iz.c as C++.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2429c9d347fe1c6e98a248c1039041f6a59fd749
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 13 19:36:18 2012 -0800

    i965/fs: Move brw_wm_payload_setup() to fs_visitor::setup_payload_gen6()
    
    Now that we only have the one backend, there's no real point in keeping
    this separate.  Moving it should allow some future simplifications.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce96f6db9028f8488faf778444597b1a3d26433f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Nov 20 12:21:40 2012 -0800

    i965/fs: Remove brw_wm_compile::computes_depth field.
    
    Everybody determines this by checking if fp's OutputsWritten field
    contains the FRAG_RESULT_DEPTH bit.  Rather than having payload setup
    check this and set the computes_depth flag, we can just do the check in
    the only place that actually used it: emit_fb_writes().
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=529fe420ba6836479619ba42e53665724755fc1c
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Tue Nov 27 03:30:55 2012 +0100

    gallivm: use the new mip per quad handling in texture fetch path
    
    No longer have to split fetching into quads dynamically if mip levels
    are not the same for all quads (aos sampling still always splits due
    to performance reasons).
    Instead handle multiple mip levels further down, minification etc. takes
    this into account.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b6554ba6f2aa8a771852566340c24205e406d02
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Tue Nov 27 03:26:49 2012 +0100

    gallivm,llvmpipe: handle TXF (texelFetch) instruction, including offsets
    
    This also adds some code to handle per-quad lods for more than 4-wide fetches,
    because otherwise I'd have to integrate the texelFetch function into
    the splitting stuff... (but it is not used yet outside texelFetch).
    passes piglit fs-texelFetch-2D, fails fs-texelFetchOffset-2D due to I believe
    a test error (results are undefined for out-of-bounds fetches, we return
    whatever is at offset 0, whereas the test expects [0,0,0,1]).
    Texel offsets are only handled by texelFetch for now, though the interface
    can handle it for everything.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93c689a2dfa29cf3a4647432f0690bf76514b5bd
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:25 2012 +1300

    i965: Enable ARB_vertex_type_2_10_10_10_rev on Gen4+.
    
    v2 (Kayden): Move the enable into an existing intel->gen >= 4 block
    (as suggested by Ian).
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a64efc01bef924d4b22d0878b1fef89e5e5bbac
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:24 2012 +1300

    i965: emit w/a for packed attribute formats in VS
    
    Implements BGRA swizzle, sign recovery, and normalization
    as required by ARB_vertex_type_10_10_10_2_rev.
    
    V2: Ported to the new VS backend, since that's all that's left;
    	fixed normalization.
    
    V3: Moved fixups out of the GLSL-only path, so it works for FF/VP too.
    
    V4 (Kayden): Rework ES3 normalization, don't heap allocate registers;
    	tidy comments.
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=352ae51efd75602de99a9ddf7c494453c7d6cb1c
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:22 2012 +1300

    i965: set attribute w/a bits for packed formats
    
    Flag the need for various workarounds to be applied by
    the vertex shader.
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3c680950d9f7736723469ff74d0a3c9bbcaaeb1
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:21 2012 +1300

    i965: Generalize GL_FIXED VS w/a support
    
    Next few patches build on this to add other workarounds
    for packed formats.
    
    V2: rename BRW_ATTRIB_WA_COMPONENTS to BRW_ATTRIB_WA_COMPONENT_MASK;
    V3 (Kayden): remove separate bit for ES3 signed normalization
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23f4411c41f96a1b755259c4a6b23747e95a5ece
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:20 2012 +1300

    i965: support 2_10_10_10 formats in get_surface_type.
    
    Always use R10G10B10A2_UINT; Most of the other formats we'd like
    don't actually work on the hardware. Will emit w/a for scaling,
    sign recovery and BGRA swizzle in the VS.
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9a08f7f0f9f65546db4c7388e445fa39f0842c6
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:19 2012 +1300

    i965: implement get_size for 2_10_10_10 formats
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=894fe54ec9b859b9fa47cc153fdc3c23cb98455e
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Thu Nov 22 16:23:23 2012 +1300

    i965/vs: add support for emitting SHL, SHR, ASR
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f3570efc740dc36305c99b8c932a02427975cc9
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Nov 22 00:06:03 2012 -0800

    mesa: Use correct glGetTransformFeedbackVarying name in error msg
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f5e2ce8541855c65852dabbb19313fd0bb65b3d
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Fri Nov 16 10:46:06 2012 +0100

    build: use git ls-files for adding all Makefile.in into the release tarball
    
    Until we have proper 'make dist' this is an improvement of the current
    situation, because each time some old Makefiles got converted to automake
    we had to update the tarballs target.
    
    NOTE: This is a candidate for the 9.0 branch.
    
    Cc: Eric Anholt <eric at anholt.net>
    Acked-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=97747ac88fe9207dde83b275a93ebcee3a84dc01
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Nov 14 11:44:57 2012 -0800

    i965: Fix hangs with FP KIL instructions pre-gen6.
    
    We can't support IF statements in 16-wide on these.  To get back to 16-wide
    for these shaders, we need to support predicate on discard instructions in the
    backend IR, which is something we've sort of got on the list to do anyway.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55828
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=59bfd66a614177320817a97e1dadfcfcf3b9b092
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Nov 16 09:56:03 2012 -0800

    i965/gen4: Fix memory leak each time compile_gs_prog() is called.
    
    Commit 774fb90db3e83d5e7326b7a72e05ce805c306b24 introduced a ralloc context to
    each user of struct brw_compile, but for this one a NULL context was used,
    causing the later ralloc_free(mem_ctx) to not do anything.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55175
    NOTE: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=244db0855c3c604211d7a868240ec927610881dd
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Nov 13 15:54:41 2012 -0800

    i965/gen4: Fix LOD bias texturing since my fixed reg classes change.
    
    We have a special case where non-shadow comparison with LOD requires using a
    SIMD16 vec4 in an 8-wide shader, which appears in the register allocator as a
    size 8 vgrf.
    
    Fixes assertions in various piglit tests and webgl conformance.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56521

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cff4c948ed2708a6eb4b090ae87443a707cbd67f
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 23 00:38:44 2012 +0100

    r600g: fix broken streamout if streamout_begin caused a context flush
    
    This fixes graphics corruption in the case where the DISCARD_RANGE flag
    is used to map a buffer.
    
    NOTE: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d172fa825b21ce3ff4f5cd83d0de7ef7f3a8d865
Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Nov 22 22:40:06 2012 +0100

    r600g: fix ARB_map_buffer_alignment with unaligned offsets and staging buffers

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8840057710041e2d43fddfe4ef9f392c475e129
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Fri Nov 16 23:35:42 2012 -0800

    scons: Append x11 library path if linking x11 library.
    
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf75a1f09211a9ca90b2ea3366b3331919793f9d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Oct 12 12:46:44 2012 -0700

    mesa/vbo: Fix scaling issue in 2-bit signed normalized packing.
    
    Since a signed 2-bit integer can only represent -1, 0, or 1, it is
    tempting to simply to convert it directly to a float.  This maps it
    onto the correct range of [-1.0, 1.0].  However, it gives different
    values compared to the usual equation:
    
    (2.0 *  1.0 + 1.0) * (1.0 / 3.0) = +1.0           (same)
    (2.0 *  0.0 + 1.0) * (1.0 / 3.0) = +0.33333333... (different)
    (2.0 * -1.0 + 1.0) * (1.0 / 3.0) = -0.33333333... (different)
    
    According to the GL_ARB_vertex_type_2_10_10_10_rev extension, signed
    normalization is performed using equation 2.2 from the GL 3.2
    specification, which is:
    
       f = (2c + 1)/(2^b - 1).                                (2.2)
    
    Comments below that equation state: "In general, this representation is
    used for signed normalized fixed-point parameters in GL commands, such
    as vertex attribute values."  Which is what we're doing here.
    
    The 3.2 specification goes on to declare an alternate formula:
    
       f = max{c/(2^(b-1) - 1), -1.0}                         (2.3)
    
    which is closer to the existing code, and maps the end points to exactly
    -1.0 and 1.0.  Comments below the equation state: "In general, this
    representation is used for signed normalized fixed-point texture or
    framebuffer values."  Which is *not* what we're doing here.
    
    It then states: "Everywhere that signed normalized fixed-point
    values are converted, the equation used is specified."  This is the real
    clincher: the extension explicitly specifies that we must use equation
    2.2, not 2.3.  So we need to do (2x + 1) / 3.
    
    This matches the behavior expected by oglconform's packed-vertex test,
    and is correct for desktop GL (pre-4.2).  It's not correct for ES 3.0,
    but a future patch will correct that.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Tested-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9967aba61a7cc62ce13ab691d14bb5a26a86896
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Oct 12 11:17:39 2012 -0700

    mesa/vbo: Fix scaling issue in 10-bit signed normalized packing.
    
    For the 10-bit components, the divisor was incorrect.  A 10-bit signed
    integer can represent -2^9 through 2^9 - 1, which leads to the following
    ranges:
    
           (float)value.x          -> [ -512,  511]
    2.0F * (float)value.x          -> [-1024, 1022]
    2.0F * (float)value.x + 1.0F   -> [-1023, 1023]
    
    So dividing by 511 would incorrectly scale it to approximately:
    [-2.001956947, 2.001956947].  To correctly scale to [-1.0, 1.0], we need
    to divide by 1023.
    
    This correctly implements the desktop GL rules.  ES 3.0 has different
    rules, but those will be implemented in a separate patch.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Tested-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2df37f69a4e513b756fc193a544d48d8fd0ddac
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Wed Nov 21 18:48:18 2012 -0500

    radeonsi: add a new SI pci id
    
    Note: this is a candidate for the stable branch.
    
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10f214e5b248e5dd5f323c689549cd66d2f6ad22
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Tue Nov 13 23:20:42 2012 -0800

    i915: Fix wrong sizeof argument in i915_update_tex_unit.
    
    The bug was found by Coverity.
    
    NOTE: This is a candidate for the stable branches.
    
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=59b3d3ad6e77af92eb23b77c59dc60e6f9566d87
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Sat Nov 17 18:04:54 2012 +0100

    Add .dirstamp to toplevel .gitignore

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7e2e864c8c96f2befb140848ba47e8ede0a5547
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Wed Nov 21 18:17:00 2012 +0100

    gallium/tests: update .gitignore files

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

    i965/fs: Add helper functions for IF and CMP and use them.
    
    v2: Rebase on gen6-if fix.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32d6809bb50a08d9b80ed8b3d13cc6b76580a3a9
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Nov 9 12:01:05 2012 -0800

    i965/fs: Add helper functions for generating ALU ops, like in the VS.
    
    This gives us checking of our arguments (no more passing 1 operand to
    BRW_OPCODE_MUL!), at the cost of a couple of extra parens.
    
    v2: Rebase on gen6-if fix.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1665af3066f3d58c42e9d5b13098f13615a7672c
Author: Eric Anholt <eric at anholt.net>
Date:   Sun Nov 18 13:18:03 2012 -0800

    i965/gen4: Fix crash with fragment programs and texture rectangle.
    
    This was a regression in the brw_fs_fp.cpp change.  We just need to return
    something good enough to get the IR generation to the end without crashing,
    but ir->type isn't initialized and we wanted something of the coordinate's
    type anyway.
    
    Fixes around 30 piglit cases on my ilk system in drawpixels and framebuffer
    blit.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56962
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d411bbd5bd895617e265e023213895100e4509ef
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Nov 15 12:00:33 2012 -0800

    i965: Disable the GB clip test when a limited viewport is set.
    
    The theory of the guardband is that you extend the clip volume to avoid
    expensive clipping computation, and just let fragments outside the viewport
    get clipped by the drawable's bounds.  But if a smaller-than-window-size
    viewport is set, and we don't also happen to have a scissor set, then
    rendering could incorrectly extend outside of the viewport when it should have
    been clipped to the viewport.
    
    Fixes the new piglit triangle-guardband-viewport test.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    NOTE: This is a candidate for the 9.0 branch.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23e7b81f2d742d292d77b53ac9cf72c3d89fc798
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Nov 15 11:55:36 2012 -0800

    i965: Use fewer temporary variables in clip setup.
    
    When you're comparing to the spec, you're trying to immediately see what
    numbered dword of the packet your bit ends up in.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    NOTE: This is a candidate for the 9.0 branch.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=afc5a26b5c48f9f2399a092228ad8d6da0c42711
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov 12 13:16:02 2012 -0800

    Revert "i965/fs: Fix conversions float->bool, int->bool"
    
    This reverts commit cf0bbb30f6bd9d3fa61b5207320e8f34c563a2c6.  It
    was just papering over the bug fixed in the previous commit.
    
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0482998ccc205a9d29953c7a8b33f41ae3584935
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov 12 13:13:55 2012 -0800

    i965/fs: Fix the gen6-specific if handling for 80ecb8f15b9ad7d6edc
    
    Fixes oglconform shad-compiler advanced.TestLessThani.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48629
    NOTE: This is a candidate for the 9.0 branch.
    
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9f5126b15440fecf6ff705d5b9766767c1712af
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Mon Nov 19 11:43:51 2012 -0800

    intel: Use designated initializers for DRI extension structs
    
    All Intel code is compiled with -std=c99. There is no excuse to not use
    designated initializers.
    
    As a nice benefit, the code is now more friendly to grep. Without
    designated initializers, psychic prowess is required to find the
    initialization of DRI extension function pointers with grep.  I have
    observed several people, when they first encounter the DRI code, fail at
    statically chasing the DRI function pointers due to this problem.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62332f41254c385e2290e8ee2d665c3116b3c1d6
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Mon Nov 19 13:40:00 2012 -0800

    dri: Use designated initializers for DRI extension structs
    
    The dri directory is compiled with -std=c99. There is no excuse to not use
    designated initializers.
    
    As a nice benefit, the code is now more friendly to grep. Without
    designated initializers, psychic prowess is required to find the
    initialization of DRI extension function pointers with grep.  I have
    observed several people, when they first encounter the DRI code, fail at
    statically chasing the DRI function pointers due to this problem.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fdd6d146d988f920744592ad7ba5667ef2981620
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov 5 09:53:31 2012 -0800

    i965: Use the separate stencil buffer's offsets for stencil setup.
    
    For a packed depth/stencil buffer on separate stencil hardware, the
    separate depth miptree is set up with alignment of 4,4 and the separate
    stencil miptree is setup with alignment of 8,8.  We can't just use the
    irb->draw_{x,y} offsets for stencil, since that is the offset in the
    depth miptree.
    
    Fixes 12 piglit depthstencil testcases on ivb.
    
    Acked-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52ee1a7269b84b60558760655a4c722d827703d4
Author: Eric Anholt <eric at anholt.net>
Date:   Sun Nov 4 12:47:02 2012 -0800

    i965: Move all the depth/stencil/hiz offset logic into the workaround.
    
    Given that we have the mask information here (assuming the rebase is to
    the same tiling, which is safe), we can just save a set of miptrees and
    offsets and the global intra-tile offset in the context and cut out a
    bunch of logic.  This will also save emitting the next fix I need to do
    twice.
    
    Acked-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ec6a54ba94264d4d6c6ddbced2144a882a23cfa
Author: Eric Anholt <eric at anholt.net>
Date:   Sun Nov 4 14:45:05 2012 -0800

    i965: When rebasing depth or stencil, update x/y before deciding the other.
    
    Fixes a theoretical problem where we had an aligned depth buffer and a
    misaligned stencil buffer with a matching tile offset, so we would fail
    to rebase depth even after the needed tile offset changed due to the
    rebase of stencil.
    
    It should also fix double-rebase of a misaligned packed depth/stencil
    renderbuffer, which may have been a performance issue.
    
    Acked-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=be9e66430763aa2785cbd12d483c7eb9e7055436
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Oct 31 17:00:21 2012 -0700

    intel: Push face/level -> slice handling to the caller of get_image_offset().
    
    We were always passing 0 for one of the two fields, and the code just used
    whichever one wasn't 0.
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1fabea1c5a40c60176201f55253bd463fd146f5
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Oct 31 16:57:51 2012 -0700

    i965: Add some checks for array textures in unsupported paths.
    
    I noticed these in the next patch where these paths were using the Face
    of a teximage but didn't have array handling.
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=923c4b3f4a70737f7f36894dc0b4648f04fd8c19
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Oct 31 14:30:13 2012 -0700

    i965: Add a little bit more debug info for validate blits.
    
    The kind of data you're copying is definitely an interesting variable.
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5671040c5f8e223c48c96ebb8a2fb98c86b741b
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov 5 14:47:42 2012 -0800

    intel: Remove dead function prototype.
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f35ec585f193bd6cb5d077a3927a7395591aca0
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Oct 31 16:25:02 2012 -0700

    i965: Remove stale comment about wrapped_depth.
    
    I removed that code almost a year ago.
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>




More information about the mesa-commit mailing list