Mesa (gles3): 72 new commits

Jordan Justen jljusten at kemper.freedesktop.org
Tue Jan 15 07:31:06 UTC 2013


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ac07efc0f51508a837255b421a2b386c2944a57
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Thu Dec 27 13:34:44 2012 -0800

    fbobject: add additional fbo completeness checks for GLES
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=daf1b12945ec729a56667ad7b761a13144db5f12
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat Jan 12 01:11:21 2013 -0800

    framebuffer: update allowed implementation format/type
    
    Allow additional format/type combinations based on the
    color render buffer to fix failures with gles3-gtf.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fad1f9b3a79be3a6ff93a7bbcba901937908228a
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat Jan 12 01:05:44 2013 -0800

    readpix: allow implementation format/type
    
    For GLES2/3 allow reading of pixels with format/type based on:
     * GL_IMPLEMENTATION_COLOR_READ_FORMAT
     * GL_IMPLEMENTATION_COLOR_READ_TYPE
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d7a8c9eb18ec9b8a3b8b6d5dda6fba04b4d533e
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Thu Jan 10 17:29:27 2013 -0800

    extensions: enable EXT_color_buffer_float for ES2/ES3
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=25ead5b74911d399b1fc1d6a27a1a554327d7bfc
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Dec 28 11:27:04 2012 -0800

    readpix: check FBO completeness before trying to access the read-buffer
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=af1334c472a9cfa233d28509b743581c11976e99
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Dec 28 11:24:37 2012 -0800

    readpix: add error checking for GLES3
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=16ece78e0152110ba08fa828746e4ed315cb9666
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Dec 28 11:07:01 2012 -0800

    copyteximage: update error checking for GLES3
    
    Changes based on GTF/gles3 conformance test suite.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfe8a4ca4b6d904dfc3115e83bb508a012bfff86
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Dec 28 11:00:50 2012 -0800

    copyteximage: make sure is_srgb(src) == is_srgb(dst)
    
    v2:
     * Remove _EXT on enums
     * Remove compressed forms of sRGB from is_srgb_format
     * Add comment referencing GL Core spec
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=857b2f225da055f412f886a68b157c91b9fd572e
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Jan 7 10:30:11 2013 +0530

    mesa: Round float param in glTexparameterf() to nearest integer
    
    OpenGL 4.2 specification suggests rounding the float data to nearest
    integer when the type of internal state is integer. Out of range floats
    should be clamped to {INT_MIN, INT_MAX}. This is not specified anywhere
    in gl/gles spec but below test expects this behavior.
    This patch makes gles3 conformance sgis_texture_lod_basic_getter.test pass.
    
    A GL spec bug will be raised to include clamping of out of range floats.
    
    V2: Round float to nearest integer for all cases where _mesa_Texparameterf()
    converts float param to int. Use the same block of float to int conversion
    code for GL_TEXTURE_SWIZZLE_{R,G,B,A}_EXT cases as well.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3ee5a18d350b73ae0901b6b7abd1c4f2cfe974d
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Dec 11 20:17:47 2012 -0800

    mesa: Add support to allow blitting to multiple color draw buffers
    
    This patch fixes a blitting case when drawAttachment->Texture ==
    readAttachment->Texture. It was causing an assertion failure in
    intel_miptree_attach_map() with gles3 conformance test case:
    framebuffer_blit_functionality_minifying_blit
    
    Number of changes in this file look scary. But most of them are caused by
    introducing a big for loop to support rendering to multiple color draw buffers.
    
    V2: Fixed a case when number of draw buffer attachments are zero.
    V3: Put a for loop in blit_nearest() and blit_linear() functions in to support
        blitting to multiple color draw buffers.
    V4: Remove variable declaration in for loop to avoid MSVC compilation issues.
    
    Signed-off-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=b7934ec02b2da47fe66ab12f5ea5dfda6d52dcbd
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Dec 11 20:17:47 2012 -0800

    mesa: Add error checking in _mesa_BlitFramebuffer() for MRTs
    
    This patch adds required error checking in _mesa_BlitFramebuffer() when
    blitting to multiple color render targets. It also fixes a case when
    blitting to a framebuffer with renderbuffer/texture attached to
    GL_COLOR_ATTACHMENT{i} (where i!=0). Earlier it skips color blitting if
    nothing is found attached to GL_COLOR_ATTACHMENT0.
    
    V2: Fixed a case when number of draw buffer attachments are zero.
    V3: Do compatible_color_datatypes() and compatible_resolve_formats()
        check for all the  draw renderbuffers in fbobject.c. Fix debug
        code at bottom of _mesa_BlitFramebuffer() to handle MRTs. Combine
        error checking code for linear blits with other color blit error
        checking.
    
    Signed-off-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=c3f5435e043eb1a7fcb868084e8cee97bc41c981
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Dec 11 20:08:13 2012 -0800

    mesa: Fix GL error generation in _mesa_GetFramebufferAttachmentParameteriv()
    
    This allows query on default framebuffer in glGetFramebufferAttachmentParameteriv()
    for gles3. Fixes unexpected GL errors in gles3 conformance test case:
    framebuffer_blit_functionality_multisampled_to_singlesampled_blit
    
    V2: Use _mesa_is_gles3() check to restrict allowed attachment types to
    specific APIs.
    Signed-off-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=a98eb5cede84fec72aed65bc50e6b2f7f8e534ac
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Dec 11 19:36:05 2012 -0800

    intel: Support blitting to multiple color draw buffers
    
    This patch enables blitting to multiple color attachments of a framebuffer.
    It also fixes a case when blitting to a framebuffer with renderbuffer/texture
    attached to non-zero attachment point i.e. GL_COLOR_ATTACHMENT{1, 2, ...}.
    Earlier we were incorrectly blitting to GL_COLOR_ATTACHMENT0 by default.
    
    V2: Use intel_copy_texsubimage() for blitting only if all the color attachments
    can blit using it.
    Signed-off-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=ea827f866484128ccce05fb8af9628a1e1ab4ab7
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Wed Nov 28 12:55:55 2012 -0800

    meta: Add functionality to do _mesa_meta_BlitFrameBuffer() using glsl
    
    This patch rewrites _mesa_meta_BlitFrameBuffer() function to add support
    for blitting with GLSL/GLSL ES shaders. These changes were required to
    support glBlitFrameBuffer() in gles3. This patch, along with other patches
    in this series, make 16 failing framebuffer_blit test cases in gles3
    conformance pass.
    
    V2: Properly handle flipped blits for source and destination
        renderbuffer / textures. Add support for GL_TEXTURE_RECTANGLE
        in _mesa_meta_BlitFrameBuffer. Create a temp depth texture to
        support depth buffer blitting.
    V3: Remove unsupported / redundant shader code. Add an assertion to
        make sure that we don't use rectangle texture in ES. Put API
        guard on glTexEnvi().
    V4: For gles3: Don't use ReadPixels or CopyTexImage2D to blit depth buffer.
        gles3 spec says for CopyTexImage2D that "color buffer components can be
        dropped during the conversion to internalformat, but new components
        cannot be added." So, use the internal format of read renderbuffer to
        create texture for color buffer blitting.
    
    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=eba90d8f3c3bc255013bb5444f525dd59a4ffd5f
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Jan 7 15:55:31 2013 -0800

    mesa: Fix GL error generation in glBlitFramebuffer()
    
    V2:
    If mask has GL_STENCIL_BUFFER_BIT set, the depth formats for readRenderBuffer
    and drawRenderBuffer must match unless one of the two buffers doesn't have
    depth, in which case it's not blitted, so the format check should be ignored.
    Same comment goes for stencil formats in depth renderbuffers if mask has
    GL_DEPTH_BUFFER_BIT set.
    
    v3 (Kayden): Refactor code to be a bit more readable.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a7ba1c5ce61167575765b628759a60942e724c2
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Dec 18 13:26:04 2012 -0800

    mesa: Make ES3 glDrawBuffers() only accept BACK/NONE for the winsys fbo.
    
    Nothing was explicitly checking this.
    
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f8cf461218b946d7fec019dee775e17d901b173
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Dec 18 13:26:03 2012 -0800

    mesa: Handle GL_BACK correctly for ES 3.0 in glDrawBuffers().
    
    In ES 3.0, when calling glDrawBuffers() on the window system
    framebuffer, the only valid targets are GL_NONE or GL_BACK.  Since there
    is no stereo rendering in ES 3.0, this is a single buffer, unlike
    desktop where it may be two (and thus isn't allowed).
    
    For single-buffered configs, GL_BACK ironically means the front (and
    only) buffer.  I'm not sure that it matters, however, as ES shouldn't
    have front buffer rendering in the first place.
    
    Fixes es3conform framebuffer_blit_coverage_default_draw_buffer_binding.
    
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8544c0188ed97c57d472a68c58945d63afd28023
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Jan 8 11:23:10 2013 -0800

    mesa: Use GL_RED for DEPTH_TEXTURE_MODE for everything but legacy GL.
    
    According to page 163 of the ES 3.0 spec:
    
    "Texture lookups involving textures with depth component data generate
     a texture base color C_b either using depth data directly or by
     performing a comparison with the D_ref value used to perform the
     lookup, as described in section 3.8.15.  The resulting value R_t is
     then expanded to a color C_b = (R_t,0,0,1), ..."
    
    In other words, depth textures are supposed to be treated as GL_RED.
    
    A discussion about this text can be found in Khronos bugzilla:
    https://cvs.khronos.org/bugzilla/show_bug.cgi?id=7962
    
    It's unclear what the behavior of desktop GL should be.  The GL 3.x
    specifications indicate that it should be (r, r, r, 1), which is
    GL_LUMINANCE (the old default).  However, page 112 of the 4.2 core
    specification contains the text quoted above, explicitly declaring it
    to be (R_t, 0, 0, 1), which is GL_RED.
    
    So it hinges on whether the 4.2 text is a change or a clarification.
    Personally I think that using GL_RED in core contexts and GL_INTENSITY
    in legacy contexts seems reasonable.
    
    Fixes 4 es3conform tests:
    - depth_texture_fbo
    - depth_texture_fbo_clear
    - depth_texture_teximage
    - depth_texture_texsubimage
    
    Cc: Ian Romanick <idr at freedesktop.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bef3f2ad74b7842aabcb108695221765d68aa022
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=9c17ae7c1840c771e146d3507874d7fc2e054e1f
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=3049d5b7fe95bbb729f5e108b23fd550bef85773
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=20e4ac54b8588d07736d29c067ad8d955af4ede7
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=0938c7caf28a59cbe146ad4e7957a2f42fc5f0d1
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=6da64d36e25387ca2d57e8960bf68a3b934aef45
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=ffbe13bdb091b08c240e3b4f10e7bd9ffbc375a8
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=cacbbfdf889785d4866caa85ade6397192fb108b
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=b86df9ca66ee6d94682f6d33661a8ca48fbbc7de
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=786d88b90bf4e90134a38cbd8dd6e9a2a917dbb5
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=41ceff03ab2eef2e52e87752e30f7ebad2f1e4a1
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Nov 28 21:45:19 2012 -0800

    mesa: Allow HALF_FLOAT in glVertexAttribPointer for GLES3
    
    Fixes es3conform's half_float_max_vertex_dimensions and
    half_float_textures tests.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b515ce84306e19599dce48724c20bf7ab6992e02
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.
    
    v2: Allow RED and RG float rendering in core profiles The check used to
    be (version > 30) || (compat profile w/extensions).  Just deleting
    <version > 30) broke 3.0+ core profiles.
    
    Fixes es3conform's color_buffer_unsupported_format test.
    
    Signed-off-by: Matt Turner <mattst88 at gmail.com>
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    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=ead28e521e485aa68372d4c1422164bda264101b
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
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e78781fee54b97fec75748da609184a25339b8e9
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.
    
    v2: The error path was missing a "return" like all the other error
    paths.  Also, we may as well call it glDrawBuffers in the error message
    since the ARB suffix doesn't exist in ES 3.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8443b59a5bca9d4e5a2f700fc3e181cf634ff2b7
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun Dec 30 00:40:00 2012 -0800

    pack: handle GL_RGB+GL_UNSIGNED_INT_2_10_10_10_REV case
    
    For floats, if GL_RGB is the source, then alpha should be set to
    1.0F.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=80784066cca39ddd79420c32de7770317d56cdf8
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Dec 28 11:37:23 2012 -0800

    glformats: allow GL_RGB+GL_UNSIGNED_INT_2_10_10_10_REV for GLES2/3
    
    This format is allowed by the GL_EXT_texture_type_2_10_10_10_REV
    extension.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba34c1d5703f873e2f69fb1cca747f02ffba2ec9
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat Jan 12 14:56:49 2013 -0800

    copyteximage: Use Driver's AllocTextureImageBuffer instead of TexImage
    
    Call Driver.AllocTextureImageBuffer rather than calling
    Driver.TexImage with NULL data, format=GL_NONE and type=GL_NONE.
    
    This avoids setting ctx->Unpack, which can lead to incorrectly
    trying to upload data.
    
    The GLES3 GTF program's packed_pixels_pbo test was triggering
    an error for i965 with the previous code.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    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=91ec623bd264a72579f438b18c8577764d346462
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Thu Dec 27 17:36:10 2012 -0800

    copyteximage: update signed vs. unsigned format matching
    
    Fixes issues with gles3-gtf
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    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=161a3cd9fcfea61cf16eb75ba35546ecc12a6766
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Dec 28 10:55:33 2012 -0800

    framebuffer: add _mesa_get_read_renderbuffer
    
    This returns the current read renderbuffer for the specified
    format type.
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    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=f5a3d151b0741ab00cc0954c6de094484706a666
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Dec 6 14:51:29 2012 -0800

    teximage: use _mesa_es3_error_check_format_and_type for GLES3
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cfcac45283e12188de915bd6be3522f13b690d3
Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Dec 6 14:51:29 2012 -0800

    glformats: add _mesa_es3_error_check_format_and_type
    
    This function checks for ES3 compatible
    format/type/internalFormat/dimension combinations.
    
    [jordan.l.justen at intel.com: additional tweaks for gles3-gtf]
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf300eaab68153d818f6c29f4b487162a589dcfa
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Thu Dec 27 12:41:10 2012 -0800

    fbobject: don't allow LUMINANCE/INTENSITY/ALPHA fbo on ES/Core
    
    v2:
     * Only allow on GL Legacy contexts
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    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=275620c4b298cae9e3152fd39d7e291b87802f03
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat Jan 12 14:19:30 2013 -0800

    fbobject: add VERBOSE=api message for renderbuffer storage
    
    Add API debug trace message for:
     * glRenderbufferStorage
     * glRenderbufferStorageMultisample
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    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=7f867851f5ac1a8b6733181ffb0bd2d8c8058d8f
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat Jan 12 19:21:54 2013 -0800

    fbobject: add VERBOSE=api message for check framebuffer status
    
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    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=1c9833ba70466906d3d2ad3aee6a10642a39abdd
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jan 14 17:33:05 2013 -0700

    util: add new primitive types to pipe_prim_names[] array
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5eb1b123fdd64f713c1226f14758de4690c6fc2
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jan 14 15:18:13 2013 -0700

    st/mesa: add some simple buffer/draw debug code
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb6ef3d112fa48fd3960583fd39c7ab11052c54f
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jan 14 09:17:48 2013 -0800

    libgl-xlib: link with -lrt
    
    Fixes a runtime error:
    
    glxgears: symbol lookup error: /home/brian/mesa/lib/gallium/libGL.so.1: undefined symbol: clock_gettime
    
    v2: use $(CLOCK_LIB) and $(PTHREAD_LIBS) per Andreas Boll.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Andreas Boll <andreas.boll.dev at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=258453716f001eab1288d99765213221d0599ca4
Author: Carl Worth <cworth at cworth.org>
Date:   Fri Jan 11 07:15:18 2013 -0800

    i965: Avoid blending with destination alpha when RB format has no alpha bits
    
    The hardware does not support a render target without an alpha channel.
    So when the user creates a render buffer with no alpha channel, there actually
    is storage available for alpha internally. It requires special care to
    avoid these unwanted alpha bits from causing any problems.
    
    Specifically, when blending, and when the blend factors would read the
    destination alpha values, this commit coerces the blend factors to instead be
    either 0 or 1 as appropriate.
    
    A similar fix was made for pre-gen6 hardware in commit eadd9b8e and this
    commit shares the fixup function written by Ian then.
    
    This commit the following es3conform test:
    
    	rgb8_rgba8_rgb
    
    As well as the following piglit (sub) tests:
    
    	EXT_framebuffer_object/fbo-blending-formats/3
    	EXT_framebuffer_object/fbo-blending-formats/GL_RGB
    	EXT_framebuffer_object/fbo-blending-formats/GL_RGB8
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d4d4b00ddfbd3257ecd129fec5b813be7e36fe9
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Dec 13 23:32:14 2012 -0500

    egl/wayland: Implement EGL_EXT_buffer_age
    
    Reviewed-by: Ander Conselvan de Oliveira <conselvan2 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90804e886de892cfedb8248a4f5700fd7422b94a
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Dec 13 23:30:45 2012 -0500

    egl/wayland: Pull color buffers from dri2_surf->color_buffers pool
    
    We used to keep the color buffers in the dri_buffers array and
    swap __DRI_BUFFER_BACK_LEFT and __DRI_BUFFER_FRONT_LEFT around there
    and swap third_buffer in in case we needed to triple buffer.  That
    gets a little fidgety with all the swaps, so lets use the
    color_buffers pool like the gbm platform does.  We track the color buffers,
    their corresponding wl_buffer and locked status here and just plug
    a free one into dri2_surf->buffers when we need to.
    
    This is a nice clean-up in itself, but it also sets us up to track
    buffer age in the color_buffers structs.
    
    Reviewed-by: Ander Conselvan de Oliveira <conselvan2 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc473c5f0a2f0dafd85a1b7bef22b3f4f39596bb
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Sat Jan 12 22:13:47 2013 +0100

    gallium/svga: Make sure -std=gnu99 is set.
    
    This is a work-around until configure.ac stops touching CFLAGS.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=164a04ed1bb712fd7cada24fbe899ec7fea28a51
Author: Damien Lespiau <damien.lespiau at intel.com>
Date:   Mon Jan 14 13:54:57 2013 +0000

    build: Fix the documented default value of --with-gallium-drivers
    
    Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3e1ffb2520498584ef402213d0c8aa4303a46a3
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Jan 14 05:51:05 2013 +0100

    r300g: set a dummy vertex buffer in context_create
    
    so that the driver doesn't crash if an app doesn't set any vertex buffers.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5330c5a248aa9dbb45cfde55d5488d982cedff7f
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Jan 14 00:27:28 2013 +0100

    r300g: fix MSAA resolve to an untiled texture
    
    RB3D_DEBUG_CTL doesn't help, so I resolve to a tiled temporary texture and
    then blitting it to the destination one, which we also do in other situations.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e102b665e60f7a8d2bb4ef2c5d313e22105ae22f
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Jan 12 04:44:37 2013 +0100

    r300g: advertise MSAA support for the RGB10_A2 format on r500
    
    It seems to be working just fine.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fc83101fbb9b7dd0d7f0b91a9b1c1c1bc0250b6
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Jan 12 13:59:48 2013 +0100

    r300g: allow separate depth and stencil clear
    
    The handling of the CAP is broken in st/mesa anyway. Let's just kill it.
    
    This commit pretty much enables fast Z clear for FBOs with Z24S8.
    The driver falls back to clearing with a quad if the fast clear cannot be
    used. It can still do fast color clear, for example.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e93a5c2b861087d512ac15a56bb5ff808ae13a41
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Jan 12 03:19:03 2013 +0100

    r300g: if both Z and stencil are present, they must be fast-cleared together

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=631c631cbf5b7e84e42a7cfffa1c206d63143370
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri May 13 02:26:08 2011 +0200

    r300g: allow HiZ with a 16-bit zbuffer

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f584c211a0587c4cf5e6d36275390cd7181b5c8
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Jan 11 17:10:36 2013 +0100

    r300g: random hyperz cleanups

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d6faf51755d2f8492a1b46e9b5d03ff7e8f4871
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Jan 13 22:58:08 2013 +0100

    r300g: kill the X.Org state tracker target
    
    This won't ever be made default and we don't need it anyway.
    
    We should also consider doing this for other drivers.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6acef6c5f779ed0ba390f556479c428a36d70edb
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Sat Jan 12 15:34:22 2013 +0100

    xmlpool: Fix out-of-tree builds.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40a9b0f5d2498d86e2e6a8e61c0737938559d6db
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Fri Dec 28 07:04:26 2012 +0100

    gtest: Build it only for 'make check'.
    
    Reviewed-by: Andreas Boll <andreas.boll.dev at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebcabb88cfd19b35cd1b0a327fa055fff0c1b2be
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date:   Sat Dec 29 01:52:11 2012 +0100

    tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).
    
    Reviewed-by: Andreas Boll <andreas.boll.dev at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=06f3a1f792e5f280c8e83581622b2f4bab811720
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri Jan 4 14:26:20 2013 -0500

    r200: Fix probable thinko in r200EmitArrays
    
    Effectively this path would always assert.  Move the break statement to
    the (probable) intended place.
    
    Note: This is a candidate for the stable branches.
    
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b8adabe2e6cf1cffcb6cf41d0d10d219c814d84
Author: Nathan Schulte <nmschulte at gmail.com>
Date:   Sat Jan 12 19:42:04 2013 -0600

    target/dri-swrast: fix for nonstandard LLVM prefix
    
    Include LLVM_LDFLAGS when building with LLVM.  Fixes the following build
    errors:
      CXXLD  swrast_dri.la
      /usr/bin/ld: cannot find -lLLVMR600CodeGen
      /usr/bin/ld: cannot find -lLLVMR600Desc
      /usr/bin/ld: cannot find -lLLVMR600Info
      /usr/bin/ld: cannot find -lLLVMR600AsmPrinter
    
    Reviewed-by: Andreas Boll <andreas.boll.dev at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9da454f295062500ebb868e31eebcd5f753f83ff
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Sat Jan 12 21:13:23 2013 +0100

    targets/dri-r600: Force c++ linker in all cases
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59282

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e09a5846cdab01a3bf04ac8c11e352d85b89b4af
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Tue Nov 20 15:45:56 2012 +0100

    glapi/gen: remove an obsolete comment from Makefile.am
    
    Glapi gets generated at build time.
    
    See commit:
    0ce0f7c0c8fa9902678af7f3ecad2541be5808d2
    mesa: Remove the generated glapi from source control, and just build it.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=92ce9c38fd5e2260ca2a707548c4de13a6002a1b
Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Sep 5 21:08:39 2012 -0700

    Remove hacks for static Makefiles
    
    v2: Andreas Boll <andreas.boll.dev at gmail.com>
        - don't remove compatibility with scripts for the old build system
    
    v3: Andreas Boll <andreas.boll.dev at gmail.com>
        - remove more obsolete hacks
    
    v4: Andreas Boll <andreas.boll.dev at gmail.com>
        - add a previously removed TOP variable to fix vgapi build

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c80bdc4a8d0b1c39cad8b8bfb1b982a498f0a8e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Jan 8 17:00:13 2013 -0800

    i965: Move program_id to intel_screen instead of brw_context.
    
    According to bug #54524, I regressed oglconform's multicontext test
    when I reenabled the fragment shader precompile.
    
    However, these test cases only passed by miraculous coincedence.  We
    assign each fragment program a unique ID (brw_fragment_program::id which
    becomes brw_wm_prog_key::program_string_id) which we obtain by storing a
    per-context counter.
    
    The test case uses GLX context sharing to access the same fragment
    program from two different contexts.  This means that we share a program
    cache.  Before the precompile, if both contexts happened to use the same
    shaders in the same order, we'd obtain the same program_string_ids (by
    virtue of doing the same computation twice).  However, the more likely
    scenario is that they completely disagree on program_string_id.
    
    This meant that we'd have two completely different fragment shaders in
    the cache with the same ID, tricking us to think they were the same
    (aside from NOS), so we'd render using the wrong program.
    
    This patch implements a simple fix suggested by Eric: it moves the
    global counter out of brw_context and into intel_screen, which is shared
    across all contexts.  A mutex protects it from concurrent access.
    
    This is also the first direct usage of pthreads in the i965 driver.
    
    Fixes 10 subcases of oglconform's multicontext test.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54524
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c4ad502ce12259160be6c73ebdd6e73a5d27c6f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Jan 8 12:46:05 2013 -0800

    i965: Fix build error with clang.
    
    Technically, variable sized arrays are a required feature of C99,
    redacted to be optional in C11, and not actually part of C++ whatsoever.
    
    Gcc allows using them in C++ unless you specify -pedantic, and Clang
    appears to allow them for simple/POD types.
    
    exec_list is arguably POD, since it doesn't have virtual methods, but I
    can see why Clang would be like "meh, it's a C++ struct, say no", seeing as
    it's meant to support C99.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58970
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fea648db08114e0e10c164e2d6507b71bd22f63a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Jan 11 14:19:56 2013 -0800

    i965/fs: Don't mix integer/float immediates in i2b handling.
    
    The simulator gets very angry about our i2b code:
    
    cmp.ne(16)      g3<1>D          g2<0,1,0>D      0F
    
    We can't mix integer DWord and float types.  The only reason to use 0F
    here was to share code with f2b.  Split it and use 0D instead.
    
    While we don't believe anything bad will actually happen because of
    this, it's nice to fix the warnings and easy enough to do.
    
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a6753926f51accd6f71d9caea18b15a99b8be24
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Jan 11 14:08:05 2013 -0800

    i965: Add an INTEL_DEBUG=no16 option.
    
    Often when debugging, I don't want to see SIMD16 shaders.  It makes
    INTEL_DEBUG=vs/fs output much easier to read, especially when a program
    dumps many shaders.  Plus, I also want to verify that SIMD8 works before
    even considering SIMD16.
    
    v2: Fix the likeliness check (caught by Chris and Eric).
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=67ef755908375661c2cc1e7a26922682b981dc97
Author: Alexandre Demers <alexandre.f.demers at gmail.com>
Date:   Sat Jan 12 01:21:44 2013 -0500

    configure.ac: Fixing common dri dependency when using dri state tracker
    
    Fixes a regression caused by b587a7595e7aae0809a8e7392e89c39df0c955b1
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59261
    Reviewed-by: Andreas Boll <andreas.boll.dev at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac1c2b82385911309860526eb335dcb495f12999
Author: Fredrik Höglund <fredrik at kde.org>
Date:   Sat Jan 12 12:56:31 2013 +0100

    st/mesa: set ctx->Const.UniformBufferOffsetAlignment
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>




More information about the mesa-commit mailing list