Skip to content
Snippets Groups Projects
  1. Sep 24, 2018
  2. Sep 21, 2018
  3. Sep 20, 2018
  4. Sep 18, 2018
  5. Sep 17, 2018
    • Bas Nieuwenhuizen's avatar
      radv: Use build ID if available for cache UUID. · da9fc5c1
      Bas Nieuwenhuizen authored and Dylan Baker's avatar Dylan Baker committed
      
      To get an useful UUID for systems that have a non-useful mtime
      for the binaries.
      
      I started using SHA1 to ensure we get reasonable mixing in the
      various possibilities and the various build id lengths.
      
      CC: <mesa-stable@lists.freedesktop.org>
      Reviewed-by: default avatarTimothy Arceri <tarceri@itsqueeze.com>
      (cherry picked from commit d17443a4)
      da9fc5c1
    • Josh Pieper's avatar
      st/mesa: Validate the result of pipe_transfer_map in make_texture (v2) · 3a34419c
      Josh Pieper authored and Dylan Baker's avatar Dylan Baker committed
      When using Freecad, I was getting intermittent segfaults inside of
      mesa.  I traced it down to this path in st_cb_drawpixels.c where the
      result of pipe_transfer_map wasn't being checked.  In my case, it was
      returning NULL because nouveau_bo_new returned ENOENT.  I'm by no
      means a mesa developer, but this patch solves the problem for me and
      seems reasonable enough.
      
      v2: Marek - also unmap the PBO and release the texture, and call
          the make_texture function sooner for less cleanup
      
      Cc: 18.1 18.2 <mesa-stable@lists.freedesktop.org>
      (cherry picked from commit 936e0dcd)
      3a34419c
  6. Sep 14, 2018
  7. Sep 12, 2018
    • Erik Faye-Lund's avatar
      winsys/virgl: avoid unintended behavior · 1816f280
      Erik Faye-Lund authored and Dylan Baker's avatar Dylan Baker committed
      
      If we end up never taking the loop that writes ret, we can end up with
      an uninitialized value, and if we're *really* unlucky, that value can
      be -1, causing us to go down an error-path instead of a success path.
      
      This was obviously not intended, so let's just initialize this to zero.
      
      Noticed by Valgrind:
      
      Conditional jump or move depends on uninitialised value(s)
         at 0xBA640A0: virgl_drm_winsys_resource_cache_create (virgl_drm_winsys.c:348)
         by 0xBA62FCF: virgl_buffer_create (virgl_buffer.c:170)
         by 0xBA605AC: virgl_resource_create (virgl_resource.c:60)
         by 0xBCF816F: bufferobj_data (st_cb_bufferobjects.c:344)
         by 0xBCF816F: st_bufferobj_data (st_cb_bufferobjects.c:390)
         by 0xBB7E836: vbo_use_buffer_objects (vbo_exec_api.c:1136)
         by 0xBCFCC6E: st_create_context_priv (st_context.c:414)
         by 0xBCFD3CD: st_create_context (st_context.c:590)
         by 0xBBB30CA: st_api_create_context (st_manager.c:896)
         by 0xB981E76: dri_create_context (dri_context.c:155)
         by 0xB97BDCE: driCreateContextAttribs (dri_util.c:473)
         by 0x5288331: dri3_create_context_attribs (dri3_glx.c:309)
         by 0x5264D64: glXCreateContextAttribsARB (create_context.c:78)
      
      Fixes: a8987b88 ("virgl: add driver for virtio-gpu 3D (v2)")
      Signed-off-by: default avatarErik Faye-Lund <erik.faye-lund@collabora.com>
      (cherry picked from commit eaa71858)
      1816f280
    • Michel Dänzer's avatar
      loader/dri3: Only wait for back buffer fences in dri3_get_buffer · e89a4589
      Michel Dänzer authored and Dylan Baker's avatar Dylan Baker committed
      We don't need to wait before drawing to the fake front buffer, as front
      buffer rendering by definition is allowed to produce artifacts.
      
      Fixes hangs in some cases when re-using the fake front buffer, due to it
      still being busy (i.e. in use for presentation).
      
      Cc: mesa-stable@lists.freedesktop.org
      Bugzilla: https://bugs.freedesktop.org/106404
      Bugzilla: https://bugs.freedesktop.org/107757
      
      
      Tested-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      (cherry picked from commit aefac10f)
      e89a4589
  8. Sep 11, 2018
  9. Sep 10, 2018
    • Dave Airlie's avatar
      virgl: don't send a shader create with no data. (v2) · 4670daa1
      Dave Airlie authored and Dylan Baker's avatar Dylan Baker committed
      
      This fixes the situation where we'd send a shader with just the
      header and no data.
      
      piglit/glsl-max-varyings test was causing this to happen, and
      the renderer fix was breaking it.
      
      v2: drop fprintf
      
      Fixes: a8987b88 "virgl: add driver for virtio-gpu 3D (v2)"
      Reviewed-by: default avatarErik Faye-Lund <erik.faye-lund@collabora.com>
      (cherry picked from commit 240af614)
      4670daa1
    • Faith Ekstrand's avatar
      anv: Clamp scissors to the framebuffer boundary · 05985a64
      Faith Ekstrand authored and Dylan Baker's avatar Dylan Baker committed
      
      The Vulkan 1.1.81 spec says:
      
          "It is legal for offset.x + extent.width or offset.y + extent.height
          to exceed the dimensions of the framebuffer - the scissor test still
          applies as defined above. Rasterization does not produce fragments
          outside of the framebuffer, so such fragments never have the scissor
          test performed on them."
      
      Elsewhere, the Vulkan 1.1.81 spec says:
      
          "The application must ensure (using scissor if necessary) that all
          rendering is contained within the render area, otherwise the pixels
          outside of the render area become undefined and shader side effects
          may occur for fragments outside the render area. The render area
          must be contained within the framebuffer dimensions."
      
      Unfortunately, there's some room for interpretation here as to what the
      consequences are of having the render area set to exactly the
      framebuffer dimensions and having a scissor that is larger than the
      framebuffer.  Given that GL and other APIs provide automatic clipping to
      the framebuffer, it makes sense that applications would assume that
      Vulkan does this as well.  It costs us very little to play it safe and
      just clamp client-provided scissors to the framebuffer dimensions.
      Fortunately, the user is required to provide us with at least one
      scissor so we don't need to handle the case where they don't.
      
      Fixes: fb2a5ceb "anv: Emit DRAWING_RECTANGLE once at driver..."
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit 465e5a86)
      05985a64
    • Faith Ekstrand's avatar
      anv: Disable the vertex cache when tessellating on SKL GT4 · 3bfed07f
      Faith Ekstrand authored and Dylan Baker's avatar Dylan Baker committed
      I have no idea if I'm correct about what's going wrong or if this is the
      correct fix.  However, in my multiple weeks of banging my head on this
      hang, a VUE reference counting bug seems to match all the symptoms and
      it definitely fixes the hang.
      
      Cc: mesa-stable@lists.freedesktop.org
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107280
      
      
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit b08b4b2b)
      3bfed07f
    • Faith Ekstrand's avatar
      anv: Re-emit vertex buffers when the pipeline changes · 9f08ea8c
      Faith Ekstrand authored and Dylan Baker's avatar Dylan Baker committed
      
      Some of the bits of VERTEX_BUFFER_STATE such as access type, instance
      data step rate, and pitch come from the pipeline.
      
      Cc: mesa-stable@lists.freedesktop.org
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit c643c5e1)
      9f08ea8c
    • Faith Ekstrand's avatar
      i965: Workaround the gen9 hw astc5x5 sampler bug · 08e3909c
      Faith Ekstrand authored and Dylan Baker's avatar Dylan Baker committed
      
      gen9 hardware has a bug in the sampler cache that can cause GPU hangs
      whenever an texture with aux compression enabled is in the sampler cache
      together with an ASTC5x5 texture.  Because we can't control what the
      client binds at any given time, we have two options: resolve the CCS or
      decompresss the ASTC.  Doing a CCS or HiZ resolve is far less drastic
      and will likely have a smaller performance impact.
      
      Cc: mesa-stable@lists.freedesktop.org
      Reviewed-by: default avatarKristian H. Kristensen <hoegsberg@google.com>
      Tested-by: default avatarTapani Pälli <tapani.palli@intel.com>
      Reviewed-by: default avatarTopi Pohjolainen <topi.pohjolainen@intel.com>
      (cherry picked from commit f9e630e2)
      08e3909c
  10. Sep 07, 2018
Loading