Mesa (17.0): 67 new commits

Emil Velikov evelikov at kemper.freedesktop.org
Mon Feb 6 13:22:08 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=07571cd8ccf8c19fe79e16055208059fe729d298
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Feb 6 13:18:13 2017 +0000

    Update version to 17.0.0-rc3
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fc362f14711981e98c920f2f278ad91bad89982
Author: Lucas Stach <l.stach at pengutronix.de>
Date:   Mon Nov 21 11:54:25 2016 +0100

    etnaviv: force vertex buffers through the MMU
    
    This fixes a vertex data corruption issue if some of the vertex streams
    go through the MMU and some don't.
    
    Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
    Tested-by: Philipp Zabel <p.zabel at pengutronix.de>
    Acked-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit e158b7497103f145a9236a70183e07c37a9e13f7)
    Nominated-by: Christian Gmeiner <christian.gmeiner at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=89b51c7e432268d8f5b5b4ae1870332ac4a3f202
Author: Christian König <christian.koenig at amd.com>
Date:   Thu Jan 19 13:44:34 2017 +0100

    st/va: make sure that we call begin_frame() only once v2
    
    This fixes "st/va: delay calling begin_frame until we have all parameters".
    
    v2: call begin frame after decoder (re)creation as well.
    
    Signed-off-by: Christian König <christian.koenig at amd.com>
    Reviewed-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
    Tested-by: Andy Furniss <adf.lists at gmail.com>
    (cherry picked from commit 1338d912f52b69f76ef75d1ad313893db77d4da8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac2337ee3836e9817c24c44cae520dedfa1ebeb2
Author: Nayan Deshmukh <nayan26deshmukh at gmail.com>
Date:   Thu Jan 19 14:59:28 2017 +0530

    st/vdpau: only send buffers with B8G8R8A8 format to X
    
    PresentPixmap only works if the pixmap depth matches with the
    window depth, otherwise it returns a BadMatch protocol error.
    Even if the depths match, the result won't look correctly
    if the VDPAU RGB component order doesn't match the X11 one so
    we only allow the X11 format.
    For other buffers we copy them to a buffer which is send to X.
    
    v2: only send buffers with format VDP_RGBA_FORMAT_B8G8R8A8
    v3: reword commit message
    v4: add comment explaining the code
    
    Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>
    (cherry picked from commit 31908d6a4a3309f4cd4b953d6eecdf41595b1299)
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99637
    Nominated-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
    Nominated-by: Michel Dänzer <michel.daenzer at amd.com> (IRC)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77ec080710aa7f38c02f0d4a62f0a8780cfcc61e
Author: Mauro Rossi <issor.oruam at gmail.com>
Date:   Mon Jan 30 20:57:30 2017 +0100

    android: fix llvm, elf dependencies for M, N releases
    
    These changes set the correct llvm version and elf include path
    which differ for Marshmallow and Nougat
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
    (cherry picked from commit 9c45bb731c97d1f02f83b872c67b2c1b04ec3a41)
    [Emil Velikov: resolve trivial conflicts]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    
    Conflicts:
    	Android.common.mk

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eadbc95d642cac6feb7f5e5abe136dfd36ff76ac
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Jan 30 19:53:17 2017 -0800

    anv: Improve flushing around STATE_BASE_ADDRESS
    
    It is not clear from the docs exactly how pipelined STATE_BASE_ADDRESS
    actually is.  We know from experimentation that we need to flush the
    render cache prior to emitting STATE_BASE_ADDRESS and invalidate the
    texture cache afterwards.  The only thing the PRM says is that, on gen8+
    we're supposed to invalidate the state cache after STATE_BASE_ADDRESS
    but experimentation has indicated that doing so does nothing whatsoever.
    
    Since we don't really know, let's do just a bit more flushing in the
    hopes that this won't be a problem again.  In particular:
    
     1) Do a CS stall before we emit STATE_BASE_ADDRESS since we don't
        really know whether or not it's pipelined.
    
     2) Do a data cache flush in case what runs before STATE_BASE_ADDRESS
        is a compute shader.
    
     3) Invalidate the state and constant caches after STATE_BASE_ADDRESS
        because the state may be getting cached there (we don't really know).
    
    Reported-by: Mark Janes <mark.a.janes at intel.com>
    Tested-by: Mark Janes <mark.a.janes at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 92128590bc78bcbbfb19144c7004b31d6405bbcb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=69ec90ad24a16087eac29fc076f0dff636fba62d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 31 15:06:56 2017 -0800

    anv: Flush render cache before STATE_BASE_ADDRESS on gen7
    
    We had no good reason for *not* doing this on gen7 before but we didn't
    know it was needed.  Recently, when trying update to Vulkan CTS version
    1.0.2 in our CI system, Mark discovered GPU hangs on Haswell that appear
    to be STATE_BASE_ADDRESS related.  This commit fixes them.
    
    Reported-by: Mark Janes <mark.a.janes at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit f1f9794118008bcdc13d93ee709022d21cc4156d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7abecef5c3c27253af32083134aa964f114b96c1
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Jan 27 12:31:40 2017 -0800

    isl/formats: Only advertise sampling for A4B4G4R4 on Broadwell
    
    This causes hangs on Broadwell if you try to render to it.  I have no
    idea how we managed to not hit this earlier.
    
    Tested-by: Mark Janes <mark.a.janes at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 4871930451215fd8673f7e213a88aa48e5ecaad3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d470a68e67281e12ac6b82e593476fb50fb1b29
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Jan 27 12:32:05 2017 -0800

    intel/blorp: Handle clearing of A4B4G4R4 on all platforms
    
    Tested-by: Mark Janes <mark.a.janes at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit a0348b5a0b679a78b3f49d41f980dec6066cc541)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3df060d9530b5f0cbfe9894dff12cb1c61b831b1
Author: Wladimir J. van der Laan <laanwj at gmail.com>
Date:   Fri Nov 25 06:42:43 2016 +0000

    etnaviv: Set SE.CLIP registers, add margins for scissor/clip registers
    
    This fixes rendering of full-screen quads (and other screen-filling
    geometry, e.g. ioquake3 walls up-close) on gc3000. It should be a no-op
    on other hardware.
    
    - It looks like SE_CLIP registers were not set at all.
      I'm amazed that rendering worked without them. Emit them to
      avoid issues on gc3000.
    
    - Define constants
      ETNA_SE_SCISSOR_MARGIN_RIGHT (0x1119)
      ETNA_SE_SCISSOR_MARGIN_BOTTOM (0x1111)
      ETNA_SE_CLIP_MARGIN_RIGHT (0xffff)
      ETNA_SE_CLIP_MARGIN_BOTTOM (0xffff)
    
      These demarcate the margin (fixp16) between the computed sizes and the
      value sent to the chip. I have set these to the numbers used by the
      Vivante driver for gc2000. I am not sure whether any old hardware was
      relying on the old numbers, or whether those were just a guess. But if
      so, these need to be moved to the _specs structure.
    
    CC: <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Wladimir J. van der Laan <laanwj at gmail.com>
    Acked-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 56314f5bafdfeb514adf8401c52f216bd430bbb2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=34cd53ca8c2652b095e090f52bbe66ffbfeced5d
Author: Wladimir J. van der Laan <laanwj at gmail.com>
Date:   Tue Jan 31 09:23:51 2017 +0100

    etnaviv: Generate new sin/cos instructions on GC3000
    
    Shaders using sin/cos instructions were not working on GC3000.
    
    The reason for this turns out to be that these chips implement sin/cos
    in a different way (but using the same opcodes):
    
    - Need their input scaled by 1/pi instead of 2/pi.
    
    - Output an x and y component, which need to be multiplied to
      get the result.
    
    - tex_amode needs to be set to 1.
    
    Add a new bit to the compiler specs and generate these instructions
    as necessary.
    
    CC: <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Wladimir J. van der Laan <laanwj at gmail.com>
    Acked-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit fe3bb8cdb519a01e6315ce6f142827aece3d4a41)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=05d1c8aa020cb61b9a53cdec92fdbf4dc56f966a
Author: Nanley Chery <nanley.g.chery at intel.com>
Date:   Mon Jan 30 12:27:15 2017 -0800

    anv/cmd_buffer: Use the proper depth input attachment surface state
    
    Commit 2852efcda40274acf3272611c6a3b7731523a72d moved the location of
    the depth input attachment surface state from the render pass to the
    image view, but failed to update the surface state location used when
    emitting the binding table. Fix this by loading the surface state from
    the correct location.
    
    Fixes:
    dEQP-VK.renderpass.formats.d16_unorm.input.*
    dEQP-VK.renderpass.formats.d24_unorm_s8_uint.input.*
    dEQP-VK.renderpass.formats.d32_sfloat.input.*
    dEQP-VK.renderpass.formats.x8_d24_unorm_pack32.input.*
    dEQP-VK.renderpass.attachment_allocation.input_output.93
    dEQP-VK.renderpass.attachment_allocation.input_output.92
    dEQP-VK.renderpass.attachment_allocation.input_output.82
    dEQP-VK.renderpass.attachment_allocation.input_output.46
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
    (cherry picked from commit 33e0c5d003658320f5005e26caf55bbcfbe1fbb2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca222b7c1868491ede19f2da717b39c0a54e6846
Author: Bartosz Tomczyk <bartosz.tomczyk86 at gmail.com>
Date:   Tue Jan 31 12:02:20 2017 +0100

    glsl: fix heap-buffer-overflow
    
    The `end+1` skips the ']', whereas the `strlen+1` includes the final
    '\0' in the move to terminate the string.
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit fc27181f9e51441a26b7eb4f62794b5e9a994644)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c89a728d9e5d072cb504453e73077564c6523d3
Author: Wladimir J. van der Laan <laanwj at gmail.com>
Date:   Wed Dec 7 12:59:54 2016 +0000

    etnaviv: Cannot render to rb-swapped formats
    
    Exposing rb swapped (or other swizzled) formats for rendering would
    involve swizzing in the pixel shader. This is not the case at the
    moment, so reject requests for creating such surfaces.
    
    (GPUs that need an extra resolve step anyway due to multiple pixel
    pipes, such as gc2000, might also do this swap in the resolve operation.
    But this would be tricky to keep track of)
    
    CC: <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Wladimir J. van der Laan <laanwj at gmail.com>
    Acked-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 658568941d5e232d690e1ffbcddbd6ea9685693a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3b7a513835605e340cbea351937969a9a420ef6
Author: Christian Gmeiner <christian.gmeiner at gmail.com>
Date:   Tue Jan 31 09:10:27 2017 +0100

    etnaviv: Avoid infinite loop in find_frame()
    
    Use of unsigned loop control variable with '>= 0' would lead
    to infinite loop.
    
    Reported by clang:
    
    etnaviv_compiler.c:1024:39: warning: comparison of unsigned expression
    >= 0 is always true [-Wtautological-compare]
       for (unsigned sp = c->frame_sp; sp >= 0; sp--)
                                       ~~ ^  ~
    
    v2: Simply use the same datatype as c->frame_sp is using.
    
    CC: <mesa-stable at lists.freedesktop.org>
    Reported-by: Rhys Kidd <rhyskidd at gmail.com>
    Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    Reviewed-by: Rhys Kidd <rhyskidd at gmail.com>
    (cherry picked from commit 82fe240a9912d78bc2eec513c1139c918c5f189f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ecfbafedb09565b6ac5735c7893b0f58a46b8df
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jan 31 10:09:11 2017 +1000

    radv/ac: apply slice rounding to 1d arrays as well.
    
    Fixes:
    dEQP-VK.glsl.texture_functions.texture.*1darray*
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 8477aa71d902d6a6fd89741151f8d119a72a7dc0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eaf311d90d20c819e5fa8a9cb7dd781bdb257041
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jan 31 05:19:56 2017 +1000

    radv/ac: implement txs for buffer textures.
    
    This fixes a bunch of buffer related:
    dEQP-VK.memory.pipeline_barrier.*
    tests, that were crashing in LLVM due to this being missing.
    
    Reviewed-by: Andres Rodriguez<andresx7 at gmail.com>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 0ecd426490b043aac6a5db0a6e0feaa39f6d9c54)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bbb4562def6e91e69b1613b1c8d72d4a125c7d45
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jan 31 04:50:30 2017 +1000

    radv/ac: handle nir irem opcode.
    
    This fixes:
    dEQP-VK.spirv_assembly.instruction.compute.opsrem.*
    
    Reviewed-by: Andres Rodriguez <andresx7 at gmail.com>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org"
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit ecc3fa3ba3967624f67abe8d8188102a08c20d7c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7083ca262581540265765bb0af7a11616fe1c6a3
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jan 30 16:13:30 2017 +1000

    radv/ac: fix multisample subpass image.
    
    We weren't adding the fragment position properly.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 059dd171759bb89d915c049de1ca1c93865c21d3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8917af11f7e5eda9437fc255f916c70238c0c337
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jan 30 13:17:05 2017 +1000

    radv: handle transfer_write as a dst flag.
    
    It appears we can get image barriers like:
        srcStageMask:                   VkPipelineStageFlags = 4096 (VK_PIPELINE_STAGE_TRANSFER_BIT)
        dstStageMask:                   VkPipelineStageFlags = 4096 (VK_PIPELINE_STAGE_TRANSFER_BIT)
        dependencyFlags:                VkDependencyFlags = 0
        memoryBarrierCount:             uint32_t = 0
        pMemoryBarriers:                const VkMemoryBarrier* = NULL
        bufferMemoryBarrierCount:       uint32_t = 0
        pBufferMemoryBarriers:          const VkBufferMemoryBarrier* = NULL
        imageMemoryBarrierCount:        uint32_t = 1
        pImageMemoryBarriers:           const VkImageMemoryBarrier* = 0x7ffc882367b0
            pImageMemoryBarriers[0]:        const VkImageMemoryBarrier = 0x7ffc882367b0:
                sType:                          VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45)
                pNext:                          const void* = NULL
                srcAccessMask:                  VkAccessFlags = 4096 (VK_ACCESS_TRANSFER_WRITE_BIT)
                dstAccessMask:                  VkAccessFlags = 4096 (VK_ACCESS_TRANSFER_WRITE_BIT)
                oldLayout:                      VkImageLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL (7)
                newLayout:                      VkImageLayout = VK_IMAGE_LAYOUT_GENERAL (1)
                srcQueueFamilyIndex:            uint32_t = 4294967295
                dstQueueFamilyIndex:            uint32_t = 4294967295
                image:                          VkImage = 0x2df55e0
                subresourceRange:               VkImageSubresourceRange = 0x7ffc882367e0:
                    aspectMask:                     VkImageAspectFlags = 1 (VK_IMAGE_ASPECT_COLOR_BIT)
                    baseMipLevel:                   uint32_t = 0
                    levelCount:                     uint32_t = 1
                    baseArrayLayer:                 uint32_t = 0
                    layerCount:                     uint32_t = 1
    
    This fixes all the CTS dEQP-VK.memory.pipeline_barrier.transfer_dst tests here,
    not sure if this is a too large hammer.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit a1c1ba7d5649cca450ca81bf87be36c035a01db0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7f7dc7231440f36e82fabb7ebec1d294e79f71a
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Jan 29 23:59:59 2017 +0100

    radeonsi: don't invoke DCC decompression in update_all_texture_descriptors
    
    This fixes a bug uncovered by the 17-part patch series, specifically:
      "gallium/radeon: merge dirty_fb_counter and dirty_tex_descriptor_counter"
    
    If dirty_tex_counter has been updated and set_shader_image invokes DCC
    decompression, the DCC decompression itself checks the counter and updates
    descriptors, which in turn invokes the same DCC decompression. The blitter
    can't handle the recursion and the driver eventually crashes.
    
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit a0740d59aa97a08d89998cb57138e8217a331af6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=301c9b96f23b43bef25a6d8a6040f19ccb74891a
Author: Bartosz Tomczyk <bartosz.tomczyk86 at gmail.com>
Date:   Mon Jan 30 14:07:45 2017 +0100

    r600: Fix stack overflow
    
    Commit 7b5878ee0491e7a93914389a8369cd6752b9757d increased number of
    outputs to 64, but left output array intact. This caused stack overflow
    when number of outputs is bigger then 32. Found by ASAN.
    
    Cc: "12.0 13.0 17.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit a41f2527ae8ae5432b99c88863fbdf2f0b5f04ad)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=06b9bc66d58dd6b2adf16142ca05875c953fcc5f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Jan 20 20:33:57 2017 -0800

    i965: Support the force_glsl_version driconf option.
    
    Gallium drivers have had this for a while.  It makes sense to support
    it consistently across drivers, so expose it in i965 as well.
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    (cherry picked from commit 2f7a7ae13196c58eddea75fc51637f8c2a8579b0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=270597d13fbd2659b17deddb215adabd32961459
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Jan 26 01:27:42 2017 -0800

    i965: Fix check for negative pitch in can_do_fast_copy_blit().
    
    At this point, the pitch is in bytes.  We haven't yet divided the pitch
    by 4 for tiled surfaces, so abs(pitch) may be larger than 32K.  This
    means the bit 15 trick won't work.
    
    The caller now has signed integers anyway, so just pass those through
    and do the obvious check.
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 02216a1ddf2bcafb86fda352e514f27ab6f7a4fa)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=671dfe51a0d5aafb41883cc8e52bd0d876280b97
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jan 25 00:59:42 2017 -0800

    i965: Unbind deleted shaders from brw_context, fixing malloc heisenbug.
    
    Applications may delete a shader program, create a new one, and bind it
    before the next draw.  With terrible luck, malloc may randomly return a
    chunk of memory for the new gl_program that happened to be the exact
    same pointer as our previously bound gl_program.  In this case, our
    logic to detect new programs in brw_upload_pipeline_state() would break:
    
          if (brw->vertex_program != ctx->VertexProgram._Current) {
             brw->vertex_program = ctx->VertexProgram._Current;
             brw->ctx.NewDriverState |= BRW_NEW_VERTEX_PROGRAM;
          }
    
    Because the pointer is the same, we'd think it was the same program.
    But it could be wildly different - a different stage altogether,
    different sets of resources, and so on.  This causes utter chaos.
    
    As unlikely as this seems, I believe I hit this when running a subset
    of the CTS in a loop, in a group of tests that churns through simple
    programs, deleting and rebuilding them.  Presumably malloc uses a
    bucketing cache of sorts, and so freeing up a gl_program and allocating
    a new one fairly quickly causes it to reuse that memory.
    
    The result was that brw->vertex_program->info.num_ssbos claimed the
    program had SSBOs, while brw->vs.base.prog_data.binding_table claimed
    that there were none.  This was crazy, because the binding table is
    calculated from info.num_ssbos - the shader info appeared to change
    between shader compile time and draw time.  Careful use of watchpoints
    revealed that it was being clobbered by rzalloc's memset when building
    an entirely different program...
    
    Fortunately, our 0xd0d0d0d0 canary for unused binding table entries
    caused us to crash out of bounds when trying to upload SSBOs, or we
    may have never discovered this heisenbug.
    
    Fixes crashes in GL45-CTS.compute_shader.sso-case2 when using a hacked
    cts-runner that only runs GL45-CTS.compute_shader.s* in EGL config ID 5
    at 64x64 in a loop with 100 iterations.
    
    Cc: "17.0 13.0 12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 7c5629a26912af9164bda17b7af5370f6b4302e4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7d772f9031ece78320f1765b811d5a1e588b311
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Jan 28 01:32:20 2017 +0100

    radv/ac: Use base in push constant loads.
    
    Apparently the source is not an address but an offset, so we actually
    need to use the base.
    
    Signed-off-by: Bas Nieuwenhuizen <basni at google.com>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    CC: <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 96c60b7f07e626d9ca0fc5789117f0c725ba1da2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=522ee2cd7d4e55ae636bca53061b4045e42fafb0
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Fri Jan 27 18:29:38 2017 +0000

    configure.ac: list radeon in --with-vulkan-drivers help string
    
    Analogous to what we do for the dri and gallium drivers.
    
    Cc: 17.0 13.0 <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at colllabora.com>
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    (cherry picked from commit cb6be5c8c05fa1af20ebd4f014d686244826f987)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=929b3bb6fe4c3527cbd95bb52625b8bd007a6bbd
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Fri Jan 27 18:05:13 2017 +0000

    radv: automake: Don't install vk_platform.h or vulkan.h.
    
    These files belong to the vulkan loader.
    
    Identical to
    045f38a5075 vulkan: Don't install vk_platform.h or vulkan.h.
    
    Cc: Dave Airlie <airlied at redhat.com>
    Cc: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    (cherry picked from commit 6f2dec0a235694779310979fd1cbf48a8d7ba27b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6ea92b263126d08f3c4a5e10b324e9e7325d96f
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:49 2017 +0000

    mesa/tests: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 091f2b8c98937138c17a1ddf4b16d17f31a20020)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27e7e7e7e3f6da79a0fd4e18d17fc42f2d23e924
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:48 2017 +0000

    dri/osmesa: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 6ba96bdcabc4c9c89827603907aba1b7dd5e9972)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3919feee5558b66c9e073a3ddcb05309083cc728
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:47 2017 +0000

    dri/swrast: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit ede4ff9adc5653db56e7edac53c012fc431647dc)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ee946862cf220cdc8b017ce1575171d1b19e7de
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:46 2017 +0000

    radeon, r200: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 5a0ba1e5de088bf71bc407db9837235b18dca936)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e20356a6c6cbc5886992c1a352fa3dfe5b0567d
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:45 2017 +0000

    mapi: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit ee5de93269cee8abec2dd4d938c5e745983bf98e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5236ab7bac288ed63e1b76398388488e76139296
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:44 2017 +0000

    loader: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit af860850a0c4096f9bb27faa4d9c0061fb437a9b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ea4e19ccb7189a404776d569c5595e89b16cda7
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:43 2017 +0000

    glx/windows: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Jon Turney <jon.turney at dronecode.org.uk>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 912b4f5472007dbd06c922cb1c315cb4814c4010)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fad44e6aeaf0c1797fa85a63e3d678940d39a3f8
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:42 2017 +0000

    glx/apple: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Jeremy Sequoia <jeremyhu at apple.com>
    (cherry picked from commit 5b874cee099122bc9c0625254895e63843ae2260)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a817d1e22773c083f85349cb412b319f02d2cf5a
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:41 2017 +0000

    glx: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit d66f9e6d930a9fcfa23129dce18d5359cc6e00f4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=44ba34817c99ea45a36e887a94c1fc0ff18be99e
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:40 2017 +0000

    d3dadapter9: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Axel Davy <axel.davy at ens.fr>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit d221bf9b91900c62069cc447dc214c04a9e5261c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=586b009cfe5d3e4d3dd5724ba7749b86c2847c59
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:39 2017 +0000

    st/dri: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 517f34b4be0ac4a5a508ccb6dcaeca3c975585b0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=89ce0721ebac2d14267b79d0c1849eb25f018894
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:37 2017 +0000

    clover: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Aaron Watry <awatry at gmail.com>
    Cc: Francisco Jerez <currojerez at riseup.net>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 65d5a60caca632a7c03cd1dc554645f27f408f37)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87fc95c94ce159d460347a99f383b175450c5edf
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:36 2017 +0000

    egl: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit c5921ae0d2fc37699c7ebbd693a2e850a5371204)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=042b3445b27fd43af595d47d21b7033159417b9a
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:35 2017 +0000

    i915: automake: include builddir prior to srcdir
    
    Analogous to previous commit.
    
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 90ac5c339e2c360712d663e3eab76c4a4abf2487)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a1ad5c91677a69c22b575c8c4fcba323ba89cdd
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:34 2017 +0000

    i965: automake: include builddir prior to srcdir
    
    The latter can contain stale generated file, which, as-is, we'll end up
    using.
    
    Fixes: bfd17c76c12 "i965: Port INTEL_PRECISE_TRIG=1 to NIR."
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Kenneth Graunke <kenneth at whitecape.org>
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    (cherry picked from commit 4622c75dfbf5c89630d1860037dcb8b7910c0820)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe1b2f73411e8d8dbdfd7297fbf89f1119075139
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:33 2017 +0000

    freedreno: automake: correctly set MKDIR_GEN
    
    Analogous to previous commit.
    
    Fixes: 4610e5ef28e "freedreno/ir3: fix sin/cos"
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Rob Clark <robclark at freedesktop.org>
    Cc: Nicolas Dechesne <nicolas.dechesne at linaro.org>
    Reported-by: Nicolas Dechesne <nicolas.dechesne at linaro.org>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Tested-by: Nicolas Dechesne <nicolas.dechesne at linaro.org>
    (cherry picked from commit a922c821255bfac22cf705244e5bd303a626bb55)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c22ee800d2f903c4e937ed13f50274f3d6a725d5
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Jan 16 15:45:32 2017 +0000

    i965: automake: correctly set MKDIR_GEN
    
    Otherwise we might end up w/o the respective folder (depending on
    autotools version) and fail at build time.
    
    Fixes: bfd17c76c12 "i965: Port INTEL_PRECISE_TRIG=1 to NIR."
    Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
    Cc: Kenneth Graunke <kenneth at whitecape.org>
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 5eed48d23780e812ca5c53fecc59a419962c7dd6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e79043bbb9499b3f29b84acff3664e2a85b95a9d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 24 17:10:45 2017 -0800

    vulkan/wsi: Lower the maximum image sizes
    
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Cc: "17.0" <mesa-dev at lists.freedesktop.org>
    (cherry picked from commit d6397dd62542215e655c0cab557729474c2ae973)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f14926027caef9a66aae1f95838528874afde628
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 24 16:43:15 2017 -0800

    vulkan/wsi/wayland: Handle VK_INCOMPLETE for GetPresentModes
    
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Cc: "17.0" <mesa-dev at lists.freedesktop.org>
    (cherry picked from commit 659edd9f5ce995aa47e2ab02425508cc29140cce)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23ffeed7e0ea97372f6355f0581766af648b3362
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 24 16:43:01 2017 -0800

    vulkan/wsi/wayland: Handle VK_INCOMPLETE for GetFormats
    
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Cc: "17.0" <mesa-dev at lists.freedesktop.org>
    (cherry picked from commit dc578ef060f6b92e6fd2f77bb6454a5fb22a471c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e03b5e5660b4deea16121e5da35d0d1a5aa755e
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Jan 26 13:18:41 2017 +0000

    mesa: move variable declaration to where its used
    
    The variable replacement was unused when building w/o
    ENABLE_SHADER_CACHE. Since we can mix variable declarations and code,
    move it to where its used.
    
    Fixes: 9f8dc3bf03e "utils: build sha1/disk cache only with
    Android/Autoconf"
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    
    (cherry picked from commit 6a5850b04a86c2287112047c6cad500136d18df5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=58952675f6d4e6c5f11d9d481e9ab09391be12bc
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Tue Jan 24 16:44:12 2017 +0100

    configure.ac: Require LLVM for r300 only on x86 and x86_64
    
    b3119a3 introduced a strict LLVM requirement for r300 on all
    architectures and thus configure fails on architectures where LLVM is
    not available or buggy.
    
    r300 doesn't strictly require LLVM, but for performance reasons we
    highly recommend LLVM usage. So require it at least on x86 and x86_64
    architectures as we have done before b3119a3.
    
    Fixes: b3119a3 ("configure.ac: Check gallium LLVM version in gallium_require_llvm")
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Andreas Boll <andreas.boll.dev at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 1f2a890ace07f2709ca8f7ef5fe12051222aafed)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe44c532b25914f3cdaf8f4d1d80f8cef660d27f
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Jan 26 16:57:40 2017 +0000

    spirv: handle undefined components for OpVectorShuffle
    
    Fixes:
       dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.vector_related
       dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.vector_related*
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "17.0 13.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit bbe8705c579c3e464615a0ca9b2eb4bd3c16aad3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=939c0c82e50e2f73f2d5ea0ac5af3d5e5cb36a93
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Jan 26 16:57:25 2017 +0000

    spirv: handle OpUndef as part of the variable parsing pass
    
    Looking at the following bit of SPIRV shader :
    
    ...
    %zero        = OpConstant %i32 0
    %ivec3_0     = OpConstantComposite %ivec3 %zero %zero %zero
    %vec3_undef  = OpUndef %ivec3
    %sc_0        = OpSpecConstant %i32 0
    %sc_1        = OpSpecConstant %i32 0
    %sc_2        = OpSpecConstant %i32 0
    ...
    
    Our compiler currently stops parsing variables & types on the OpUndef
    and switches to instructions, leaving the following sc_[0-2] variables
    untreated.
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "17.0 13.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit df7063cba35ea273827ba60f643596cd80539458)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c663b1d5efe8c8861fb0b137d40e141c2bc3589
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Jan 26 11:06:53 2017 +0000

    anv: fix descriptor pool internal size allocation
    
    The size of the pool is slightly smaller than the size of the
    structure containing the whole pool. We need to take that into account
    on when setting up the internals.
    
    Fixes a crash due to out of bound memory access in:
       dEQP-VK.api.descriptor_pool.out_of_pool_memory
    
    v2: Drop debug traces (Lionel)
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "17.0 13.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit c3421106ec332bf3a943ccf9447edf00dc7f3618)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2554c98d70f4a919fbe71c43e6261b799d2cd6ba
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Jan 22 01:44:08 2017 -0800

    i965: Make intelEmitCopyBlit not truncate large strides.
    
    When trying to blit larger tiled surfaces, the pitch can be larger than
    32768 bytes, which means it won't fit in a GLshort.  Passing it in will
    truncate the stride to 0, which has...surprising results.
    
    The pitch can be up to 32,768 DWords, or 128kB.  We measure it in bytes,
    but divide by 4 when programming it.  So we need to handle values up to
    131,072.  Switch from GLshort to int32_t to avoid the truncation.
    
    Fixes GL45-CTS.gtf30.GL3Tests.depth_texture.depth_texture_copyteximage
    at widths greater than 8192.
    
    v2: Use int32_t as negative values can be used (Jason).
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit f8f7ea508be7fe7222cd19e0d59574cfea2decf0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31715781c62f506875a7fea017aff64fdac643af
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Jan 24 00:45:53 2017 -0800

    i965: Use a UW source type for CS_OPCODE_CS_TERMINATE.
    
    SIMD16 compute shaders use a send(16) with mlen 1 for the EOT message,
    using a source of g127 for the single register.  With a UD type, this
    supposedly could read g128, which doesn't exist, causing the simulator
    to get cranky.  Use a UW type to avoid this.
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    (cherry picked from commit fcf723b647f36fa174d29b1fe6a9732637a1f8d1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebfe5e17ee5e484737dd7055df0f6542983473ac
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Jan 25 15:04:35 2017 +0100

    anv/lower_input_attachments: honor sample index parameter to subpassLoad()
    
    According to GL_KHR_vulkan_glsl, the signature of subpassLoad() is:
    
    gvec4 subpassLoad(gsubpassInput   subpass);
    gvec4 subpassLoad(gsubpassInputMS subpass, int sample);
    
    So the multisampled case always receives an explicit sample index that we
    should use. The current implementation was ignoring this parameter
    and using gl_SampleID value instead.
    
    Fixes:
    dEQP-VK.pipeline.multisample_shader_builtin.sample_id.*
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 9b25769da63999fa65a70a14194a452c49d18f3e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dcb3b24b86bb75f25f99e1a2bb13bb182d58f16f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Jan 23 11:57:21 2017 -0800

    i965: Fix fast depth clears for surfaces with a dimension of 16384.
    
    I hadn't bothered to set this bit because I figured it would just
    paper over us getting the rectangle wrong.  But it turns out that
    there is a legitimate reason to use it, so let's do so.
    
    The alternative would be to chop up 16k clears to multiple 8k clears,
    which is pointlessly painful.
    
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
    (cherry picked from commit 5106df85da20d57007e89262472bb1624afbdaba)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a806f7def44047ea381678e10edb33d90512c2d
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Jan 25 16:22:40 2017 +0000

    anv: set command buffer to NULL when allocations fail
    
    The spec section 5.2 says:
    
       "vkAllocateCommandBuffers can be used to create multiple command
       buffers. If the creation of any of those command buffers fails, the
       implementation must destroy all successfully created command buffer
       objects from this command, set all entries of the pCommandBuffers
       array to VK_NULL_HANDLE and return the error."
    
    Fixes:
       dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_primary
       dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_secondary
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 25e21cb8d065799888e0c5db80b0e616ffddc560)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c63652b8acb74e8b0a0db2a90c34178bb0d1216e
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jan 18 13:46:43 2017 +1000

    radv: program a default point size.
    
    Along the lines of what
    3b804819 anv: Default PointSize to 1.0 if not written by the shader
    does for anv, program a default point size in the hw of 1.0.
    
    This preempt fixes a bunch of geom shader tests.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Cc: "17.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 2ab2be092d15ddb449b4a215609705bae68089a0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=651861d8624f91c5ba052a2117a0e63b3139bd16
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Jan 20 16:02:04 2017 +0100

    radeonsi: handle first_non_void correctly in si_create_vertex_elements
    
    This fixes R11G11B10_FLOAT, because it's in the category of "OTHER",
    meaning that it doesn't have any channel description.
    
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit eac7df43ca05abd9992b305e078e88fe7b7f8c91)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d701877fb05251d26a040d1c3809681b56ae160b
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Jan 20 02:26:42 2017 +0100

    st/mesa: destroy pipe_context before destroying st_context (v2)
    
    If radeonsi starts compiling an optimized shader variant asynchronously
    with a GL debug callback set and the application destroys the GL context,
    radeonsi crashes when trying to write shader stats into the debug output
    of a non-existent context after compilation, because st/mesa was destroyed
    before pipe_context.
    
    Firefox with WebGL2 enabled hits this bug.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99456
    
    v2: protect against a double destroy in st_create_context_priv and callers.
    
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit d9ef54923804d5fe44a1d3ad5c29e9b8e8382359)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2bbfca79f8b29f9cc60ed6bb22cb7023284a781
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Jan 23 09:57:15 2017 -0800

    mesa: Don't advertise GL_OES_read_format in core profile
    
    OpenGL ES implementations are not allowed to ship ARB extensions, and
    OpenGL implementations are not allowed to ship OES extensions.
    
    The functionality is also included in GL_ARB_ES2_compatibility.  Ever
    OpenGL core-profile driver currently exposes both extensions.  I don't
    know of any applications that explicitly check for GL_OES_read_format,
    so removing it seems very unlikely to cause problems.  No functionality
    is removed.
    
    I have left this extension in place for compatibility profile.  There
    are still OpenGL 1.x drivers in Mesa, and adding code to check for
    compatibility profile and not GL_ARB_ES2_compatibility for
    GL_IMPLEMENTATION_COLOR_READ_TYPE and GL_IMPLEMENTATION_COLOR_READ_FORMAT
    just feels dumb.
    
    Three other other alternatives considered:
    
     - Remove the string from compatibility profile drivers but leave the
       functionality in place.
    
     - Add a flag to expose the extension string, and set it in every OpenGL
       driver that does not expose GL_ARB_ES2_compatibility (and those
       drivers only).  I tried this.  You can't have two instances of an
       extension in the extension table (one dummy_true for ES1 and one with
       a flag for compatibility profile), so the implementation requires a
       bit of effort.
    
     - Only expose the extension in compatibility if the version is less
       than 2.0.  I didn't see an easy way to do this.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit c4a0c1efff77ed90dfebf969348cd440195ae38a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=140ad270c8a666efa64d6be93d89400d669a9edb
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Mon Jan 23 18:04:12 2017 +0100

    gallivm: (trivial) fix ddiv cpu implementation
    
    we can't use the cpu implementation of fdiv, as this one uses different
    lp_build_context, which causes assertion failure.
    Just use default fdiv action (there is no fast rcp for doubles which we
    could potentially use anyway).
    
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    (cherry picked from commit 25208949d7293aa060a3416f8cf3cdb3ca1fbfdd)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=517fc3ef78559ccea3ef70961b88aaa8b9eaf2be
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Mon Jan 23 18:10:44 2017 +0100

    tgsi: implement ddiv opcode
    
    softpipe (along with llvmpipe) claims to support arb_gpu_shader_fp64,
    so we really need to support that opcode.
    
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    (cherry picked from commit 3b575a955c1d84744a65160e2c45f0ce407effd8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=450f6aa5b20133f8d3dc3f92467f5dd19446b80d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Jan 23 10:53:13 2017 -0800

    i965/blorp: Use the correct ISL format for combined depth/stencil
    
    In brw_blorp_copyteximage, we use the format from the render buffer.
    This could be a combined depth/stencil format.  In this case, we handle
    stencil properly but we give blorp the wrong ISL format.  Specifically,
    we would give blorp ISL_FORMAT_R32G32B32A32_FLOAT which is the wrong
    size was causing GPU hangs.
    
    Fixes: GL45-CTS.gtf30.GL3Tests.packed_depth_stencil.packed_depth_stencil_copyteximage
    
    Reviewed-by: Chad Versace <chadversary at chromium.org>
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 4c180f9633421a526f3ea6746cf38b809e7c1abb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d940b91f947326bba4aeb775c32915208833817b
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Thu Jan 19 10:11:42 2017 +0200

    i965/blorp: Add also depth and stencil buffers to render cache
    
    v2 (Jason, Curro): Add stencil also even though it is not
                       enabled yet.
    
    Cc: 17.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    (cherry picked from commit ba6399df9462d78eda2a5de7c2940d8cf9d27f95)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=63f169d5d07104791a5c1615584bc45dc588dc4d
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Jan 19 15:19:56 2017 +0000

    configure.ac: move require_dri_shared_libs_and_glapi() before its users
    
    Otherwise we'll get a lovely message as below:
    "require_dri_shared_libs_and_glapi: command not found"
    
    Cc: Steven Newbury <steve at snewbury.org.uk>
    Reported-by: Steven Newbury <steve at snewbury.org.uk>
    Fixes: da410e6afad "configure: explicitly require shared glapi for
    enable-dri"
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    Tested-by: Steven Newbury <steve at snewbury.org.uk>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    
    (cherry picked from commit 5872850b8868f00c031d21387b0516d844d070be)




More information about the mesa-commit mailing list