Mesa (gles3): 254 new commits

Ian Romanick idr at kemper.freedesktop.org
Sat Dec 1 19:36:17 UTC 2012


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=49341502bdfc70275167b5128a941e37fb5511e0
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=f3ad9309c4bd8840fad580b954243bc83b9d4b67
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=404058f7d6db0f0f06093e416473d04bc6545148
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=115966dbf53c537fbc84e129700c99e37b1deb20
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=ab8a725ee8754db19e40e086032c683a87fadfe5
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=afb114e23fef0ec3e20c29889e6e58300def73a7
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=88a29f25bc1046fc57c0edf17469fea5c743044a
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=9558ebcbae43221fc1d2db531261b404bbf7e152
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=b968e4d29e210cec2d72a9d6d5ae214b0a7623af
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=e3633370aaaebfde66cf110627c13bc447700958
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=f6e6a8f3639f3e12981682a77491289842c9df15
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=7852008af4ff20822aa67c7fb2519b2f28213655
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=a208bf0edb36e079fa88a117aa5e15470b9418c5
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=7d97c93b6f1e4e9cbb95cfa33867419e43083a92
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=b1d4f06acf40dc03873286a8e4e4269e143fc197
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=f01c3aa9c111cec03f0e05e2ce274bcf4245cb38
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=7f1a8b98cd79500479e20600a4d6549f595ac37c
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=58725e516b5ca9ff95aff85abc3c4a3c069f6a5e
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=3c6f607594e876ed59037923bf5610c2fcf60ba5
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=50044cb1f9166280df73436b39e0d5ed6d0f7130
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=2c8fbef63049e9f17757fa9beb1233d940eacc05
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=54814cd3fd648cfdfa29a6633a790c6f4a98d5aa
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=aaea83aca561686bdf7973006551acff1d6dade8
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=c5e4cbc34a200e890fe382e5f25da6d36944baef
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=5a636cddffccc253b3a3f730df87682b043871b6
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=bfb79f9d0135aca958f4673ff1f4b101f17764af
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=192b1fe940bf05754f5a877f3ff743ed32b424c7
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=f6c4efedf97e3e8a7ee40b39b8cc5bb096f32ce1
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=882f3205e7e69662719a14eb1c92edd8cf8ccfd7
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=48b4fc1a729e3f36131a7e96d9c289f904ea0e1c
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=96857006583d9c60f3125ab13200d9da086940ab
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=3fe1909e0fbf6ce5d74ebacb3e98a8fa6366194a
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=bd246baebc8f6433d837c909ccea2bfa2221576e
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=4090f7b9c48edafbb59704272a263c259e67d2f9
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=78d5932dc6d1418dd4f6d43fc5c8bb83a5cf38f5
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=f645887d7127791de4dd2ba8df5b89e1e46a847f
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=fbdaa49990aac201c0f6742e39a9268eb83372f8
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=60a0905a130e005de4579571f738bb324f92fad6
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=67a6075158f2d5975d1793ef2420985bb626b2e1
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=f5e17c27c344d32c6e218212e300989e6d12a626
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=681485f68433bcd0baf22570b7b3027a619355f0
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=f0b5d1d546bfbfaf6f530c5fd72809170f3adf15
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=b3f306cf973539964a34547b5c6a7e81af665fd2
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=a2fddf149cbe52ee0d9a325860d33a53e8f2843f
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=f73bfd4e21402672cd8b8ba74842bfeb4f36e0ea
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=111da529e45afb334c36a2b0e5ae114514c802ce
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=25370f3220099dfbb5a8d0e67ffc9eda52e88b57
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=98c8637ff608c05ba30a8a8ab422dff9c98668d0
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=45c73a481f393e434ce97fef7877739d27e54884
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=3bdd2b34e5b434f3631014b919d4665e3ac8c87e
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=1c91b554e5b383fdb57aa677ce3e9d12510bf2b6
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=021a95d154b8b8b45a3a3a11dc5a86f0cb685065
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=90b017078cd3c5a002418ee8636606ded753294f
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=58776474ecddc07d50593c3baf5c8b66d11443aa
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 19 22:36:28 2012 -0800

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

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8e6db86e16039c2e613fe03da96ff13a28ab93a
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=db7c2194d92c6a85667d1911bebd86ca76e864c5
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=46e800f13dcc99b7c458ffa26bb83eef4bd38c86
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=8ddf3fcccfba3e4f1febada6e193ef7c8972f046
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=081436f32d3932147a8c746af640898a46c67aa6
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=78a8e4c06b029cef0ab3679f7691d9374ae8ed5b
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=c1d23900131b5651119011d95cdec820332c5ba1
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=d0c199702e8db2a3aaa6156a5ac0836d7e3c9103
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=384556c0d532766149193f13e88ed4e8e08975f4
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=25e01058f05f6913051fbc09aed7ca7e48f8211d
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=4e3de99cd67de85f065ff514544ed7ca2395aa01
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=f359cb4b20b18a771948c3e55091f311637d907a
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=d52aea6e1bc2ee11e50f8ab783841e3ca49ecdda
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=5458ffb086df78b5e44de86bdec06d08be6e14fd
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=e3cce536bde25823888edd47f100334653f47d81
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=056827fa0a0fd83e08cc46a758ec10fb984de2f6
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=fe65fb87997f613acb17c51a506e559e31686635
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=5b391ae7b140340e1e038580163832b4ffeaa06f
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=725cb0bf26495a1a5d769f09017681164de5d427
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=10c88919aed43b90d2870981706c0c50a9b72e58
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=416ca57367a88cf0df80de02386b01523fa1a4bb
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=69930a618a79fb755556e3d4a8d8fb2b292ab596
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=38b3b30d3c8513193b1ffc8441149909a7d8bc05
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=2b3b2c4ea0fc4a43ae5886f1840b1de047d727aa
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=196f5f51f48768099634b48bc116fdf8d8712712
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=900fd8a37cbcdfe7de8ab98e885bbfd2915207df
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=dd2b19ff7784d286ec7a0ffa88d8d93e97d35234
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=587bd16d0d8ceb7313eaf0604b98797e140a386d
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Fri Nov 30 20:46:23 2012 +0100

    gallivm: drop border wrap clamping code
    
    The border clamping code is unnecessary, since we don't care if a wrapped
    coord value is -1 or <-1 (same for length vs. >length), in either case the
    border handling code will mask out the offset and replace the texel value with
    the border color.
    Note that technically this is not entirely correct. Omitting clamping on the
    float coords means that flt->int conversion may result in undefined values for
    values of very large magnitude.
    However there's no reason we should honor this here since:
    a) we don't care for that for ordinary wrap modes in the aos code when
       converting coords and the problem is worse there (as we've got only
       effectively 24 instead of 32bits)
    b) at least in some cases the clamping was done already in int space hence
       doing nothing to fix that problem.
    c) with sse2 flt->int conversion with such values results in 0x80000000 which
       is just perfect (for clamp to border - not so much for the ordinary clamp to
       edge).
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=224d0e4a3ffee9df46b5340ed236f2d48eeb0778
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 30 15:23:41 2012 +0100

    r300g: handle map flag DISCARD_WHOLE_RESOURCE
    
    This should improve performance in apps which trigger this codepath.
    (e.g. Wine does)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da7029dcb498f80d1837323038617b49cc28431f
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Thu Nov 29 23:10:03 2012 -0800

    radeon: Fix memory leak in radeonCreateScreen2.
    
    Fixes a memory leak defect reported by Coverity.
    
    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=a17750b6884939a36947c76a30d3077f1488f943
Author: Brian Paul <brian.e.paul at gmail.com>
Date:   Fri Nov 30 19:11:21 2012 -0800

    nouveau: Fix build.
    
    Fixes nouveau build failure introduced at
    c73245882c7ff1277b190b97f093f7b423a22f10.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57746
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3476ec8fa5a94d469a12318c537b13ce9cc5a45
Author: Dave Airlie <airlied at gmail.com>
Date:   Fri Nov 30 20:24:33 2012 +1000

    glsl: fix uninitialised variable from constructor
    
    Coverity pointed out this uninitialised class member.
    
    Note: This is a candidate for stable branches.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=906670a7906a785210c872f637239bf4afa5b63d
Author: Dave Airlie <airlied at gmail.com>
Date:   Fri Nov 30 20:23:20 2012 +1000

    glsl: initialise killed_all field.
    
    coverity pointed out this field was being used uninitialised.
    
    Note: This is a candidate for stable branches.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d128ae347add426e4570c2e18ddee0cb4ed83401
Author: Dave Airlie <airlied at gmail.com>
Date:   Fri Nov 30 20:02:39 2012 +1000

    svga: remove pointless assert on unsigned >= 0
    
    all unsigneds are >= 0 :-)
    
    There may be an argument for leaving this in, in case someone
    changes min_lod to an integer, so feel free to apply or drop.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

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

    glsl: fix cut-n-paste error in error handling. (v2)
    
    Reported by coverity scan.
    
    v2: fix second case
    
    Note: This is a candidate for stable branches.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

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

    r300g: fix comparison of hyperz flush time.
    
    I haven't confirmed this is doing the correct thing, but at
    least this might make someone review it!
    
    Reported by internal RH coverity scan.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

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

    dri_glx: fix use after free report
    
    the critical error would use driverName.
    
    Found by internal RH coverity scan.
    
    Note: This is a candidate for stable branches.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a47a0200a78ed8bddcf0c79b4b630e475e7357ca
Author: Carl Worth <cworth at cworth.org>
Date:   Fri Nov 30 17:17:56 2012 -0800

    Revert "glcpp: Rewrite line-continuation support to act globally."
    
    This reverts commit 962a1c07b44fe500b79b3ca6806d72a432c1f055.
    
    Further testing revealed that this commit can cause the pre-processor to enter
    infinite loops. For now, simply revert this code until a cleaner,
    better-tested version is available.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=962a1c07b44fe500b79b3ca6806d72a432c1f055
Author: Carl Worth <cworth at cworth.org>
Date:   Thu Nov 29 14:49:46 2012 -0800

    glcpp: Rewrite line-continuation support to act globally.
    
    Previously, we were only supporting line-continuation backslash characters
    within lines of pre-processor directives, (as per the specification). With
    OpenGL 4.2 and GLES3, line continuations are now supported anywhere within a
    shader.
    
    While changing this, also fix a bug where the preprocessor was ignoring
    line continuation characters when a line ended in multiple backslash
    characters.
    
    The new code is also more efficient than the old. Previously, we would
    perform a ralloc copy at each newline. We now perform copies only at each
    occurrence of a line-continuation.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=60a11e295b86475ff334291a5b483e422371b21c
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date:   Thu Nov 22 15:34:49 2012 +0200

    egl/wayland: Dispatch the event queue before get_buffers
    
    When a client frame callback is executed and the client starts rendering
    again, the egl event queue might not have been dispatched so that the
    buffer release event for the previous frame hasn't been processed. In
    that case a third buffer is allocated, even though it would be possible
    to reuse the buffer that was just released.
    
    The wl_display_dispatch_queue_pending() entry point is available from
    wayland-client 1.0.2, so require that in configure.ac.  Also, just
    let the pkg-config macro throw its own error, which will show what version
    we were looking for and failed to find.
    
    Note: This is a candidate for stable branches.
    
    Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=89ba4368fd86778405eea163e2b27812055f0df9
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Fri Nov 30 13:29:17 2012 -0500

    egl/wayland: Add invalidate back in eglSwapBuffers()
    
    Commit ca3ed3e024864e91ca3cccc59fb96950e1d079b5 fixed the problem where
    eglMakeCurrent would trigger a getbuffer callback that then breaks the
    following wl_egl_window_resize() call.  However, we still need to
    invalidate buffers in eglSwapBuffers, since in wayland we always swap
    buffers, so the dri driver needs to come out and ask us for the next buffer
    after each swapbuffer.
    
    Note: this is a candidate for stable branches.
    
    Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d0bb74a11f1905e32f6db23fbf8bb29ff8fa367
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Nov 17 15:10:53 2012 -0800

    i965/fs: Add fs_reg::is_zero() and is_one(); use for opt_algebraic().
    
    These helper macros save you from writing nasty expressions like:
    
       if ((inst->src[1].type == BRW_REGISTER_TYPE_F &&
             inst->src[1].imm.f == 1.0) ||
            ((inst->src[1].type == BRW_REGISTER_TYPE_D ||
              inst->src[1].type == BRW_REGISTER_TYPE_UD) &&
             inst->src[1].imm.u == 1)) {
    
    Instead, you simply get to write inst->src[1].is_one().  Simple.
    Also, this makes the FS backend match the VS backend (which has these).
    
    This patch also converts opt_algebraic to use the new helper functions.
    As a consequence, it will now also optimize integer-typed expressions.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cedb65a43ae81c7ac71e631c854b7404dd2b61b
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Nov 30 10:11:54 2012 -0700

    st/mesa: fix context use-after-free problem in st_renderbuffer_delete()
    
    The use-after-free happened when the renderbuffer was shared by multiple
    contexts and we tried to delete the renderbuffer using a context which
    was previously deleted.
    
    Note: this is a candidate for the stable branches.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=51223784d6a8ee93cf004c9ba87a7e4dcb7b3161
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Nov 30 10:10:25 2012 -0700

    util: added pipe_surface_release() function
    
    To fix a pipe_context::surface_destroy() use-after-free problem.
    We previously added pipe_sampler_view_release() for similar reasons.
    
    Note: this is a candidate for the stable branches.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c73245882c7ff1277b190b97f093f7b423a22f10
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Nov 30 10:04:48 2012 -0700

    mesa: pass context parameter to gl_renderbuffer::Delete()
    
    We sometimes need a rendering context when deleting renderbuffers.
    Pass it explicitly instead of trying to grab a current context
    (which might be NULL).  The next patch will make use of this.
    
    Note: this is a candidate for the stable branches.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca3ed3e024864e91ca3cccc59fb96950e1d079b5
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date:   Fri Nov 30 17:41:02 2012 +0200

    egl/wayland: Don't invalidate drawable on swap buffers
    
    We used to invalidate the drawable after a call to eglSwapBuffers(),
    so that a wl_egl_window_resize() would take effect for the next frame.
    However, that leads to calling dri2_get_buffers() when eglMakeCurrent()
    is called with the current context and surface, and a later call to
    wl_egl_window_resize() would not take effect until the next buffer
    swap.
    
    Instead, add a callback from wl_egl_window_resize() back to the wayland
    egl platform, and invalidate the drawable only when it is resized.
    
    This solves a bug on wayland clients when going back to windowed mode
    from fullscreen when clicking a pop up menu, where the window size
    after this would be the fullscreen size.
    
    Note: this is a candidate for stable branches.
    CC: wayland-devel at lists.freedesktop.org

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5c53245afcb35632cc662ff7f84a578eba864c3
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Nov 29 15:11:13 2012 -0500

    egl: Only enable GLX backend if X11 EGL platform is enabled
    
    We don't want to compile in a bunch of X11 dependencies in libEGL if
    we can't run EGL on X11.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7177e362eb2afb0772fa6a611b94c80301ef725
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Fri Nov 30 07:05:24 2012 +0000

    llvmpipe: Remove remnants of lp_tile_soa from Makefile.
    
    Completely forgot about updating Makefile when removing it. Stephane
    already fixed the make build, but there were a few mentions of
    lp_tile_soa left in the tree.

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

    i965/fp: Fix segfault on gen4 TXB instructions.
    
    The gen4 simd16 workaround looks at ir->type to determine how much
    storage to allocate for the simd16 value.  In fragment programs,
    texturing only ever returns float vec4s (unlike GLSL, which can also
    have scalar floats or vector integers), so this is the right type.
    
    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=f126f34c1d1726336586da7f5a726546963a0f0a
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Wed Nov 28 22:36:30 2012 -0800

    llvmpipe: Fix incorrect sizeof.
    
    Fixes sizeof not portable defects reported by Coverity.
    
    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=4430d44eac524e4910a01736edec34a0fbd428aa
Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Thu Nov 29 19:49:44 2012 -0800

    llvmpipe: Fix build break from 75da95c50
    
    The Makefile looks for a file which is gone (lp_tile_soa.c)
    
    http://bugs.freedesktop.org/show_bug.cgi?id=57713

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ab896243cfdee7f6a626aceb26e4cb88bd4da2d
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Fri Nov 16 10:47:56 2012 -0800

    mesa: Fix GL_LUMINANCE handling for textures in glGetTexImage
    
    We need to rebase colors (ex: set G=B=0) when getting GL_LUMINANCE
    textures in following cases:
    1. If the luminance texture is actually stored as rgba
    2. If getting a luminance texture, but returning rgba
    3. If getting an rgba texture, but returning luminance
    
    A similar fix was pushed by Brian Paul for uncompressed textures
    in commit: f5d0ced.
    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=47220
    
    Observed no regressions in piglit and ogles2conform due to this fix.
    This patch will cause failures in intel oglconform pxconv-gettex,
    pxstore-gettex and pxtrans-gettex test cases. The cause of failures
    is a bug in test cases. Expected luminance value is calculted
    incorrectly in test cases: L = R+G+B.
    
    V2: Set G = 0 when getting a RG texture but returning luminance.
    
    Note: This is a candidate for stable branches.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Ian Romanick <idr at freedesktop.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=53ba40c1567125e9462289be01f5c137701f4f5d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Nov 29 13:47:13 2012 -0800

    Revert "meta: Don't try to glOrtho when the draw buffer isn't initialized."
    
    This reverts commit 9947470655bbf8f4a9c98fe6d93ff5c3486f1124.
    Apparently it caused a lot of Piglit regressions.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fcb3fbf22063cabfec04700dcf5aa4a2f30760f
Author: Vincent Lejeune <vljn at ovi.com>
Date:   Wed Nov 28 19:59:07 2012 +0100

    r600g: mirror simplification of if/break opcodes
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fda2990aa1a52a11a87eeb5ccf914588e0afe21
Author: Vincent Lejeune <vljn at ovi.com>
Date:   Tue Nov 20 23:22:47 2012 +0100

    r600g: separate resource_id and sampler_id tex info in tgsi-to-llvm
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ff6b528867a2ad16be44ed6d023069a9a924b8d
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 21:43:45 2012 -0800

    glcpp: Update README for new support of __LINE__ and __FILE__.
    
    Drop these from the known limitations list since support was recently added
    for these.
    
    Also, fix a typo while in the area, (and the oddly missing final newline).
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=89cd6df03481dcf0dae948878ad1f77c819b442d
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 17:32:03 2012 -0800

    glcpp: Add test involving token pasting of INTEGER tokens.
    
    This test file is very similar to test 113-line-and-file-macros but uses token
    pasting for cleaner quiz answers (without spaces between the digits). This
    test passes thanks to the recent addition of support for pasting INTEGER
    tokens, (but would have failed without that).
    
    (Note that this test is distinct from test 059-token-pasting-integer which
    pastes integers parsed from the source. Those are parsed to INTEGER_STRING
    tokens and are already pasted correctly as verified by that test. The only way
    to generate the INTEGER tokens which currently fail to paste is with an
    internal define such as __LINE__ that results in an integer.)
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=522d1ccd77a7eea0421bcb0dcfa88b601146b6d1
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 17:34:36 2012 -0800

    glcpp: Add support for pasting of INTEGER tokens.
    
    By generalizing the current code designed to paste string tokens of various
    types.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1597f0a81f8fef55c48bd01f81acf2f3ff7f9b7
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 13:01:24 2012 -0800

    glcpp: Flag invalid pastes for integer followed by non-digits
    
    As recently tested in the additions to the invalid paste test, it is illegal
    to paste a non-digit sequence onto the end of an integer.
    
    The 082-invalid-paste test should now pass again.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c86eb0cd65f04a242952bfc610d80341673b3d52
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 12:57:09 2012 -0800

    glcpp: Extend the invalid-paste test
    
    The current code lets a few invalid pastes through, such as an string pasted
    onto the end of an integer. Extend the invalid-paste test to catch some of
    these.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=01b83171c9d5529a9660ba404cc059daa318fc64
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 12:11:02 2012 -0800

    glcpp: More factoring-out of common code to simplify things.
    
    This time creating a new _token_list_create_with_one_integer function
    modeled after the existing _token_list_create_with_one_space function
    (both implemented with new _token_list_create_with_one_ival).
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea34ac499d46407d8d90baa4a8fd9082ba6b3ea7
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 12:03:50 2012 -0800

    glcpp: Factor out a tiny bit of repeated code.
    
    This function is getting a little long too read. Simplify it by pulling
    up one assignment from every condition.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=907a10378e4c63686abe0739634b30615018ccd1
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Nov 28 11:52:05 2012 -0800

    glcpp: Add support for __LINE__ and __FILE__ macros
    
    These tokens are easy to expand by just looking at the current, tracked
    location values, (and no need to look anything up in the hash table).
    
    Add a test which verifies __LINE__ with several values, (and verifies __FILE__
    for the single value of 0). Our testing framework isn't sophisticated enough
    here to have a test with multiple file inputs.
    
    This commit fixes part of es3conform's preprocess16_frag test.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbd6135bc1ba285128ab991c03c4df6fbd6fefe8
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Nov 27 12:26:51 2012 -0800

    mesa: Rename API_OPENGL to API_OPENGL_COMPAT.
    
    This should help avoid confusion now that we're using the gl_api enum
    to distinguishing between core and compatibility API's.  The
    corresponding enum value for core API's is API_OPENGL_CORE.
    
    Acked-by: Eric Anholt <eric at anholt.net>
    Acked-by: Matt Turner <mattst88 at gmail.com>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e163a137be7f9a80ec720903c4bda028de5681f
Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Nov 29 02:55:01 2012 +0100

    gallium/postprocess: share pipe_context and cso_context with the state tracker
    
    Using one context instead of two is more efficient and
    we can skip another context flush.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=135fe907a016ec20b6779f6b3a657563e89c1081
Author: Marek Olšák <maraeo at gmail.com>
Date:   Wed Nov 28 19:07:18 2012 +0100

    mesa: move some helper functions from fboobject.c to glformats.c
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fda2e9147d646ea012b33c870e45d680ec56f22
Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Thu Nov 29 09:48:00 2012 +0200

    android: include api_exec.c in generated files list
    
    Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c9c18a395d9b70ef76ca694a67743f0338a4665
Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Nov 29 16:52:06 2012 +0000

    gallivm: Fix lp_build_float_to_half.
    
    The current implementation was close by not fully correct: several
    operations that should be done in floating point were being done in
    integer.
    
    Fixes piglit fbo-clear-formats GL_ARB_texture_float
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5918d8f1d0d963e58ede1f82ecd836a815cfd89
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Nov 29 04:00:35 2012 +0100

    gallivm: fix a trivial txq issue for 2d shadow and cube shadow samplers
    
    untested (couldn't get the piglit test to run even with version overrides)
    but seemed blatantly wrong.
    In any case it would only affect an error case which when it would happen
    probably all hope is lost anyway.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d50148742512606f2abd76a2dcef6c87a5c7471
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Nov 29 04:08:32 2012 +0100

    llvmpipe: support array textures
    
    This adds array (1d,2d) texture support to llvmpipe.
    Though probably should do something about 1d array textures requiring gobs
    of memory (this issue is not strictly limited to arrays but it is probably
    worse there).
    Initial code by Jakob Bornecrantz <jakob at vmware.com>
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=95e03914d82f4a3722cda00cd6eda54a6f328a73
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Nov 29 04:06:48 2012 +0100

    gallivm: support array textures
    
    Support 1d and 2d array textures (including shadow samplers),
    and (as a side effect mostly) also shadow cube samplers.
    Seems to pass the relevant piglit tests both for sampling and rendering
    to (though some require version overrides).
    Since we don't support render target indices rendering to array textures
    is still restricted to a single layer at a time.
    Also, the min/max layer in the sampler view (which is unnecessary for GL)
    is ignored (always use all layers).
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88e92f5bcd41a4affc0f5fc4433f7c9029cb8c03
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 21:06:03 2012 +0000

    llvmpipe: Remove lp_build_blend_soa()
    
    No longer used/necessary, as we always blend in AoS now.
    
    Trivial.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=75da95c50aedaa4b1abf51ec1dcaf2fe8ddd4f3b
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 20:14:17 2012 +0000

    llvmpipe: Eliminate color buffer swizzling.
    
    Now dead code.
    
    Also had to remove the show_tiles/show_subtiles because now the color
    buffers are always stored in their native format, so there is no longer
    an easy way to paint the tile sizes.
    
    Depth-stencil buffers are still swizzled.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6916387e5396a891f2ffbc68866802d03f6a0939
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 19:25:05 2012 +0000

    llvmpipe: Only advertise unswizzled formats.
    
    Update llvmpipe_is_format_supported and llvmpipe_is_format_unswizzled
    so that only the formats that we can render without swizzling are
    advertised.
    
    We can still render all D3D10 required formats except
    PIPE_FORMAT_R11G11B10_FLOAT, which needs to be implemented in a future
    opportunity.
    
    Removal of rendertarget swizzling will be done in a subsequent change.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f06061d50f90bf425a5337cea1b0adb94a46d25
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 19:20:18 2012 +0000

    util/u_format: Kill util_format_is_array().
    
    It is buggy (it was giving wrong results for some of the formats with
    padding), and util_format_description::is_array already does precisely
    what's intended.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

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

    util/u_format: Tighten the meaning of is_array bit to exclude mixed type formats.
    
    This is what we want in practice.
    
    The only change is in PIPE_FORMAT_R8SG8SB8UX8U_NORM, which no longer is
    considered an array format.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=64e9ec634b1d8ea20b83ab49f889121c17691368
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 13:48:45 2012 -0600

    util/u_format: Fix format manipulation for big-endian
    
    This patch fixes various format manipulation for big-endian
    architectures.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e25abacc1883f1b2e09c32230e35ffae7df5e61b
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 13:48:45 2012 -0600

    gallivm: Fix format manipulation for big-endian
    
    This patch fixes various format manipulation for big-endian
    architectures.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b772d784b25771ff939e3c0c87fdf0d8053827be
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 12:23:23 2012 -0600

    gallivm: Add byte-swap construct calls
    
    This patch adds two more functions in type conversions header:
    * lp_build_bswap: construct a call to llvm.bswap intrinsic for an
      element
    * lp_build_bswap_vec: byte swap every element in a vector base on the
      input and output types.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86902b513469635bb0bc027db0500e2f4d6c498d
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 13:42:45 2012 -0600

    gallivm: Fix vector constant for shuffle
    
    This patch fixes the vector constant generation used for vector shuffle
    for big-endian machines.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29ba79b2c929ea23b45fa065fe7c9f8fd400210c
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 11:55:35 2012 -0600

    gallivm: clear Altivec NJ bit
    
    This patch enforces the clear of NJ bit in VSCR Altivec register so
    denormal numbers are handles as expected by IEEE standards.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43ce9efdbf8c8e1200fe54744820ca2523f36e6b
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 11:37:18 2012 -0600

    gallivm: Altivec floating-point rounding
    
    This patch adds Altivec intrinsics for float vector types. It changes
    the SSE specific definitions to a platform neutral and adds the calls
    to Altivec intrinsic builder.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd5c58081672bd495e0ffef1c3cc1229620f0f88
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 11:20:42 2012 -0600

    gallivm: Altivec vector add/sub intrisics
    
    This patch add correct vector addition and substraction intrisics when
    using Altivec with PPC. Current code uses default path and LLVM backend
    ends up issuing carry-out arithmetic instruction while it is expected
    saturated ones.
    
    It also includes a fix for PowerPC where char are unsigned by default,
    resulting in bogus values for vector shifting.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ea7d3dabd01608c1d0b020ef941912bd3893a96
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 11:03:11 2012 -0600

    gallivm: Altivec vector max/min intrisics
    
    This patch adds the PPC Altivec instrics max/min instruction for
    supported Altivec vector types (16xi8, 8xi16, 4xi32, 4xf32).
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31c63b058edd988004e1bea261a03235a8752229
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date:   Thu Nov 22 10:54:45 2012 -0600

    gallivm: Altivec pack/unpack intrisics
    
    This patch adds PPC Altivec support for pack/unpack operations using Altivec
    supported vector type (8xi8, 16xi16, 4xi32, 4xf32).
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b6aec6533cc1fc09e27757aefa8ad3dbd662684
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Nov 27 19:53:58 2012 +0100

    radeonsi: Bitcast result of packf16 intrinsic to float for export intrinsic.
    
    Fixes 7 piglit tests, and prevents many more from crashing.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-and-Tested-by: Christian König <christian.koenig at amd.com>

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

    i965/vs: Move struct brw_compile (p) entirely inside vec4_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.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eda9726ef51dcfd3895924eb0f74df8e67aa9c3a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 22:53:10 2012 -0800

    i965/vs: Split final assembly code generation out of vec4_visitor.
    
    Compiling shaders requires several main steps:
    
       1. Generating VS 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 "vec4_generator."
    
    There are several reasons for doing so:
    
       1. Future hardware has a different instruction encoding.  Splitting
          this out will allow us to replace vec4_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 vec4_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
          vec4_visitor and create IR, while ADD() in vec4_generator() can
          create brw_instructions.  (Patches for this upcoming.)
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=db6231fece32a0cec6050ca570a04362036f4f48
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 21:56:06 2012 -0800

    i965/vs: 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 after the split.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8af8a26480e9e71fb1501b675f21a469c1699b9b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 23:59:32 2012 -0800

    i965/vs: Move uses of brw_compile from do_vs_prog to brw_vs_emit.
    
    The brw_compile structure is closely tied to the Gen4-7 hardware
    encoding.  However, do_vs_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: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=746fc346eae21d227b06799f3e82a1404c75bdc9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 23:52:20 2012 -0800

    i965/vs: Rework memory contexts for shader compilation data.
    
    During compilation, we allocate a bunch of things: the IR needs to last
    at least until code generation...and then the program store needs to
    last until after we upload the program.
    
    For simplicity's sake, just keep it all around until we upload the
    program.  After that, it can all be freed.
    
    This will also save a lot of headaches during the upcoming refactoring.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=031146736c5b4e3c955a81440c6b02c5427fda0e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 23:07:51 2012 -0800

    i965/vs: Pass the brw_context pointer into brw_compute_vue_map().
    
    We used to steal it out of the brw_compile struct, but that won't be
    initialized in time soon (and is eventually going away).
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=403bb1d306c5bc23ad9e2c26fd39071e6e41f665
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 22:14:27 2012 -0800

    i965/vs: Pass the brw_context pointer into vec4_visitor and do_vs_prog.
    
    We used to steal it out of the brw_compile struct...but vec4_visitor
    isn't going to have one of those in the future.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

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

    i965/vs: Move some functions from brw_vec4_emit.cpp to brw_vec4.cpp.
    
    This leaves only the final code generation stage in brw_vec4_emit.cpp,
    moving the payload setup, run(), and brw_vs_emit functions to brw_vec4.cpp.
    
    The fragment shader backend puts these functions in brw_fs.cpp, so this
    patch also helps with consistency.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9947470655bbf8f4a9c98fe6d93ff5c3486f1124
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Nov 26 21:11:14 2012 -0800

    meta: Don't try to glOrtho when the draw buffer isn't initialized.
    
    I ran across this while running a glGenerateMipmap() test.
    
    _meta_GenerateMipmap sets MESA_META_TRANSFORM, which causes
    _mesa_meta_begin to try and set a default orthographic projection.
    
    Unfortunately, if the drawbuffer isn't set up, ctx->DrawBuffer->Width
    and Height are 0, which just causes an GL_INVALID_VALUE error.
    
    Fixes oglconform's fbo/mipmap.automatic, mipmap.manual, and
    mipmap.manualIterateTexTargets.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d1ee38a4c273d5ba7110917de7989f78225fa7b
Author: Jason Wood <sandain at hotmail.com>
Date:   Thu Nov 29 01:05:12 2012 +0100

    docs: Mark some features in GL3.txt as done for r600
    
    Signed-off-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa46cc2879846c7f4e11dfb0a83063863bce6997
Author: Marek Olšák <maraeo at gmail.com>
Date:   Wed Nov 28 20:38:22 2012 +0100

    st/mesa: allow forward-compatible contexts and set Const.ContextFlags
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

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

    st/mesa: add support for GL core profiles
    
    The rest of the plumbing was in place already.
    
    I have tested this by turning on all GL 3.1 features.
    The drivers not supporting GL 3.1 will fail to create a core profile
    as they should.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9429e30aa899520f41d4ba0f1a4534e7e6c9d95
Author: Marek Olšák <maraeo at gmail.com>
Date:   Wed Nov 28 00:28:18 2012 +0100

    configure.ac: remove -fomit-frame-pointer from LLVM flags
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d59cde92e22ffc651ef41f29056b7d7284bf121
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Nov 27 23:56:04 2012 +0100

    configure.ac: look for whole words in LLVM flags, not prefixes
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b67a347f683cec909acbe1f76345a4def3e80e6
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Nov 27 23:38:01 2012 +0100

    configure.ac: consolidate stripping unwanted LLVM flags
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a84a8da4f8ec404c7f1b55d823848718ed579aeb
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Nov 27 22:32:50 2012 +0100

    configure.ac: print LLVM flags
    
    to see what we're mixing with ours
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0904973e3921da57037b29f7a6fe7074a70318d2
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Nov 28 13:35:01 2012 -0700

    util: add more memory debugging features
    
    Add a DEBUG_FREED_MEMORY option to help catch use-after-free errors.
    Add debug_memory_check() function which can be periodically called to
    check that all known blocks are good.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.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