Mesa (gles3): 155 new commits

Matt Turner mattst88 at kemper.freedesktop.org
Fri Dec 14 22:30:26 UTC 2012


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26b4d19f44ad5656400953dfd2bed4298c3de4ec
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=fd621c1ee9c5e71710b5ea5d932d0ac31d69a580
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=1025c1b13fd672590fad69ee0e407dc59fb968f9
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=89878ebd59069f8ac7a2e6fbd0f06c2a2d728979
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=4feacdd6fa959e5ed01e9fed706b2116070025b0
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=719d878605df0a8ebc2d762d64c57066bd5e28b8
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=a50ad04ddab682db603dc4f63185330d90d03be3
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=3b9c5eb1f8567339092bfac2a710eaeb3e53a768
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=b6bb386244348d331e4392881ed84605f1ec3c4c
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=8cea21a7edf5e11d40a691ed0f60d18b3ce11557
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=9d82d9b7432c391c1f7ae99379d485a633b63c23
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=051cf42551d40e08c9c9f16bfb19cdc2a5d8f252
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=16971caefd6c73c33d62b485c1b6edd62cdb66ae
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=9414f357bcfc1da5d1809c7b64d7967776c9924b
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=53b02fc9e79a6d7778b803d274f46692d235b7b7
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=d479c85b48cd7027d180e14303b143bcc88edf30
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=899bf70edb5ce956536524016b8458cbe6bb4eb9
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=4fd7db1892e9e130d9a07c4c887e54d3bc9be7b9
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=21bb3b52105b06ef639a21d2840e825d525c2078
Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Nov 27 12:18:02 2012 -0800

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

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f73e7faa864774bce619b9712d15f8d4a1f08ac9
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=87cc4df94a4c4fe1c8116364deea9086af75b3a6
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=813521343f1c2273167a8d99153085bce235fd59
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Nov 30 15:07:54 2012 -0800

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

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

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

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

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

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

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

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

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

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c38fd643154aa35c8c8d6e9c532ed734ce409787
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=6ce165fa882870625956b6b3939444a4473947b9
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=6f035d10cfa00b6e371e13c75333ab2989aeb491
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=09d16860d4b880553d55cb41e41ab6bae43d4b2d
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=4ce1447921a7067aef3b76e036d223a9708e662b
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=bf26cc41e9e83a4da539bce5c286a8c67f23826c
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>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd85ac461d989bd09cbdc70e638d7d05863d33ef
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>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a525c49e1f812391d57331e8d6d853b8f187440
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=e19471628c261564ff790437941cd24ffb5b7ae0
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> (v1)
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    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=93a3162a05067ff8bb0cd4533937fe8e5dcc79cc
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:24:19 2012 -0800

    mesa: Support querying GL_MAX_ELEMENT_INDEX in ES 3
    
    The ES 3 spec says that the minumum allowable value is 2^24-1, but the
    GL 4.3 and ARB_ES3_compatibility specs require 2^32-1, so return 2^32-1.
    
    Fixes es3conform's element_index_uint_constants test.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=510726d06ec972d65bbe74e09050eb09ad876811
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:17:19 2012 -0800

    mesa: De-duplicate ES2 queries
    
    From GL/GLES/GL_CORE and GLES2 -> GL/GL_CORE/GLES2.
    
    Yes, we really were exposing ES2_compatibility queries on ES 1.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5f050686a087ee830eafc4b8d90540ca3778a6c
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:10:50 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.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7833c3e885c8c075b0b9aa58879fbaab13970983
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:04:42 2012 -0800

    mesa: Allow glGet* queries on EXT_framebuffer_blit data in ES 3
    
    Fixes 2 framebuffer_blit es3conform tests.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acc4f37bd9ace8dd5479493359fcd7edb241a993
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:03:44 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: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d1b759b772b88186cb74cd7c99661129ad96b2d
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:02:26 2012 -0800

    mesa: Allow glGet* queries on ARB_framebuffer_object data in ES 3
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a80e08d0c7d3ab7e7e24aa18d4b537304b14730
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:01:42 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: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c697ab2e85eff0b8c7cca6112b739fd304c81aab
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:00:57 2012 -0800

    mesa: Allow glGet* queries on EXT_transform_feedback data in ES 3
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3284404584a7ee76993d6c583d4d0bc5cbb5be80
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 17:00:17 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: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9a2ff052900724a30cf6ea20b82ec14b7e588cf
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 16:59:37 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: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bf74268cc61669510df6f129a809accb7838924
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 8 16:43:54 2012 -0800

    mesa: Allow glGet* queries of select ARB_ubo data in ES 3
    
    Fixes 5 uniform_buffer_object tests in es3conform.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3d8faa3f7ef71f92ee32db59a9918c4ebe68990
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Dec 14 14:22:28 2012 -0800

    Add ES 3 handling to get.c and get_hash_generator.py
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

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

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

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

    mesa/tests: Add ARB_ES3_compatibility enums
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

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

    glapi: Add enums for ARB_ES3_compatibility
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca7e891e8aceaf1adb4c9ae776916fa3636747ee
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Dec 5 14:37:19 2012 -0800

    glsl/linker: Pack between varyings.
    
    This patch implements varying packing between varyings.
    
    Previously, each varying occupied components 0 through N-1 of its
    assigned varying slot, so there was no way to pack two varyings into
    the same slot.  For example, if the varyings were a float, a vec2, a
    vec3, and another vec2, they would be stored as follows:
    
     <----slot1----> <----slot2----> <----slot3----> <----slot4---->  slots
      *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
     flt  x   x   x  <vec2->  x   x  <--vec3--->  x  <vec2->  x   x   varyings
    
    (Each * represents a varying component, and the "x"s represent wasted
    space).
    
    This change packs the varyings together to eliminate wasted space
    between varyings, like so:
    
     <----slot1----> <----slot2----> <----slot3----> <----slot4---->  slots
      *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
     <vec2-> <vec2-> flt <--vec3--->  x   x   x   x   x   x   x   x   varyings
    
    Note that we take advantage of the sort order introduced in previous
    patches (vec4's first, then vec2's, then scalars, then vec3's) to
    minimize how often a varying is "double parked" (split across varying
    slots).
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    
    v2: Skip varying packing if ctx->Const.DisableVaryingPacking is true.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df87722beccf0255d149668ca54a35cabf99a9c4
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sun Dec 9 20:59:26 2012 -0800

    glsl/linker: Pack within compound varyings.
    
    This patch implements varying packing within varyings that are
    composed of multiple vectors of size less than 4 (e.g. arrays of
    vec2's, or matrices with height less than 4).
    
    Previously, such varyings used up a full 4-wide varying slot for each
    constituent vector, meaning that some of the components of each
    varying slot went unused.  For example, a mat4x3 would be stored as
    follows:
    
     <----slot1----> <----slot2----> <----slot3----> <----slot4---->  slots
      *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
     <-column1->  x  <-column2->  x  <-column3->  x  <-column4->  x   matrix
    
    (Each * represents a varying component, and the "x"s represent wasted
    space).  In addition to wasting precious varying components, this
    layout complicated transform feedback, since the constituents of the
    varying are expected to be output to the transform feedback buffer
    contiguously (e.g. without gaps between the columns, in the case of a
    matrix).
    
    This change packs the constituents of each varying together so that
    all wasted space is at the end.  For the mat4x3 example, this looks
    like so:
    
     <----slot1----> <----slot2----> <----slot3----> <----slot4---->  slots
      *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
     <-column1-> <-column2-> <-column3-> <-column4->  x   x   x   x   matrix
    
    Note that matrix columns 2 and 3 now cross a boundary between varying
    slots (a characteristic I call "double parking" of a varying).
    
    We don't bother trying to eliminate the wasted space at the end of the
    varying, since the patch that follows will take care of that.
    
    Since compiler back-ends don't (yet) support this packed layout, the
    lower_packed_varyings function is used to rewrite the shader into a
    form where each varying occupies a full varying slot.  Later, if we
    add native back-end support for varying packing, we can make this
    lowering pass optional.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    
    v2: Skip varying packing if ctx->Const.DisableVaryingPacking is true.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bb8661b1ba69a223eb4d186ed9528525c3269f3
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Dec 13 12:45:54 2012 -0800

    gallium: Disable varying packing on hardware with <=8 texture indirections.
    
    In practice this will disable varying packing on R300, R400, i915g,
    and nv30.
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ee500cfd28324bef27f145fbe03e77993810c45
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Thu Dec 13 12:45:37 2012 -0800

    mesa: Add an option so driver can opt out of varying packing.
    
    On hardware that supports a limited number of texture indirections,
    varying packing will comsume an extra texture indirection, since ALU
    operations are needed in the fragment shader to unpack the varyings
    before any texturing can be done.
    
    This patch introduces a new driver option,
    ctx->Const.DisableVaryingPacking, which can be used by a driver to opt
    out of varying packing if the extra texture indirection is costly
    enough to outweigh the advantages of packing varyings.
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1745a4d751a4184771628ad2be1336439c831afb
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sun Dec 9 15:25:38 2012 -0800

    glsl: Add a lowering pass for packing varyings.
    
    This lowering pass generates GLSL code that manually packs varyings
    into vec4 slots, for the benefit of back-ends that don't support
    packed varyings natively.
    
    No functional change--the lowering pass is not yet used.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    
    v2: Don't use ir_hierarchical_visitor--just loop over instructions
    directly.  Also, make the names of the packed varyings include the
    names of the original varyings that were packed into them.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3993107f0b997195c4d97b95c47e84220f10b6d
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Dec 5 10:19:19 2012 -0800

    glsl/linker: Sort varyings by packing class, then vector size.
    
    This patch paves the way for varying packing by adding a sorting step
    before varying assignment, which sorts the varyings into an order that
    increases the likelihood of being able to find an efficient packing.
    
    First, varyings are sorted into "packing classes" by considering
    attributes that can't be mixed during varying packing--at the moment
    this includes base type (float/int/uint/bool) and interpolation mode
    (smooth/noperspective/flat/centroid), though later we will hopefully
    be able to relax some of these restrictions.  The number of packing
    classes places an upper limit on the amount of space that must be
    wasted by varying packing, since in theory a shader might nave 4n+1
    components worth of varyings in each of m packing classes, resulting
    in 3m components worth of wasted space.
    
    Then, within each packing class, varyings are sorted by vector size,
    with vec4's coming first, then vec2's, then scalars, and then finally
    vec3's.  The motivation for this order is that it ensures that the
    only vectors that might be "double parked" (with part of the vector in
    one varying slot and the remainder in another) are vec3's.
    
    Note that the varyings aren't actually packed yet, merely placed in an
    order that will facilitate packing.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb989e37cb7ed2e3268959bdd869dc305177e468
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Dec 4 15:55:59 2012 -0800

    glsl/linker: Subdivide the first phase of varying assignment.
    
    This patch further subdivides the loop that assigns varying locations
    into two phases: one phase to match up the varyings between shader
    stages, and one phase to assign them varying locations.
    
    In between the two phases the matched varyings are stored in a new
    data structure called varying_matches.  This will free us to be able
    to assign varying locations in any order, which will pave the way for
    packing varyings.
    
    Note that the new varying_matches::assign_locations() function returns
    the number of varying slots that were used; this return value will be
    used in a future patch.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=25ed3bef9b84c06cda06c9e77ff733d1ba863bf5
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Dec 4 10:34:45 2012 -0800

    glsl/linker: Defer recording transform feedback locations.
    
    This patch subdivides the loop that assigns varying locations into two
    phases: one phase to match up varyings between shader stages (and
    assign them varying locations), and a second phase to record the
    varying assignments for use by transform feedback.
    
    This paves the way for varying packing, which will require us to
    further subdivide the first phase.
    
    In addition, it lets us avoid a clumsy O(n^2) algorithm, since we can
    now record the locations of all transform feedback varyings in a
    single pass through the tfeedback_decls array, rather than have to
    iterate through the array after assigning each varying.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e81c666db6940675eca623044e5b372dc6b7756
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Dec 5 10:47:55 2012 -0800

    glsl: Create a field to store fractional varying locations.
    
    Currently, the location of each varying is recorded in ir_variable as
    a multiple of the size of a vec4.  In order to pack varyings, we need
    to be able to record, e.g. that a vec2 is stored in the second half of
    a varying slot rather than the first half.
    
    This patch introduces a field ir_variable::location_frac, which
    represents the offset within a vec4 where a varying's value is stored.
    Varyings that are not subject to packing will always have a
    location_frac value of zero.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c9c17db4a02ab5b1b2f60b9655c20319d9a9093
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Dec 4 15:17:01 2012 -0800

    glsl/linker: Make separate ir_variable field to mean "unmatched".
    
    Previously, the linker used a value of -1 in ir_variable::location to
    denote a generic input or output of the shader that had not yet been
    matched up to a variable in another pipeline stage.
    
    This patch introduces a new ir_variable field,
    is_unmatched_generic_inout, for that purpose.
    
    In future patches, this will allow us to separate the process of
    matching varyings between shader stages from the processes of
    assigning locations to those varying.  That will in turn pave the way
    for packing varyings.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=50895d443ae7b96cb7de6b41857393d4e129d6eb
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Dec 5 07:17:07 2012 -0800

    glsl/linker: Always invalidate shader ins/outs, even in corner cases.
    
    Previously, link_invalidate_variable_locations() was only called
    during assign_attribute_or_color_locations() and
    assign_varying_locations().  This meant that in the corner case when
    there was only a vertex shader, and varyings were being captured by
    transform feedback, link_invalidate_variable_locations() wasn't being
    called for the varyings.
    
    This patch migrates the calls to link_invalidate_variable_locations()
    to link_shaders(), so that they will be called in all circumstances.
    In addition, it modifies the call semantics so that
    link_invalidate_variable_locations() need only be called once per
    shader stage (rather than once for inputs and once for outputs).
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18392443d448e083187d085965375e7de910b18a
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Dec 4 11:11:02 2012 -0800

    glsl/lower_clip_distance: Update symbol table.
    
    This patch modifies the clip distance lowering pass so that the new
    symbol it generates (glClipDistanceMESA) is added to the shader's
    symbol table.
    
    This will allow a later patch to modify the linker so that it finds
    transform feedback varyings using the symbol table rather than having
    to iterate through all the declarations in the shader.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d249159fe6555d5d0fd44d3b661f796a2eb168d6
Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Thu Dec 13 10:56:08 2012 +0200

    android: build fix for libmesa_glsl_utils
    
    hash_table.c compilation requires ralloc.h include path
    
    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=a12a8c910f818c8c7a5d36b5884b5c5201332b5f
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: minor indentation fixes in texcompress_etc.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b29f2d5ff54c5031e5b0f0ae9f89acb4eb38b219
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: remove old swrast-based compressed texel fetch code

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dc36a50de516d95fc6edc58cf1ab5cd7129e95a
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    swrast: use new core Mesa compressed texel fetch functions

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=faa95fd7faa97a1be48c8e04fc6ee443d44939b4
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: reimplement _mesa_decompress_image() using new tex fetch code

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccbe7db1e6ab4a731fbd11445c7b5c2aca00fc4e
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: added _mesa_get_compressed_fetch_func()

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad3e39bb6dcb139c3eb6a460833f30ba0fb3e974
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: add new texel fetch code for etc formats

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd7baf5bf488299da0e75c7d04dd611274a0eb8f
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: add new texel fetch code for rgtc formats

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=141d299965d9594e82e5218cf162440903e44ea7
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: add new texel fetch code for fxt formats

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a774eaa57e290a4fe0bcf5827019ac7054d096e0
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: add new texel fetch code for dxt formats

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2037a06da94bc0e14a0732c50c7d7044d9a29da0
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    mesa: add compressed_fetch_func typedef
    
    This is a first step in removing the swrast-related code in core
    Mesa's texture compression files.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90b7797a1d962e64eabd98b3aeb9251fd5b873bb
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    swrast: merge get_texel_fetch_func() and set_fetch_functions()
    
    No real need for separate functions anymore.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4896cea0435905eb4871c78e32da6984e4d344c
Author: Brian Paul <brianp at vmware.com>
Date:   Sat Dec 8 15:19:44 2012 -0700

    swrast: make _mesa_get_texel_fetch_func() static
    
    Not called from any other file.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e41b0badbab97c9db03d5825f91533c69e4f9f9
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 13 20:17:58 2012 +1000

    draw/llvmpipe: fix transform feedback position + enable other extensions
    
    This builds on the previous draw/softpipe patch.
    
    So llvmpipe does streamout calls after clip/viewport stages,
    but we have the pre-clip position stored for later use, so
    when we are doing transform feedback, and its the position vertex
    grab the vertex from the stored pre clip position.
    
    The perfect fix is too probably add a codegen transform feedback
    stage in between shader and clip stages, but this is good enough
    for now.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=55d37eb40edff67fa12d1729165b292b914d8e51
Author: Dave Airlie <airlied at gmail.com>
Date:   Wed Dec 12 21:14:58 2012 +1000

    draw: add support for later transform feedback extensions
    
    This adds support to draw for the new features of transform feedback.
    
    a) fix count_from_stream_output, using max_index+1 for now but it looks
    like it should be valid as its derived from the vertex elements/vbo.
    
    b) fix striding and dst offsets in output buffers - was just wrong before.
    
    c) fix crash if tfb is suspended (so.num_targets == 0)
    
    This also enables the new features on softpipe. It should be possible
    to enable them on llvmpipe as well after this commit, but would need
    to schedule piglit runs.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4330cfec8b5225283bccc03f53a440c20e8e5cb5
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Dec 13 20:04:34 2012 +0000

    clover: Fix build since removal of pipe_surface::usage
    
    by commit 25409c6da8163d9acb386511aef0c11577c7aadb

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d7d821e3df7dde45fbd7ae2988eee8e94baa14f
Author: Maxence Le Dore <maxence.ledore at gmail.com>
Date:   Thu Dec 13 05:17:35 2012 +0100

    r600g/radeonsi: Silence warnings
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c68babfc3c7b65dd53697528781bd6b6186f5190
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Tue Nov 27 21:57:15 2012 +0000

    clover: Add support for compiler flags
    
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f71efcf7a8eace124e71ca72c86d4c2bdc8042d
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Mon Dec 10 16:04:04 2012 +0000

    clover: Don't erase build info of devices not being built
    
    Every call to _cl_program::build() was erasing the binaries and logs for
    every device associated with the program.  This is incorrect because
    it is possible to build a program for only a subset of devices and so
    any device not being build should not have this information erased.
    
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7f9fb37eaa4a6849bb427b6096e52eb0daa9925
Author: Vincent Lejeune <vljn at ovi.com>
Date:   Tue Nov 6 16:18:06 2012 +0100

    r600g: use load_ar checks with llvm output.
    
    Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=60e05d7388b85bdc1d833a7755a81e366ef28dac
Author: Thierry Reding <thierry.reding at avionic-design.de>
Date:   Tue Nov 20 16:50:35 2012 +0100

    build: Fix AX_PROG_{CC,CXX}_FOR_BUILD macros
    
    Override the cross_compiling and ac_tool_prefix variables by reassigning
    to them instead of redefining the macros. Redefining them will actually
    cause the variable names to be replaced instead of their content.
    
    Furthermore push the definition of CPPFLAGS before running the checks
    for the build tools to avoid the host CPPFLAGS from leaking into the
    build CPPFLAGS.
    
    While at it drop the redefinition of AC_TRY_COMPILER which hasn't been
    used since autoconf 2.50 and make sure that all definitions are properly
    popped when done (LDFLAGS, ac_cv_prog_CPP, ac_cv_prog_CXXCPP).
    
    Acked-by: Matt Turner <mattst88 at gmail.com>
    Signed-off-by: Thierry Reding <thierry.reding at avionic-design.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a460aea3f14222af46f88d1bc686f82180b8a872
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Dec 13 19:12:58 2012 +0100

    gallivm: fix texel fetch for array textures
    
    Since we don't call lp_build_sample_common() in the texel fetch path we missed
    the layer fixup code. If someone would have tried to do texelFetch with array
    textures it would have crashed for sure.
    Not really tested (can't run the piglit test being able to use texelFetch with
    array samplers for now with llvmpipe).
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6267853055e4ecb5ce0580316c4aa77935f541d3
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Dec 11 19:14:33 2012 -0800

    mesa: Fix computation of default vertex attrib stride for 2_10_10_10 formats.
    
    Previously, if the client program didn't specify a stride when setting
    up a vertex attribute, we used _mesa_sizeof_type() to compute the size
    of the type, and multiplied it by the number of components.
    
    This didn't work for the 2_10_10_10 formats, since _mesa_sizeof_type()
    returns -1 for those types, resulting in all kinds of havoc, since it
    was causing the hardware to be programmed with a negative stride
    value.
    
    This patch adds a new function _mesa_bytes_per_vertex_attrib(), which
    is similar to the existing function _mesa_bytes_per_pixel(), but which
    computes the size of a vertex attribute based on the type and the
    number of formats.  For packed formats (currently only the 2_10_10_10
    formats), it verifies that the number of components is correct and
    returns the size of the packed format.  For unpacked formats, it
    returns the size of the type times the number of components.
    
    In addition, this patch adds an assertion so that if we ever forget to
    update _mesa_bytes_per_vertex_attrib() when adding a new vertex
    format, we'll see the problem quickly rather than having to debug a
    subtle conformance test failure.
    
    Fixes GLES3 conformance tests
    vertex_type_2_10_10_10_rev_{conversion,divisor,stride_pointer}.test.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=11cea472466f731fa9c44d56f1643dec26e6601c
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Dec 7 16:32:30 2012 -0800

    mesa/uniform_query: Don't write to *params if there is an error
    
    The GL 3.1 and ES 3.0 specs say of glGetActiveUniformsiv:
       "If an error occurs, nothing will be written to params."
    
    So, make a pass through the indices and check that they're valid before
    the pass that actually writes to params. Checking pname happens on the
    first iteration of the second loop.
    
    Fixes es3conform's getactiveuniformsiv_for_nonexistent_uniform_indices
    test.
    
    NOTE: This is a candidate for the 9.0 branch.
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6acabe33a35a75d008e33d5e01502a66b3bc6238
Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Dec 7 14:26:04 2012 -0800

    mesa: print unsigned values with %u
    
    Otherwise messages say silly things like
       glGetActiveUniformBlockiv(block index -1 >= 0)
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=200bb36778f841d9d80db0ddd8ce18e5fed3c5a8
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Dec 12 02:37:58 2012 -0800

    i965: Fix disassembly of jump targets on Gen7.
    
    Gen7 stores the JIP/UIP bits in different places.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2eb9d3a0a0dfe42255e0b68c5064213053ac293
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Dec 9 15:44:03 2012 -0800

    i965: Make try_rewrite_rhs_to_dst compare VGRF size to regs written.
    
    try_rewrite_rhs_to_dst is a quick optimization to avoid generating new
    temporaries (and MOVs from those temporaries to the dest) for every
    expression tree we visit.  By generating better code in simple cases, we
    reduce the burden on later optimization passes like register coalescing.
    
    Previously, we compared inst->regs_written() to lhs->vector_elements
    to make sure the instruction generating our value wrote the same number
    of components as our destination register.
    
    However, this fails in some cases.  One example is texturing (which
    produces a vec4) into gl_FragData[i].  Technically, gl_FragData[i] is
    also a vec4.  However, the destination VGRF actually has size 4n (where
    n is the size of the array).
    
    split_virtual_grfs() can't split VGRFs that are used by SEND messages
    which require contiguous destination registers (like texturing), and
    register allocation needs all VGRFs to have sizes between 1 and 4.
    
    Amnesia: The Dark Descent hits this case: a texturing instruction
    (4 components) gets rewritten to the gl_FragData output register
    (which was 4*3 = 12 components), causing the register allocator to
    hit the "we rely on split_virtual_grfs" assertion.
    
    This makes it possible to play Amnesia.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=122345876479cf5cf553e38162ab105658614ab7
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Wed Dec 12 14:59:36 2012 +0000

    configure.ac: Disable compiler optimizations when --enable-debug is set
    
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e721a76e6842f8aeec2c40bd9960a55f5d606f7d
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Dec 12 08:51:19 2012 -0700

    softpipe: remove unused corner0 variable

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ef27e8fa9d4b3c854d7d3c20e26ede7d2147753
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Dec 10 10:32:07 2012 -0700

    llvmpipe: remove unneeded draw_flush() call
    
    This is redundant since we're calling draw_bind_fragment_shader()
    which already does a flush.
    
    v2: the redundant flush in llvmpipe_set_constant_buffer() has
    already been removed by commit 3427466e6dbbb8db7c1ecda6b3859ca1cc5827a3
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d225d076a9807083ea065462390981b9514b6cfc
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 9 18:51:31 2012 +0100

    r600g: suballocate memory for fetch shaders from a large buffer
    
    Fetch shaders are usually destroyed at the context destruction by the state
    tracker, so we can put them all in a large buffer without wasting memory.
    
    This reduces the number of relocations sent to the kernel a little bit.
    
    Tested-by: Aaron Watry <awatry at gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8df3855eed67302e83e4b181c4fa02183ccc185a
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 9 17:56:26 2012 +0100

    r600g: suballocate memory for the STRMOUT_BUFFER_FILLED_SIZE register
    
    Instead of having a 4-byte buffer for each streamout target, we suballocate
    each dword from a 4K buffer.
    
    This further reduces the overall number of relocations.
    
    Tested-by: Aaron Watry <awatry at gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc2d908572d0ed97171e37e446372ab039ed5422
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 9 17:33:28 2012 +0100

    gallium/util: add a simple allocator for suballocating from a large buffer
    
    Tested-by: Aaron Watry <awatry at gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2478fcd87c4361ce288b042cc922373ef40b113c
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 9 16:43:16 2012 +0100

    r600g: use u_upload_mgr for allocating staging transfer buffers
    
    u_upload_mgr suballocates memory from a large buffer and maps the allocated
    range (unsychronized), which is perfect for short-lived staging buffers.
    
    This reduces the number of relocations sent to the kernel.
    
    Tested-by: Aaron Watry <awatry at gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=448cd5ea60403576c3eec86ffb2b892e78b9dfe0
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Dec 9 00:02:46 2012 +0100

    winsys/radeon: don't use BIND flags, add a flag for the cache bufmgr instead

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

    st/dri: add a way to force MSAA on with an environment variable
    
    There are 2 ways. I prefer the former:
      GALLIUM_MSAA=n
      __GL_FSAA_MODE=n
    
    Tested with ETQW, which doesn't support MSAA on Linux. This is
    the only way to get MSAA there.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

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

    mesa: don't advertise ARB_texture_buffer_object in legacy contexts
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

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

    mesa: disallow creation of GL 3.1 compatibility contexts
    
    Death to driver-specific hacks!
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=25409c6da8163d9acb386511aef0c11577c7aadb
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Dec 8 15:37:17 2012 +0100

    gallium: remove pipe_surface::usage
    
    Not really used by anybody now.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1f704073b8992f3556c8e44a7fc496e250ba3ae
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Dec 8 14:53:55 2012 +0100

    svga: stop using pipe_surface::usage
    
    There are only 2 possible usages: render target and depth stencil.
    Both can be derived from the surface format, so the flag is redundant.
    
    And it's going away...
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21b1ec69fc846c562f7d3685355315ce66b0f436
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Dec 7 20:07:48 2012 +0100

    gallium/util: move util_try_blit_via_copy_region to u_surface.c
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a555637b2fa2c3e8095e4aa48098c1ae28655d9
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Dec 7 19:59:03 2012 +0100

    gallium/cso: don't use the pipe_error return type where it's not needed
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eae9674f187ea0f250723fef75d4f71bb3ba632e
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Dec 7 19:52:00 2012 +0100

    gallium: manage render condition in cso_context and fix postprocessing w/ it
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ec6ffd85d019cdba3bbeba24dbc49981791df28
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Dec 7 19:31:33 2012 +0100

    st/mesa: remove a weird msaa hack
    
    It doesn't work and it's not clear how it's supposed to work.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=621259b3de1f15c879620bbf17764fd8a27ae6f5
Author: Dave Airlie <airlied at gmail.com>
Date:   Tue Dec 11 19:52:48 2012 +1000

    softpipe: implement seamless cubemap support. (v1.1)
    
    This adds seamless sampling for cubemap boundaries if requested.
    
    The corner case averaging is messy but seems like it should be spec
    compliant.
    
    The face direction stuff is also a bit messy, I've no idea if that could
    or should be simpler, or even if all my directions are fully correct!
    
    v1.1: update comments, drop unneeded seamless calls for nearest, fix
    if statement layout.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    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=3392f2fbcfe8c82b764a064359999866c97ba551
Author: Dave Airlie <airlied at gmail.com>
Date:   Wed Dec 12 07:15:31 2012 +1000

    gallium: fix cap warnings for tbo cap.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5cdcd7251a213a448f2bfaf0e7527213c8afa3f5
Author: Dave Airlie <airlied at gmail.com>
Date:   Mon Dec 10 17:20:05 2012 +1000

    glsl_to_tgsi: emit multi-level structs and arrays properly.
    
    This follow the code from the i965 driver, and emits the structs
    and arrays recursively.
    
    This fixes an assert in the two UBO tests
    fs-struct-copy-complicated and
    vs-struct-copy-complicated
    
    These tests now pass on softpipe, with no regressions.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ee0b442528c7d0d0207504e8d315dfb5666afcd
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Dec 10 12:35:23 2012 -0700

    llvmpipe: don't use user constant buffers
    
    This fixes some use-after-free issues.  I haven't measured any real
    performance difference with a handful of Mesa demos.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3427466e6dbbb8db7c1ecda6b3859ca1cc5827a3
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Dec 10 12:31:46 2012 -0700

    llvmpipe: support pipe_resource-based constant buffers
    
    Before this we only supported user-based constant buffers.
    
    First, we basically plumb pipe_constant_buffer objects through llvmpipe
    rather than pipe_resource objects.
    
    Second, update llvmpipe_set_constant_buffer() and try_update_scene_state()
    so they understand both resource- and user-based constant buffers.
    
    The problem with user constant buffers is the potential for use-after-free,
    as seen in some WebGL tests.  The next patch will flip the switch for
    resource-based const buffers.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

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

    util: add util_copy_constant_buffer() helper function
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=beafced21c3c11315a8b94f20508562729453175
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 10:15:08 2012 -0800

    i965/fs: Improve performance of shaders that start out with a discard.
    
    I had tried this in the past, but ran into trouble with applications
    that sample from undiscarded pixels in the same subspan.  To fix that
    issue, only jump to the end for an entire subspan at a time.
    
    Improves GLbenchmark 2.7 (1024x768) performance by 7.9 +/- 1.5% (n=8).
    
    v2: Drop the br variable in the jump instruction -- if I ever do jumps
        pre-gen6, it'll be a different code block anyway since we don't have
        HALT until gen6.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5016495cc1b50b1673d0d3ab8e6af8249b071d5
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 12:15:13 2012 -0800

    i965/fs: Rewrite discards to use a flag subreg to track discarded pixels.
    
    This makes much more sense on gen6+, and will also prove useful for
    early exit of shaders on discard.
    
    v2: fix up a stale comment from before converting gen4-5.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b278f65e1c5295794dcf08d100356e6ded6c1f32
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 10:36:11 2012 -0800

    i965/fs: Add an instruction flag for choosing the flag subregister.
    
    We're going to redo discard handling to track discards in the other flag
    subregister, saving instructions in the discard and allowing predicated
    jumps out to the end of the shader.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c69a9fb60e1b5e879a9b9bb4d0c08485483a7db
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 10:43:13 2012 -0800

    i965: Let brw_flag_reg() choose the flag reg and subreg.
    
    We're about to start using the f0.1 subregister.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a1490bc8ffd6b0259e7d36d04ac207f39a029bb
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 11:48:25 2012 -0800

    i965: Print the flag reg updated by conditional modifiers.
    
    This makes our output more consistent with other disasm tools, and
    will be necessary when we start using f0.1.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7fd4b3f9419353732a061920aefdc7bcec4728d
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 11:35:28 2012 -0800

    i965: Add the new flag_reg_nr instruction field from IVB.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f606a42a3cad9dad27c207864417bcb20efa5c2e
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 10:55:26 2012 -0800

    i965: Correct the name and usage of the flag subregister number field.
    
    We've been calling it a register number, it's actually the subregister,
    and things will get confusing once we start using it if it isn't fixed.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d404a4bd8feb1a6575774d8eec7bc993c8e095e
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 6 11:31:31 2012 -0800

    i965: Remove bogus flag_reg_nr field from bits3.
    
    There's a flag subreg nr field in bits2 next to src0.vertstride, but
    there shouldn't be anything in bits3 next to src1.vertstride.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb8300f5a98016ccc8d34f1bbfee9eb319a2a8a8
Author: Tobias Droste <tdroste at gmx.de>
Date:   Thu Nov 29 17:02:28 2012 +0100

    st/egl/drm: only unref the udev device if needed
    
    Fixes compiler warning:
    
    drm/native_drm.c: In function ‘native_create_display’:
    drm/native_drm.c:180:21: warning: ‘device’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    drm/native_drm.c:157:24: note: ‘device’ was declared here
    
    Signed-off-by: Tobias Droste <tdroste at gmx.de>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc4bf3c84015144100ebdb4015bf06f7eab9f646
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Sat Dec 8 11:45:58 2012 +0000

    softpipe: Use os_time_get_nano() everywhere.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b361bb3de4bd8d27f6fcb920e5516e51db00ef73
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Tue Dec 4 14:18:03 2012 +0100

    clover: Install CL headers.
    
    Note: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffe1794e0c7efc46e7a5056ac222dd081cae4020
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Dec 6 11:56:21 2012 -0800

    gallivm: Lower TGSI_OPCODE_MUL to fmul by default
    
    This fixes a number of crashes on r600g due to the fact that
    lp_build_mul assumes vector types when optimizing mul to bit shifts.
    
    This bug was uncovered by 0ad1fefd6951aa47ab58a41dc9ee73083cbcf85c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8000e7b4b6e2866b42de19448cbf3412cce1f26c
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Dec 8 06:00:30 2012 +0000

    llvmpipe: fix txq for 1d/2d arrays. (v3)
    
    Noticed would fail, we were doing two things wrong
    
    a) 1d arrays require the layers in height
    b) minifying the layers field.
    
    v2: don't change height code, fixup completely inside txq
    as suggested by Roland.
    
    v3: just add minify before texture array size
    
    v1: Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41f4f094c484b3eb040e1a892f0a5c5533ac7321
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Dec 8 05:41:03 2012 +0000

    llvmpipe: increase texture target width to reflect increase
    
    Now that we've gone over 7.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0151237457f47a43fa64111e462da851c4b8ab4c
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat Dec 8 12:43:10 2012 -0800

    mesa syncobj: don't store a pointer to the set_entry
    
    The set_entry pointer can become invalid if the set table
    is re-hashed.
    
    This likely will fix
    https://bugs.freedesktop.org/show_bug.cgi?id=58012
    (Regression since 56e95d3c)
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b6e782eb9bb91907c8ad6ac88365feca4a26d2e
Author: Fabio Pedretti <fabio.ped at libero.it>
Date:   Fri Dec 7 23:00:05 2012 +0100

    vega: remove unused variables
    
    Signed-off-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eefd373876d74249e8a94773543f268c5a59371a
Author: Fabio Pedretti <fabio.ped at libero.it>
Date:   Fri Dec 7 23:00:00 2012 +0100

    nvc0: comment unused nvc0_validate_zcull function
    
    Signed-off-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b4926b64bfcdd36d2665dcc58dbbd5de2249672
Author: Fabio Pedretti <fabio.ped at libero.it>
Date:   Fri Dec 7 22:59:53 2012 +0100

    nv50: remove unused OpClassStr array
    
    Signed-off-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=320d531373e7b0873f5de42f6173b986290f593f
Author: smoki <smoki00790 at gmail.com>
Date:   Mon Dec 10 17:30:26 2012 +0100

    r200: fix broken tcl lighting
    
    command mistakenly used vector instead of scalar emit (the more or less
    identical code in radeon is already correct).
    Seems like it would be broken ever since kms probably.
    Should fix bugs 22576, 26809.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=17f5dc57306b8f5079304701e455bf4b927d3cae
Author: Dave Airlie <airlied at gmail.com>
Date:   Mon Dec 10 14:25:49 2012 +1000

    st_glsl_to_tgsi: fix ubo bools.
    
    This should fix the ubo boolean tests, along with the previous
    ubo loading fix.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a66c8acd382414a73c2db0ffdc9d95b980f770d
Author: Dave Airlie <airlied at gmail.com>
Date:   Mon Dec 10 14:22:34 2012 +1000

    st_glsl_to_tgsi: call ubo load pass earlier
    
    This calls it in around the same place as the 965 driver.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=af2d9affb19e34e8de08420cee83aeb3da02d4be
Author: Dave Airlie <airlied at gmail.com>
Date:   Mon Dec 10 12:23:47 2012 +1000

    glsl_to_tgsi: fix texture offset translation
    
    I noticed the texelFetch offset test failed on 2D rect samplers
    with GLSL 1.40. This is because I wrote the immediate->offset
    translation wrong.
    
    Fixed the translation to actually use the ureg info to set the
    offsets up.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=157f5d043afe8cf7f47baa7b29cf6dfc756feb40
Author: Dave Airlie <airlied at gmail.com>
Date:   Sun Dec 9 20:28:56 2012 +1000

    drisw: fix up context and apis for software context
    
    This ports over from the dri2 code to the drisw bits. It means 3.1
    core contexts now work for softpipe.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd87441ac028068f422e2c96b39f93644a0f246f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Nov 29 02:40:09 2012 -0800

    i965: Add missing _NEW_BUFFERS dirty bit in Gen7 SBE state.
    
    This is needed to compute render_to_fbo.  It even has the comment.
    
    NOTE: This is a candidate for stable branches.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e98cefb5a088b71ed3cb8e5cd826deed7d28b37
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Dec 8 16:02:54 2012 +0100

    st/mesa: set PIPE_BIND_SAMPLER_VIEW for TBOs in st_bufferobj_data

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f079f9e5879ed9e5f2a951bca305a43e5dc9d1d
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Dec 8 19:46:14 2012 +0100

    nvc0/ir: allow neg,abs modifiers on OP_SET with integer result

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c6584b9968ff1af0798d0a783142052b43c1dc0
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Dec 8 15:06:43 2012 +0100

    nvc0/ir/emit: fix check for flags register use in logic ops

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b73cdb864aef6d64c35a7ab9a59e4ee4e3f9d0f
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Dec 7 13:58:34 2012 -0700

    draw: fix/improve dirty state validation
    
    This patch does two things:
    
    1. Constant buffer state changes were broken (but happened to work by
       dumb luck).  The problem is we weren't calling draw_do_flush() in
       draw_set_mapped_constant_buffer() when we changed that state.  All the
       other draw_set_foo() functions were calling draw_do_flush() already.
    
    2. Use a simpler state validation step when we're changing light-weight
       parameter state such as constant buffers, viewport dims or clip planes.
       There's no need to revalidate the whole pipeline when changing state
       like that.  The new validation method is called bind_parameters()
       and is called instead of the prepare() method.  A new
       DRAW_FLUSH_PARAMETER_CHANGE flag is used to signal these light-weight
       state changes.  This results in a modest but measurable increase in
       FPS for many Mesa demos.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5f544e69075001855da9f49f1c1d06191765a6c
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Dec 7 12:21:08 2012 -0700

    draw: add reminder comments about similar code in different files
    
    When one function is changed, also look at the other.
    Presently, there are some differences with respect to geometry
    shaders and instanced drawing...
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a506ccd89fed8e4942ad5cd034b16b2aa9e873a7
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Dec 7 12:15:28 2012 -0700

    draw: rearrange code in llvm_middle_end_prepare()
    
    To clean it up and make it look more like the non-LLVM
    fetch_pipeline_prepare() function.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e0fa487fbddcc5578f7829bd972a3d442e0a4cb
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Dec 7 12:41:22 2012 -0700

    draw: fix comment typo
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b11344b25742062ff954370cc8c6a9a885b3394
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Dec 7 12:33:27 2012 -0700

    draw: add comment on draw->pt.opt field
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b46b44b0a90db3d25e95c0ff1c6997374a3c45ee
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Dec 7 12:26:18 2012 -0700

    draw: update a comment about index buffers
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=122dfc5ee25ec4faf040baf5dc834d144bb3a42c
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Sat Dec 8 11:15:46 2012 +0000

    gallium/os: Fix nano->micro second concersion.
    
    copy'n'paste: best friend, worst enemy..
    
    Trivial.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f688327e68cef28c4bd1f49e2338bae7c434f5e
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Dec 8 03:46:32 2012 +0000

    llvmpipe: fix missing tbo cap warning.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=73ae865af8794c053812cbb5fe9532b1b6113515
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 6 16:16:10 2012 +1000

    mesa/st: add ARB_uniform_buffer_object support (v2)
    
    this adds UBO support to the state tracker, it works with softpipe
    as-is.
    
    It uses UARL + CONST[x][ADDR[0].x] type constructs.
    
    v2: don't disable UBOs if geom shaders don't exist (me)
    rename upload to bind (calim)
    fix 12 -> 13 comparison as comment (calim + brianp)
    fix signed->unsigned (Brian)
    remove assert (Brian)
    
    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=535e248c5fc88fb3fa56d0ce9204e6a6427802f6
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 6 16:14:25 2012 +1000

    softpipe: enable GLSL 1.40
    
    This enables GLSL 1.40 advertising by softpipe.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6256f1e678cf72a2c0cb407a2118afa92bd1b20
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 6 16:14:03 2012 +1000

    softpipe: add texture buffer object support
    
    This adds TBO support to softpipe.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=22439f24a2403aaf8428a80da23fc95fc16454fa
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 6 16:13:15 2012 +1000

    st/mesa: add option to enable GLSL 1.40
    
    Allow GLSL 1.40 to be enabled if the driver advertises it.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=915efe7f07a370827be9872fbf93cf9fc304ba24
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 6 16:12:11 2012 +1000

    st/mesa: add texture buffer object support to state tracker (v1.1)
    
    This adds the necessary changes to the st to allow texture buffer object
    support if the driver advertises it.
    
    v1.1: remove extra blank line and whitespace
    
    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=a0281c4a8c056d0873a18ec790563362f37f0e74
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec 6 16:10:40 2012 +1000

    gallium: add new texture buffer object capability
    
    this just adds the define to the header.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c2492ea4aa58673f746800dbf4206aff44bc907
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Sat Dec 8 01:05:52 2012 +0000

    mesa/meta: Move declaration before statements.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eeff87cee3a01cbd3ca9153db531ca5b0d21f606
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Sat Dec 8 01:02:30 2012 +0000

    mesa: Move declaration before statement.
    
    For MSVC's sake.




More information about the mesa-commit mailing list