Andreas Boll pushed to branch upstream-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]> - - - - - 30 changed files: - VERSION - 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 - src/gallium/drivers/nouveau/nv50/nv50_state.c - src/gallium/drivers/nouveau/nvc0/nvc0_state.c - src/gallium/drivers/r600/r600_query.c - src/gallium/drivers/virgl/virgl_buffer.c - src/gallium/drivers/virgl/virgl_encode.c - src/gallium/drivers/virgl/virgl_resource.c - src/gallium/drivers/virgl/virgl_winsys.h - src/gallium/state_trackers/dri/drisw.c - src/gallium/state_trackers/xa/xa_context.c - src/gallium/state_trackers/xvmc/Makefile.am - src/gallium/winsys/svga/drm/vmw_screen_ioctl.c The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/compare/b28aa1178a1e336bf6f73bb777a0aebce8e3c3c7...d603cd9d84c8293c22407030c7664ac775ffb97f -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/compare/b28aa1178a1e336bf6f73bb777a0aebce8e3c3c7...d603cd9d84c8293c22407030c7664ac775ffb97f You're receiving this email because of your account on salsa.debian.org.

