Commit graph

157898 commits

Author SHA1 Message Date
Jesse Natalie
3a9d3ac9c1 ci/windows: Windows runner is back online
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17962>
2022-08-09 20:30:21 +00:00
Iván Briano
fbd4133735 anv: emit scissors when the pipeline changes
With the switch to common dynamic state tracking, something got lost
that made the scissors not always be emitted when they are not dynamic
and the pipeline is marked dirty.

Since both viewport and scissors make use of each other to calculate
their values, just stick the scissor emit in the same if block as
viewport for now.
I'd rather have them decoupled, and at least the Vulkan CTS didn't
complain when I tried it, but I don't know what other effects that
may have, especially when it comes to the guardband.

Fixes a bunch of tests under
dEQP-VK.pipeline.*.multisample.misc.*

Fixes: 7d25c04236 ("anv: Switch to using common dynamic state tracking")

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17964>
2022-08-09 19:58:14 +00:00
David Heidelberg
dd7cae2a99 ci/lavapipe: wine flakes, switch to manual for now
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7030

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17965>
2022-08-09 19:40:16 +00:00
Marek Olšák
2f4b9b7a95 gallium/u_blitter: make the bilinear filter for MSAA resolving conformant
This implements the bilinear filter exactly like OpenGL.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
5c7ad4757b gallium/u_blitter: make nearest filtering emulation using TXF conformant
This is required by glBlitFramebuffer.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
a41386a053 gallium/u_blitter: clean up IMMs in util_make_fs_blit_msaa_gen
Always declare IMM[0].

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
0397db1d81 gallium/u_blitter: treat Z scaling as scaled blits
Hopefully this didn't break anything.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
854fb27275 gallium/u_blitter: fix the has_txf support condition
GLSL 1.30 has it too.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
2057516922 gallium/u_blitter: remove unused code for integer MSAA resolve
GL doesn't have it.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
fd7a968c36 gallivm: initialize texture_unit_offset in emit_size_query
this fixes a crash, suggested by Dave Airlie

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
60272d7db4 gallivm: fix TXQ crash with MSAA samplers
suggested by Dave Airlie

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Marek Olšák
c7e155628d ttn: set the correct sampler declaration type in the presense of txs and lod
We used the result type of lod and txs for sampler declarations,
which broke following instructions that are not lod and txs.

Use the sampler type from TGSI if it's present, not the result type
of lod and txs.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692>
2022-08-09 19:19:09 +00:00
Emma Anholt
23a2698e75 ci/tu+zink: Re-enable the traces that were asserting about UBWC compatibility.
The tu and zink fixes have made them work now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900>
2022-08-09 18:15:45 +00:00
Emma Anholt
149d4e4b6d tu: Use the format list to decide whether we can do UBWC with MUTABLE.
The goal here is to allow zink and ANGLE to switch sRGB on and off, but
keep UBWC enabled for most textures.

This doesn't quite work yet for zink on gbm, where zink asks the device if
it supports a UBWC-modifier image with unorm+sRGB mutable formats (yes),
but then doesn't pass the unorm+sRGB format list to vkImageCreate(), which
then asserts because it couldn't make a general
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT UBWC image.

The format list here comes from Danylo's testing in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17278#note_1447812

Reduces frame times in Genshin Impact GLES AoV 2.02063% +/- 0.207575% (n=5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900>
2022-08-09 18:15:45 +00:00
Emma Anholt
f6bd494cfa tu: Treat viewFormatCount==0 as no format list.
"If viewFormatCount is zero, pViewFormats is ignored and the image is
 created as if the VkImageFormatListCreateInfo structure were not included
 in the pNext chain of VkImageCreateInfo."

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900>
2022-08-09 18:15:45 +00:00
Emma Anholt
41280ba289 tu: Move the vkCreateImage format list checks to helper functions.
Mixing up the two checks made them both harder to read.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900>
2022-08-09 18:15:45 +00:00
Emma Anholt
8dda0a01bb zink: Make sure that we keep the existing ici pNext chain on inserts.
For external image imports, we'd lose the mutable image format list,
causing turnip to get angry that we try to do UBWC despite not having a
UBWC-compatible format list.

Cc: mesa-stable
Fixes: 28ee911ad6 ("zink: handle mutable swapchain images with dmabuf")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900>
2022-08-09 18:15:45 +00:00
Yonggang Luo
6a933b7f53 c11: Fixes the declaration of timespec_get in time.h for macOS
../src/util/tests/timespec_test.cpp:327:4: error: use of undeclared identifier 'timespec_get'; did you mean 'timespec_eq'?
   timespec_get(&a, TIME_UTC);
   ^~~~~~~~~~~~
   timespec_eq
../src/util/timespec.h:299:1: note: 'timespec_eq' declared here
timespec_eq(const struct timespec *a, const struct timespec *b)

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16995>
2022-08-09 17:23:17 +00:00
Yonggang Luo
c0dd2eabaa util: open_memstream also support on MacOS
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16995>
2022-08-09 17:23:17 +00:00
Yonggang Luo
ecfda9a0fa microsoft/clc: Fixes compiling errors with clang/mingw64 in clc/clc_compiler_test.cpp
clc_compiler_test.cpp:1322:67: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list
      log(0.0f) / log(2), log(1.0f) / log(2), log(2.0f) / log(2), log(3.0f) / log(2)
clc_compiler_test.cpp:2306:25: error: non-constant-expression cannot be narrowed from type 'std::vector<unsigned int>::size_type' (aka 'unsigned long long') to 'unsigned int' in initializer list
   CompileArgs args = { inout.size(), 1, 1 };

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17926>
2022-08-09 16:47:24 +00:00
Yonggang Luo
c67e60ae8f meson: clc compiler test only works on win32
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17934>
2022-08-09 16:39:47 +00:00
Samuel Pitoiset
e95531e101 radv: fix gathering XFB info if there is dead outputs
The driver should still gather XFB info even if all XFB outputs are
dead, otherwise the pipeline can't find the streamout shader.

RADV should use vk_spirv_to_nir() at some point to reduce code
duplication during SPIRV->NIR compilation.

This fixes new dEQP-VK.transform_feedback.simple.*.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17939>
2022-08-09 16:04:25 +00:00
Tomeu Vizoso
a35742c434 radv/ci: Put one more board to run the CTS on Stoney Ridge
These jobs were taking more than 20 minutes to run, slowing the pipeline
down.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17935>
2022-08-09 15:39:41 +00:00
Tomeu Vizoso
d1b16ce35b radeonsi/ci: Move libva and piglit jobs to Raven Ridge boards
As we have some free, and then we can reassign two Stoney Ridge boards
to reduce the duration for some jobs that are taking too long currently.

Also, these machines are much faster so we are able to run all of the
Piglit tests and a bigger portion of the VA tests.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17935>
2022-08-09 15:39:41 +00:00
Pierre-Eric Pelloux-Prayer
379f2b641e radeonsi: print radeon_bo_flag when AMD_DEBUG=vm is used
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449>
2022-08-09 14:38:06 +00:00
Pierre-Eric Pelloux-Prayer
22a8b7f589 radeonsi: allocate BIND_RENDER_TARGET as tmz instead of SCANOUT
Using AMD_DEBUG=tmz to enable tmz without the application asking
for it is useful for testing. Since SCANOUT isn't set on Wayland,
use RENDER_TARGET instead as a heuristic to try to allocate color
framebuffer as tmz.

With this change we can enable tmz in x11 and wayland.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449>
2022-08-09 14:38:06 +00:00
Pierre-Eric Pelloux-Prayer
a693fbf64b amdgpu/bo: update uses_secure_bos when importing buffers
Fixes: 90b98c0649 ("amd/tmz: move uses_secure_bos to radeon_winsys")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449>
2022-08-09 14:38:06 +00:00
Pierre-Eric Pelloux-Prayer
1d64308fe9 gallium/dri2: make protected buffer checks opt-in
This check is an infinite source of issues when testing protected
content, so make it opt-in (eg for developers of applications dealing
with protected content buffers).

On AMD and Intel importing a protected buffer as non-protected will cause
the display to be incorrect (= garbage).

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449>
2022-08-09 14:38:06 +00:00
Jesse Natalie
1862923849 ci/windows: Disable Windows builds while the runner is offline again
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17958>
2022-08-09 06:57:35 -07:00
David Heidelberg
3ea0ec4697 docs/ci: show how to run traces locally
Newcomers may want to test traces locally and understand how the replay
works.

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17347>
2022-08-09 13:59:59 +02:00
Martin Roukala (né Peres)
8d00c55e9e radv/ci: bump the console activity timeout of VanGogh to 3 minutes
It seems like VKCTS's startup time is close to the current console
activity timeout (2 minutes...) on the Steam Deck, leading to spurious
timeouts...

Let's bump the timeout by 50%!

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829>
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
1db0b56609 radv/ci: skip host_write_transfer_src.1048576 on renoir
The test can take a little longer than 60s, which leads to spurious
timeouts and thus unstable CI pipelines.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829>
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
e091e56fc1 radv/ci: add more tests to the flake list of vega10
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829>
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
6bbe3c6d36 radv/ci: move some tests from the vega10 fail to its flake list
v2:
 - Move the other 2 `sample_texture` tests to the flake list (Ishi)

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829>
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
3f8a356bd3 radv/ci: document a recent regression
This regression may have been introduced by mesa/mesa!17652 or
mesa/mesa!17625.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829>
2022-08-09 09:04:09 +03:00
Rob Clark
401d03e1e9 freedreno: Cap reported video memory by VA size
Don't report that we have more video memory than the GPU's virtual
address space size.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17947>
2022-08-08 22:10:24 +00:00
Rob Clark
2bc1d08c48 freedreno/drm: Add FD_VA_SIZE param
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17947>
2022-08-08 22:10:24 +00:00
Jesse Natalie
32d0dfc462 dzn: Use D3D12 constants instead of naked numbers for device limits
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17915>
2022-08-08 21:49:42 +00:00
Jesse Natalie
d48ce281f8 dzn: Disable extensions that require multi-view
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17915>
2022-08-08 21:49:42 +00:00
Erik Faye-Lund
1a3b086b06 docs: fixup link to virgl docs
Fixes: 6897266ce0 ("docs: import virgl docs")
Acked-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17881>
2022-08-08 20:04:56 +00:00
Caleb Cornett
9efb1d7fbc wgl: Release the context before deleting it in wglDeleteContext
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17848>
2022-08-08 19:33:38 +00:00
Caleb Cornett
7dafdb58b8 wgl: Always release local references in stw_make_current_by_handles
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17848>
2022-08-08 19:33:38 +00:00
Caleb Cornett
3fcd030979 wgl: Homogenize read framebuffer reference counting logic
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17848>
2022-08-08 19:33:38 +00:00
Marek Olšák
a60181e8f2 radeonsi: use do..while loops and other cosmetic changes in display list path
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933>
2022-08-08 19:12:12 +00:00
Marek Olšák
e9a0cae1a1 radeonsi: use si_cp_dma_prefetch_inline for prefetching VBO descriptors
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933>
2022-08-08 19:12:12 +00:00
Marek Olšák
0e574c801c radeonsi: remove temporary si_context::vb_descriptor_user_sgprs
We were writing descriptors into si_context and then copying them into
the command buffer. Just write them into the command buffer directly.
Also set the pointer to VBO descriptors right after them.

When we start a new command buffer or we finish blitting, we no longer
restore precomputed VBO descriptors. Instead, we just reupload them again.
It's a compromise to have the common path simpler and faster (maybe).

This removes a lot of stuff. Now the VBO descriptor upload path looks
very similar to the display list path.

There was an accidental hidden optimization that is now documented as
"last_const_upload_buffer".

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933>
2022-08-08 19:12:12 +00:00
Marek Olšák
a5d37e161d radeonsi: remove vb_descriptors_gpu_list only used for debugging
While this is nice to have, it doesn't include VBO descriptors in user
SGPRs, and we need to remove it, so that we can simplify the VBO code.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933>
2022-08-08 19:12:12 +00:00
Marek Olšák
b4cef2487b radeonsi: add vertex buffers into the BO list in set_vertex_buffers
This is more straightforward. Also, radeon_add_to_buffer_list makes
writing VBO descriptors into the command buffer slower after that code
is reordered in following commits. This seems to be the only way that
isn't slower.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933>
2022-08-08 19:12:12 +00:00
Marek Olšák
c4ffac8a17 radeonsi: merge both fail paths in si_set_vb_descriptor
I removed the assertion because apps are allowed to set an offset greater
than the size.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933>
2022-08-08 19:12:12 +00:00
Connor Abbott
a7e64ab63c tu: Fix sysmem depth attachment clear flushing
We can't invalidate CCU if there is any dirty data that hasn't been
flushed yet. In the case where we clear depth, we know that the depth
attachment itself isn't dirty but there may be dirty data from other
renderpasses. Therefore we need to flush before invalidating depth.

Fixes: 487aa80 ("tu: Rewrite flushing to use barriers")
Closes: #6987
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17940>
2022-08-08 17:30:00 +00:00