Andreas Boll pushed to branch debian-experimental at X Strike Force / lib / mesa


Commits:
fe460ee8 by Dave Airlie at 2018-11-30T16:51:41Z
r600: make suballocator 256-bytes align

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108311
Cc: <[email protected]>
(cherry picked from commit 2ddd44d941648d49dc0d917e03a579baec3590d9)

- - - - -
c2a22a44 by Thomas Hellstrom at 2018-11-30T16:51:44Z
st/xa: Fix a memory leak

Free the context after destruction.

Cc: [email protected]
Signed-off-by: Thomas Hellstrom <[email protected]>
Reviewed-by: Sinclair Yeh <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 7fce3ca3759e2e156e2e3bf1bcc4ee378dc7fa2d)

- - - - -
56f90f62 by Thomas Hellstrom at 2018-11-30T16:51:46Z
winsys/svga: Fix a memory leak

The ioctl.cap_3d member was never freed.

Cc: [email protected]
Signed-off-by: Thomas Hellstrom <[email protected]>
Reviewed-by: Sinclair Yeh <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 058f85d41cbe3534b1a06d321fab9afb8fbadfc0)

- - - - -
98d571d2 by Lionel Landwerlin at 2018-11-30T16:51:49Z
anv: flush pipeline before query result copies

Pipeline state pending bits should be taken into account when copying
results.

In the particular bug below, the results of the
vkCmdCopyQueryPoolResults() command was being overwritten by the
preceding vkCmdCopyBuffer() with a same destination buffer. This is
because we copy the buffers using the 3D pipeline whereas we copy the
query results using the command streamer. Those pieces of HW work in
parallel and the results are somewhat undefined.

v2: Unconditionally flush the pipeline before copying the results
    (Jason)

v3: Wrap & expressions (Jason)

Signed-off-by: Lionel Landwerlin <[email protected]>
Suggested-by: Jason Ekstrand <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108894
Cc: [email protected]
(cherry picked from commit 37f9788e9a8e443772b5ad6f339567e6ae6a8320)

- - - - -
ab83cfd2 by Vinson Lee at 2018-12-03T16:07:13Z
st/xvmc: Add X11 include path.

This patch fixes this build error.

  CC       tests/xvmc_bench.o
In file included from tests/xvmc_bench.c:35:
tests/testlib.h:38:10: fatal error: 'X11/Xlib.h' file not found
         ^~~~~~~~~~~~

Signed-off-by: Vinson Lee <[email protected]>
Cc: [email protected]
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 4f74580d3038eca1b751a71e0c098ea9eb9cdb05)

- - - - -
a7c4368a by Karol Herbst at 2018-12-03T16:41:42Z
nv50,nvc0: Fix gallium nine regression regarding sampler bindings

The new approach is that samplers don't get unbound even if they won't 
be used
in a draw and we should just leave them be as well.

Fixes a regression in multiple windows games using gallium nine and nouveau.

v2: adjust num_samplers to keep track of the highest sampler bound
v3: rework how to set the new value of num_samplers

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106577
Fixes: 4d6fab245eec3880e2a59424a579851f44857ce8
       "cso: don't track the number of sampler states bound"
Signed-off-by: Karol Herbst <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit fc0139d28339f58bcbb4946fea7608ecdaff93e7)

- - - - -
3985a62a by Tobias Klausmann at 2018-12-03T18:32:04Z
amd/vulkan: meson build - use radv_deps for libvulkan_radeon

Without this the build breaks with:

FAILED: src/amd/vulkan/src@amd@vulkan@@vulkan_radeon@sha/radv_pipeline.c.o
cc -Isrc/amd/vulkan/src@amd@vulkan@@vulkan_radeon@sha -Isrc/amd/vulkan
-I../src/amd/vulkan -Isrc/../include -I../src/../include -Isrc -I../src
-Isrc/mapi -I../src/mapi -Isrc/mesa -I../src/mesa -I../src/gallium/include
-Isrc/gallium/auxiliary -I../src/gallium/auxiliary -Isrc/amd -I../src/amd
-Isrc/amd/common -I../src/amd/common -Isrc/compiler -I../src/compiler
-Isrc/vulkan/util -I../src/vulkan/util -Isrc/vulkan/wsi -I../src/vulkan/wsi
-Isrc/compiler/nir -I../src/compiler/nir -I/usr/include -I/usr/include/libdrm
-fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch
-std=c99 -O2 -g '-DVERSION="18.3.0-rc5"' 
-DPACKAGE_VERSION=VERSION
'-DPACKAGE_BUGREPORT="https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa"'
-DGLX_USE_TLS -DHAVE_ST_VDPAU -DENABLE_ST_OMX_BELLAGIO=0
-DENABLE_ST_OMX_TIZONIA=0 -DHAVE_X11_PLATFORM -DGLX_INDIRECT_RENDERING
-DGLX_DIRECT_RENDERING -DGLX_USE_DRM -DHAVE_DRM_PLATFORM -DENABLE_SHADER_CACHE
-DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 -DHAVE___BUILTIN_CLZ
-DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ -DHAVE___BUILTIN_EXPECT
-DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL -DHAVE___BUILTIN_POPCOUNT
-DHAVE___BUILTIN_POPCOUNTLL -DHAVE___BUILTIN_UNREACHABLE
-DHAVE_FUNC_ATTRIBUTE_CONST -DHAVE_FUNC_ATTRIBUTE_FLATTEN
-DHAVE_FUNC_ATTRIBUTE_MALLOC -DHAVE_FUNC_ATTRIBUTE_PURE
-DHAVE_FUNC_ATTRIBUTE_UNUSED -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT
-DHAVE_FUNC_ATTRIBUTE_WEAK -DHAVE_FUNC_ATTRIBUTE_FORMAT
-DHAVE_FUNC_ATTRIBUTE_PACKED -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL
-DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_FUNC_ATTRIBUTE_ALIAS
-DHAVE_FUNC_ATTRIBUTE_NORETURN -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS
-DUSE_X86_64_ASM -DMAJOR_IN_SYSMACROS -DHAVE_SYS_SYSCTL_H -DHAVE_LINUX_FUTEX_H
-DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_STRTOF -DHAVE_MKOSTEMP
-DHAVE_POSIX_MEMALIGN -DHAVE_TIMESPEC_GET -DHAVE_MEMFD_CREATE -DHAVE_STRTOD_L
-DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -DHAVE_PTHREAD
-DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM -DHAVE_LLVM=0x0600
-DMESA_LLVM_VERSION_PATCH=1 -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED
-DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS -Werror=implicit-function-declaration
-Werror=missing-prototypes -Werror=return-type -fno-math-errno
-fno-trapping-math -Wno-missing-field-initializers -Wno-format-truncation -O2
-Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables
-fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -fPIC -pthread
-D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
-D__STDC_LIMIT_MACROS -fvisibility=hidden -Wno-override-init
-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XLIB_KHR
-DVK_USE_PLATFORM_WAYLAND_KHR -DVK_USE_PLATFORM_DISPLAY_KHR
-DVK_USE_PLATFORM_XLIB_XRANDR_EXT  -MD -MQ
'src/amd/vulkan/src@amd@vulkan@@vulkan_radeon@sha/radv_pipeline.c.o' -MF
'src/amd/vulkan/src@amd@vulkan@@vulkan_radeon@sha/radv_pipeline.c.o.d' 
-o
'src/amd/vulkan/src@amd@vulkan@@vulkan_radeon@sha/radv_pipeline.c.o' -c
../src/amd/vulkan/radv_pipeline.c
In file included from ../src/vulkan/util/vk_alloc.h:29,
                 from ../src/amd/vulkan/radv_private.h:52,
                 from ../src/amd/vulkan/radv_debug.h:27,
                 from ../src/amd/vulkan/radv_pipeline.c:30:
../src/../include/vulkan/vulkan.h:54:10: fatal error: wayland-client.h: Datei
oder Verzeichnis nicht gefunden
 #include <wayland-client.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.

The above command misses the include directory for wayland:
    -I/usr/include/wayland

The missing include is contained in the (until now) unused radv_deps:

if with_platform_wayland
  radv_deps += dep_wayland_client
  radv_flags += '-DVK_USE_PLATFORM_WAYLAND_KHR'
  libradv_files += files('radv_wsi_wayland.c')
endif

Fixes: 673dda83307 "meson: build "radv" vulkan driver for radeon 
hardware"
Signed-off-by: Tobias Klausmann <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Reviewed-by: Dylan Baker <[email protected]>
(cherry picked from commit 9401a2f2e64bc04401a547d06810adbf0660edb8)

- - - - -
babf9ab7 by Matt Turner at 2018-12-05T13:19:21Z
mesa: Revert INTEL_fragment_shader_ordering support

This extension is not properly tested (testing for
GL_ARB_fragment_shader_interlock is not sufficient), and since this was
noted in review on August 28th no tests have been sent.

Revert "i965: Add INTEL_fragment_shader_ordering support."
Revert "mesa: Add GL/GLSL plumbing for INTEL_fragment_shader_ordering"

This reverts commit 03ecec9ed2099f6e2b62994b33dc948dc731e7b8.
This reverts commit 119435c8778dd26cb7c8bcde9f04b3982239fe60.

Cc: [email protected]
Acked-by: Jason Ekstrand <[email protected]>
Acked-by: Eric Anholt <[email protected]>
(cherry picked from commit 017199d2d2e4c57015bc60edfcc656062c3a7472)

- - - - -
cc451083 by Matt Turner at 2018-12-05T13:19:28Z
Revert "st/mesa: silenced unhanded enum warning in 
st_glsl_to_tgsi.cpp"

This reverts commit 198c50f4873758e9f64d89eea262af5dd1644df9.

This needs to be reverted after commit 017199d2d2e4 ("mesa: Revert
INTEL_fragment_shader_ordering support")

(cherry picked from commit dd53bb7e1f69740a5712decbae79dc79df8ecaa1)

- - - - -
d369bd91 by Bas Nieuwenhuizen at 2018-12-05T13:19:36Z
radv/android: Mark android WSI image as shareable.

Fixes: b1444c9ccb0 "radv: Implement VK_ANDROID_native_buffer."
Acked-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 51091b3e1f212be956f91ac5214191c14e83ac59)

- - - - -
5594bb58 by Bas Nieuwenhuizen at 2018-12-05T13:19:38Z
radv/android: Use buffer metadata to determine scanout compat.

These days we don't always allocate scanout compatible textures anymore.
That does mean we have to fix the radv android WSI though.

Fixes: b1444c9ccb0 "radv: Implement VK_ANDROID_native_buffer."
Acked-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 3bf48741e128b60f6430b32cc47197f62075b1e9)

- - - - -
5b50e6a7 by Dave Airlie at 2018-12-05T13:19:53Z
radv: use 3d shader for gfx9 copies if dst is 3d

This fixes some crucible 3d miptree tests I've been working on
when executed using the compute shader path.

Fixes: d08f267814 (radv/gfx9: fix 3d image to image transfers on compute 
queues.)
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 1363a47c9c4f8482fea9e8a2582a1d8e9db0e8a6)

- - - - -
055e0d71 by Samuel Pitoiset at 2018-12-05T13:19:55Z
radv: rework the TC-compat HTILE hardware bug with COND_EXEC

After investigating on this, it appears that COND_WRITE doesn't
work correctly in some situations. I don't know exactly why does
it fail to update DB_Z_INFO.ZRANGE_PRECISION, but as AMDVLK
also uses COND_EXEC I think there is a reason.

Now the driver stores a new metadata value in order to reflect
the last fast depth clear state. If a TC-compat HTILE is fast cleared
with 0.0f, we have to update ZRANGE_PRECISION to 0 in order to
work around that hardware bug.

This fixes rendering issues with The Forest and DXVK and doesn't
seem to introduce any regressions.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108914
Fixes: 68dead112e7 ("radv: update the ZRANGE_PRECISION value for the 
TC-compat bug")
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 824cfc1ee5e0aba15b676b9363ff32046d96eb42)

- - - - -
462bc0d5 by Alex Smith at 2018-12-05T13:19:58Z
radv: Flush before vkCmdWriteTimestamp() if needed

As done for vkCmdBeginQuery() already. Prevents timestamps from being
overwritten by previous vkCmdResetQueryPool() calls if the shader path
was used to do the reset.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108925
Fixes: a41e2e9cf5 ("radv: allow to use a compute shader for resetting the 
query pool")
Signed-off-by: Alex Smith <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit c1b6cb068c4dfe49c309624610e8610b3f0b27c3)

- - - - -
54acae83 by Lionel Landwerlin at 2018-12-05T13:20:00Z
anv/query: flush render target before copying results

This change tracks render target writes in the pipeline and applies a
render target flush before copying the query results to make sure the
preceding operations have landed in memory before the command streamer
initiates the copy.

v2: Simplify logic in CopyQueryResults (Jason)

Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108909
Fixes: 37f9788e9a8e44 ("anv: flush pipeline before query result 
copies")
Cc: [email protected]
(cherry picked from commit 9a7b3199037ac4b798974f561067cb3d66be8010)

- - - - -
d92bbe54 by Samuel Pitoiset at 2018-12-05T13:29:16Z
radv: wait on the high 32 bits of timestamp queries

In case we are unlucky if the low part is 0xffffffff.

Fixes: 5d6a560a29 ("radv: do not use the availability bit for timestamp 
queries")
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit c7ada4901aaf192d7aacd51c3ab0ebbbb0ceeb3e)
[Emil: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>

Conflicts:
        src/amd/vulkan/radv_query.c

- - - - -
a34228e1 by Michal Srb at 2018-12-05T13:29:51Z
gallium: Constify drisw_loader_funcs struct

The content is not expected to change.

Cc: [email protected]
Signed-off-by: Michal Srb <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit c0ac038c97b89a8266375339c297b17b3700dfb0)

- - - - -
bd7edf47 by Michal Srb at 2018-12-05T13:29:53Z
drisw: Use separate drisw_loader_funcs for shm

The original code was modifying the global drisw_lf variable, which is bad
when there are multiple contexts in single process, each initialized with
different loader. One may support put_image_shm and the other not.

Since there are currently only two possible combinations, lets create two
global tables, one for each. Lets make them const, since we won't change 
them
and they can be shared.

This fixes crash in VLC. It used two GL contexts (each in different thread), one
was initialized by its Qt GUI, the other by its video output plugin. The first
one set the put_image_shm=drisw_put_image_shm, the second did not, but
since the same structure was used, the drisw_put_image_shm was used too. Then
it crashed because the second loader did not have putImageShm set.

Downstream bug:
https://bugzilla.opensuse.org/show_bug.cgi?id=1113533

v2: Added Fixes and described the VLC bug.

Fixes: 63c427fa71a ("drisw: use putImageShm if available")
Signed-off-by: Michal Srb <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 63c0916ada7eed7eddc0453dfbfed3cc7f42ca85)

- - - - -
4b715e3e by Gurchetan Singh at 2018-12-05T15:37:50Z
virgl: quadruple command buffer size

Tested running WebGL aquarium on Nvidia host (10,000 fishes)

This moves us from 7 fps to 9 fps.  After quadrupling, performance
gains diminish.

v2: Remove change ID (Erik)

Tested-By: Gert Wollny <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
(cherry picked from commit c0773315af76cd735152c322cb7f710b4b053148)

- - - - -
a69ef114 by Gurchetan Singh at 2018-12-05T15:43:32Z
virgl: avoid large inline transfers

We flush everytime the command buffer (16 kB) is full, which is
quite costly.

This improves

dEQP-GLES3.performance.buffer.data_upload.function_call.buffer_data.new_buffer.usage_stream_draw

from 111.16 MB/s to 1930.36 MB/s.

In addition, I made the benchmark produce buffers from 0 --> 
VIRGL_MAX_CMDBUF_DWORDS * 4,
and tried ((VIRGL_MAX_CMDBUF_DWORDS * 4) / 2), ((VIRGL_MAX_CMDBUF_DWORDS * 4) / 
4), etc.

I didn't notice any clear differences, so let's just go with the most 
obvious
heuristic.

Tested-By: Gert Wollny <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
(cherry picked from commit d18492c64f0abb4eb638d2b213b4b1ff3d775965)

- - - - -
c694d84f by Gurchetan Singh at 2018-12-05T15:43:48Z
virgl: don't mark buffers as unclean after a write

We can mark the buffer unclean if it's ever bound as a TBO,
SSBO, ABO, or image.

This improves

dEQP-GLES3.performance.buffer.data_upload.function_call.map_buffer_range.new_specified_buffer.flag_write_full.stream_draw

from 9.58 MB/s to 451.17 MB/s.

v2: Track buffer cleanliness as a function of bindings (Ilia).
v3: virgl_modify_clean --> virgl_dirty_res (Erik)

Tested-By: Gert Wollny <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
(cherry picked from commit 89b4798c0619a2ba99046d5ad36f0e6851625f7a)

With this and previous two patches, the performance of virgl on top of
a r600 (AMD 6870 HD) host improves as follows:

         | FPS avg |  Score
--------------------------------
 before  |   8.2   |   343
 after   |  21.9   |   916

         | FPS avg |  Score
--------------------------------
 before  |  13.2   |   333
 after   |  32.3   |   790

- - - - -
af223b57 by Emil Velikov at 2018-12-05T21:36:54Z
Update version to 18.3.0-rc6

Signed-off-by: Emil Velikov <[email protected]>

- - - - -
cb55bc87 by Emil Velikov at 2018-12-06T18:03:25Z
Update version to 18.3.0 (final)

Signed-off-by: Emil Velikov <[email protected]>

- - - - -
d603cd9d by Emil Velikov at 2018-12-07T11:20:00Z
docs: update 18.3.0 release notes

Signed-off-by: Emil Velikov <[email protected]>

- - - - -
d38f376c by Andreas Boll at 2018-12-10T19:09:19Z
Merge tag 'mesa-18.3.0' into debian-experimental

mesa-18.3.0

- - - - -
c02cc827 by Andreas Boll at 2018-12-10T19:11:08Z
Bump changelog

- - - - -
4eae784c by Andreas Boll at 2018-12-10T19:28:05Z
Use proposed meson patches from upstream to fix hurd and ppc64el.

- - - - -
99785dc9 by Andreas Boll at 2018-12-10T21:06:04Z
control: Bump meson build-dep to 0.45 per meson.build.

- - - - -
28f07f9c by Andreas Boll at 2018-12-10T21:06:49Z
control: Drop unused build-dep libtool.

- - - - -
bfae8dea by Andreas Boll at 2018-12-10T21:07:22Z
control: Switch to python3 build-deps.

- - - - -
6f752261 by Andreas Boll at 2018-12-10T21:08:33Z
Inline debian/not-installed into debian/rules.

- - - - -
d9864030 by Andreas Boll at 2018-12-10T21:14:05Z
rules: Tidy up override_dh_install.

- - - - -
acb26a60 by Andreas Boll at 2018-12-10T21:53:20Z
Upload to experimental.

- - - - -


30 changed files:

- VERSION
- debian/changelog
- debian/control
- − debian/not-installed
- + debian/patches/1-5-meson-remove-duplicate-definition.patch
- + debian/patches/2-5-meson-Fix-ppc64-little-endian-detection.patch
- + 
debian/patches/3-5-meson-Override-C-standard-to-gnu-11-when-building-with-altivec-on-ppc64le.patch
- + debian/patches/4-5-meson-Add-support-for-gnu-hurd.patch
- debian/patches/meson-add-glx-direct-toggle.diff → 
debian/patches/5-5-meson-Add-toggle-for-glx-direct.patch
- − debian/patches/meson-fix-hurd-build.diff
- debian/patches/series
- debian/rules
- docs/relnotes/18.3.0.html
- src/amd/vulkan/meson.build
- src/amd/vulkan/radv_android.c
- src/amd/vulkan/radv_cmd_buffer.c
- src/amd/vulkan/radv_image.c
- src/amd/vulkan/radv_meta_bufimage.c
- src/amd/vulkan/radv_private.h
- src/amd/vulkan/radv_query.c
- src/amd/vulkan/radv_radeon_winsys.h
- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
- src/compiler/glsl/builtin_functions.cpp
- src/compiler/glsl/glsl_parser_extras.cpp
- src/compiler/glsl/glsl_parser_extras.h
- src/compiler/glsl/glsl_to_nir.cpp
- src/compiler/glsl/ir.h
- src/compiler/nir/nir_intrinsics.py
- src/gallium/auxiliary/pipe-loader/pipe_loader.h
- src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/compare/3990aebafbd4daffcba46111f43a359f53e22345...acb26a60c6cb7e2359954c26765c6fd955772957

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/compare/3990aebafbd4daffcba46111f43a359f53e22345...acb26a60c6cb7e2359954c26765c6fd955772957
You're receiving this email because of your account on salsa.debian.org.

Reply via email to