~feral-interactive/mesa/+git/trunk:17.0

Last commit made on 2017-06-01
Get this branch:
git clone -b 17.0 https://git.launchpad.net/~feral-interactive/mesa/+git/trunk

Branch merges

Branch information

Name:
17.0
Repository:
lp:~feral-interactive/mesa/+git/trunk

Recent commits

bdfd565... by Emil Velikov <email address hidden>

docs: add sha256 checksums for 17.0.7

Signed-off-by: Emil Velikov <email address hidden>

46cc7a1... by Emil Velikov <email address hidden>

docs: add release notes for 17.0.7

Signed-off-by: Emil Velikov <email address hidden>

10be0ed... by Emil Velikov <email address hidden>

Update version to 17.0.7

Signed-off-by: Emil Velikov <email address hidden>

4242dfa... by Bartosz Tomczyk <email address hidden>

mesa: Avoid leaking surface in st_renderbuffer_delete

v2: add comment in code

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100741
Fixes: a5e733c6b52 mesa: drop current draw/read buffer when ctx is released
Reviewed-by: Rob Clark <email address hidden> (v1)
Reviewed-by: Emil Velikov <email address hidden>
(cherry picked from commit fd6c2a3f3eb7f5f3077fb95b1441ddaa43b806fe)
[Emil Velikov: s/CurrentClientDispatch/CurrentDispatch/]
Signed-off-by: Emil Velikov <email address hidden>

Conflicts:
 src/mesa/main/context.c

4c3b89a... by Emil Velikov <email address hidden>

egl/wayland: select the format based on the interface used

Rather than misleadingly depending on DRI2 for the WL_DRM vs WL_SHM
formats, use the wl_drm and wl_shm interface respectively.

Fixes: a1727aa75ed ("egl/wayland: Don't use DRM format codes for SHM")
Signed-off-by: Emil Velikov <email address hidden>
(cherry picked from commit 6ef0fc400c690362b66add9c3533fae5f21d2cae)

360c0e7... by Emil Velikov <email address hidden>

radv: automake: list shared libraries after the static ones

Analogous to previous commit - the compiler can discard xcb + wayland
libs, since there is no user (the static libraries) before it on the
command line.

Cc: <email address hidden>
Signed-off-by: Emil Velikov <email address hidden>
Reviewed-by: Eduardo Lima Mitev <email address hidden>
(cherry picked from commit 2b6ad89d8695c6b87c113eda198a65389bae9f3a)

b196e01... by Emil Velikov <email address hidden>

anv: automake: list shared libraries after the static ones

The compiler can discard the shared ones from the link chain, since
there is no user (the static libraries) before it on the command line.

Cc: <email address hidden>
Reported-by: Laurent Carlier <email address hidden>
Signed-off-by: Emil Velikov <email address hidden>
Reviewed-by: Eduardo Lima Mitev <email address hidden>
(cherry picked from commit 3e8790bff096a1a56bd1a3046c556a7f93b68ca8)

8e61485... by Jason Ekstrand <email address hidden>

i965: Round copy size to the nearest block in intel_miptree_copy

The width and height of the copy don't have to be aligned to the block
size if they specify the right or bottom edges of the image. (See also
the comment and asserts right above). We need to round them up when we
do the division in order to get it 100% right.

Reviewed-by: Ben Widawsky <email address hidden>
Reviewed-by: Kenneth Graunke <email address hidden>
Cc: "17.0 17.1" <email address hidden>
(cherry picked from commit 0901d0bc4c78313eaaf29dff74c6a7bf5514f75b)

6bc8491... by Jason Ekstrand <email address hidden>

i965/blorp: Do and end-of-pipe sync on both sides of fast-clear ops

We've discovered in the Vulkan driver that simply doing the end-of-pipe
sync afterwards is insufficient. The specific requirement stated in the
PRM is that you have to do one every time you transition between the
tree modes of "clear", "render", and "resolve". This is GL, so we could
track it but any attempt to do so would most likely get it wrong. For
now, it's easier to just assume that every fast-clear op is an island
and do the sync both before and after.

This also removes the unneeded flush and stall after slow-clear
operations.

Reviewed-by: Topi Pohjolainen <email address hidden>
Cc: "17.0 17.1" <email address hidden>
(cherry picked from commit 441cd7a81d6fb90dacf8ae441b438d9fe7db19eb)

8008bc8... by Daniel Stone <email address hidden>

egl/wayland: Ensure we get a back buffer

Commit 9ca6711faa03 changed the Wayland winsys to only block for the
frame callback inside SwapBuffers, rather than get_back_bo. get_back_bo
would perform a single non-blocking Wayland event dispatch, to try to
find any release events which we had pulled off the wire but not
actually processed. The blocking dispatch was moved to SwapBuffers.

This removed a guarantee that we would've processed all events inside
get_back_bo(), and introduced a failure whereby the server could've sent
a buffer release event, but we wouldn't have read it. In clients
unconstrained by SwapInterval (rendering ~as fast as possible), which
were being displayed directly without composition (buffer release delayed),
this could lead to get_back_bo() failing because there were no free
buffers available to it.

The drawing rightly failed, but this was papered over because of the
path in eglSwapBuffers() which attempts to guarantee a BO, in order to
support calling SwapBuffers twice in a row with no rendering actually
having been performed.

Since eglSwapBuffers will perform a blocking dispatch of Wayland
events, a buffer release would have arrived by that point, and we
could then choose a buffer to post to the server. The effect was that
frames were displayed out-of-order, since we grabbed a frame with random
past content to display to the compositor.

Ideally get_back_bo() failing should store a failure flag inside the
surface and cause the next SwapBuffers to fail, but for the meantime,
restore the correct behaviour such that get_back_bo() no longer fails.

Signed-off-by: Daniel Stone <email address hidden>
Reported-by: Eero Tamminen <email address hidden>
Acked-by: Pekka Paalanen <email address hidden>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98833
Fixes: 9ca6711faa03 ("Revert "wayland: Block for the frame callback in get_back_bo not dri2_swap_buffers"")
(cherry picked from commit 1f2d0093bf5084f65a923582881dc74153c804a4)