Jesse Natalie
7d34fe04e4
dzn: Support separate depth/stencil resolves via blits
...
In theory, ResolveSubresourceRegion should be able to resolve just
the depth or just the stencil. In practice, WARP had bugs, which
means that was never tested, so just do it via blits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22836 >
2023-05-04 03:10:56 +00:00
Jesse Natalie
dfc88a536b
dzn: Support all available depth/stencil resolve modes
...
Fixes dEQP-VK.imageless_framebuffer.depth_stencil_resolve and
dEQP-VK.renderpass2.depth_stencil_resolve.misc.properties
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22836 >
2023-05-04 03:10:56 +00:00
Jesse Natalie
3f641538d3
dzn: Augment blit resolve to support min/max/sample-zero modes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22836 >
2023-05-04 03:10:56 +00:00
Dave Airlie
fa938dd975
vulkan: write beta extensions into generator scripts.
...
Updated by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21806 >
2023-05-04 02:40:06 +00:00
Dave Airlie
54113f5a60
vulkan/cmd_queue: handle beta extensions.
...
Since this was moved to vulkan_core.h, we have to add the beta header
ourselves when required.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21806 >
2023-05-04 02:40:06 +00:00
Marek Olšák
eb0307107d
nir: add/update comments for gl_access_qualifier
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22769 >
2023-05-04 01:55:22 +00:00
Marek Olšák
820c50ada3
nir: rename ACCESS_STREAM_CACHE_POLICY -> ACCESS_NON_TEMPORAL and document
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22769 >
2023-05-04 01:55:22 +00:00
Luna Nova
c38bf95a06
device_select_layer: log selectable devices if MESA_VK_DEVICE_SELECT_DEBUG or DRI_PRIME_DEBUG are set
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101 >
2023-05-03 20:55:51 -04:00
Luna Nova
208e1824f1
device_select_layer: add MESA_VK_DEVICE_SELECT_DEBUG which logs why default selection was made
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101 >
2023-05-03 20:55:51 -04:00
Luna Nova
571ce2e481
device_select_layer: pick a default device before applying DRI_PRIME
...
This ensures DRI_PRIME works if there are multiple CPU devices available
Suggested by @pepp
Fixes: afa1fba1 ("vulkan/device_select: don't pick a cpu driver as the default")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101 >
2023-05-03 20:55:51 -04:00
Luna Nova
f958a45a71
device_select_layer: apply DRI_PRIME even if default device is > 1 to match opengl behavior
...
This fixes DRI_PRIME=1 doing nothing if the GPU order is [dGPU, dGPU,
iGPU, cpu] (or more GPUs than that) and the iGPU is the default GPU.
Fixes: afa1fba1 ("vulkan/device_select: don't pick a cpu driver as the default")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101 >
2023-05-03 20:55:51 -04:00
Luna Nova
7fcda2b4e3
device_select_layer: fix inverted strcmp in device_select_find_dri_prime_tag_default (v1)
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7498
Fixes: 9bc5b2d169 ("vulkan: add initial device selection layer. (v6.1)")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101 >
2023-05-03 20:55:51 -04:00
Mike Blumenkrantz
ed212b8cce
svga: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
6cb3c6c768
llvmpipe: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
f05caed02e
vc4: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
8f690c4f78
v3d: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
4809274c18
softpipe: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
7a3deb05a6
iris: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
b1449e3e67
i915: use util_unreference_framebuffer_state to unref fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
b86f0280d7
i915: use util_copy_framebuffer_state to set fb state
...
Fixes: f5bde99cbd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Mike Blumenkrantz
c686c98a79
cso: unbind fb state when unbinding the context
...
this avoids leaking/ballooning references
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673 >
2023-05-03 23:45:36 +00:00
Yiwei Zhang
e9c26e6920
venus: adopt venus protocol release
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547 >
2023-05-03 22:42:30 +00:00
Yiwei Zhang
234ae64c92
venus: stop query experimental features
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547 >
2023-05-03 22:42:29 +00:00
Emma Anholt
ac1dff603e
ci/zink+anv: Test piglit quick_gl pre-merge, dropping a few KHR-GL46 tests.
...
piglit provides way more important coverage than these bits of GL46, and
has been regressing regularly. Thanks to dropping the long KHR-GL46
tests, this is now completing faster than it was before, and things will
get even better with
https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/804 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22811 >
2023-05-03 21:45:17 +00:00
Emma Anholt
fee8520937
ci/zink: Update more xfails for tgl piglit.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22811 >
2023-05-03 21:45:17 +00:00
Emma Anholt
c213bedd11
Revert "ci/zink: Try to update TGL results for new MSAA behavior."
...
This reverts commit 74a8f118a2 .
This should have been in !22753 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22811 >
2023-05-03 21:45:17 +00:00
Juston Li
f79aba46da
venus: use pipelineCacheUUID for shader cache id
...
Use the host driver pipelineCacheUUID as the shader cache id. This is
just used as an identifier for fossilize replay since venus utilizes
the host side shader cache anyways.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22634 >
2023-05-03 21:29:31 +00:00
Mike Blumenkrantz
2e3ce614b9
zink: sync queries at the end of cmdbufs
...
with tc, query results can be fetched async, and it's impossible to
sync tc in this scenario. to avoid needing to sync when a sync is not
possible, sync ahead of time in all cases
Fixes: 7c96e98975 ("zink: always start/stop/resume queries inside renderpasses")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827 >
2023-05-03 20:08:07 +00:00
Mike Blumenkrantz
738c2eacf3
zink: null some descriptor buffer pointers during destruction
...
this shouldn't actually be needed? and yet...
Fixes: 13c6ad0038 ("zink: use a single descriptor buffer for all non-bindless types")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827 >
2023-05-03 20:08:07 +00:00
Mike Blumenkrantz
d5ceb4770b
zink: set depth dynamic state values unconditionally
...
spec requires the state values to be set if the dynamic state is
enabled regardless of whether they will take effect
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827 >
2023-05-03 20:08:07 +00:00
Faith Ekstrand
d1e565a8eb
nouveau/nir: image_samples/size don't have coordinates
...
Without this, it treats the src[1] as a coordinate (it's actually LOD)
and may try to read more than one component. I don't think this usually
hurts anything as the coordinate should get ignored later but it can
result in OOB memory reads while translating NIR.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22834 >
2023-05-03 19:52:09 +00:00
Mike Blumenkrantz
f4be2e3437
zink: disable a630 traces
...
I can't even run a fair number of these locally without a gpu hang,
and there are no validation errors, so just disable the whole thing
until at least #8874 can be resolved
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22831 >
2023-05-03 19:32:05 +00:00
M Henning
d7e37389bc
nv50/codegen: Set lower_uniforms_to_ubo
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22815 >
2023-05-03 19:18:08 +00:00
Boris Brezillon
e6bcbd57e3
panfrost: Check blend enabled state in pan_allow_forward_pixel_to_kill()
...
The shader can write to a specific RT, but the blend descriptor gets
to decide if the RT is really updated. We need to take that into
account when initializing the rt_written local variable in
pan_allow_forward_pixel_to_kill() otherwise we might get inconsistent
results.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Suggested-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22465 >
2023-05-03 19:02:21 +00:00
Daniel Stone
300327ba19
ci/zink: Disable Freedoom trace on ANV
...
Apparently it's flaky.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22819 >
2023-05-03 18:28:55 +00:00
Martin Roukala (né Peres)
36bb5f1f70
radv/ci: document a series of recent regressions
...
No time to bisect all the regressions, so I am just including the
GOOD/BAD commits if anyone is interested to bisect.
One thing is for sure, !22753 is responsible for at least tens of
these issues.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22820 >
2023-05-03 17:41:30 +00:00
Hans-Kristian Arntzen
11a853e912
wsi/wayland: Do not assert that all present IDs have been waited on.
...
EXT_swapchain_maintenance1 allows destruction when the swapchain fence
is complete. That may signal before we have dispatched all present
waits. Just discard those presentation feedbacks.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682 >
2023-05-03 16:09:10 +00:00
Hans-Kristian Arntzen
577b3c7bb2
wsi/wayland: Simplify wait logic for present wait.
...
CLOCK_REALTIME is generally problematic due to NTP.
Use normal MONOTONIC waits for condition variable,
and remove the timedlock. The lock is never held in a blocking fashion,
so there is little need for a timed lock here.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682 >
2023-05-03 16:09:10 +00:00
Daniel Stone
43f868d175
wsi/wayland: Support VK_KHR_present_wait
...
Use the wp_presentation extension to detect when a given presentation
has taken effect.
Since this protocol is not guaranteed to be supported,
it must be enabled through driconf (vk_khr_present_wait=true) for the time being.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Co-authored-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682 >
2023-05-03 16:09:10 +00:00
Simon Ser
47cd010931
wayland: generalize wayland-protocols code generation
...
Make it easy to add a new protocol to the list without duplicating
logic.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682 >
2023-05-03 16:09:09 +00:00
Friedrich Vock
0b251d4362
radv: Add driconf to always drain waves before writing timestamps
...
UE4's Vulkan backend uses vkCmdWriteTimestamp with TOP_OF_PIPE
to measure how long a workload took in the GPU Benchmark. This is wrong
and writes the timestamp before the workload is actually finished,
making it seem like the GPU is much faster than it actually is.
This caused subsequent benchmark passes to contain way too big workloads,
which caused soft hangs on slower GPUs.
Fixes GPU hangs with Splitgate during automatic settings configuration.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22823 >
2023-05-03 15:24:00 +00:00
Friedrich Vock
284e604872
radv: Always call si_emit_cache_flush before writing timestamps
...
In case of barriers with TOP_OF_PIPE as dst stage, writing timestamps
immediately would be invalid.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22823 >
2023-05-03 15:24:00 +00:00
Samuel Pitoiset
b59935e2e7
radv/meta: rename dest to dst
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794 >
2023-05-03 13:45:38 +00:00
Samuel Pitoiset
63b5b93dd3
radv: replace radv_get_levelCount() by vk_image_subresource_level_count()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794 >
2023-05-03 13:45:38 +00:00
Samuel Pitoiset
963f51158d
radv: replace radv_get_layerCount by vk_image_subresource_layer_count()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794 >
2023-05-03 13:45:38 +00:00
Samuel Pitoiset
a77c88f1e8
radv: fix fast-clearing images with VK_REMAINING_{ARRAY_LAYERS,MIP_LEVELS}
...
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794 >
2023-05-03 13:45:38 +00:00
Samuel Pitoiset
de61eddc02
radv: fix invalid type for usage in radv_get_buffer_memory_requirements()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794 >
2023-05-03 13:45:38 +00:00
Iago Toral Quiroga
c950098abb
broadcom/compiler: move buffer loads to lower register pressure
...
If we are trying to lower register pressure this can make a big
difference in some cases. To avoid adding even more strategies,
merge this with disabling ubo load sorting, since they are basically
trying to do the same.
total instructions in shared programs: 12848024 -> 12844510 (-0.03%)
instructions in affected programs: 236537 -> 233023 (-1.49%)
helped: 195
HURT: 87
Instructions are helped.
total uniforms in shared programs: 3815601 -> 3814932 (-0.02%)
uniforms in affected programs: 31773 -> 31104 (-2.11%)
helped: 67
HURT: 115
Inconclusive result (value mean confidence interval includes 0).
total max-temps in shared programs: 2210803 -> 2210622 (<.01%)
max-temps in affected programs: 9362 -> 9181 (-1.93%)
helped: 114
HURT: 34
Max-temps are helped.
total spills in shared programs: 2556 -> 2330 (-8.84%)
spills in affected programs: 1391 -> 1165 (-16.25%)
helped: 39
HURT: 9
total fills in shared programs: 3840 -> 3317 (-13.62%)
fills in affected programs: 2379 -> 1856 (-21.98%)
helped: 39
HURT: 23
total sfu-stalls in shared programs: 21965 -> 21978 (0.06%)
sfu-stalls in affected programs: 2618 -> 2631 (0.50%)
helped: 45
HURT: 81
Inconclusive result (value mean confidence interval includes 0).
total inst-and-stalls in shared programs: 12869989 -> 12866488 (-0.03%)
inst-and-stalls in affected programs: 238771 -> 235270 (-1.47%)
helped: 193
HURT: 87
Inst-and-stalls are helped.
total nops in shared programs: 303501 -> 303274 (-0.07%)
nops in affected programs: 4159 -> 3932 (-5.46%)
helped: 87
HURT: 105
Inconclusive result (value mean confidence interval includes 0).
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22824 >
2023-05-03 13:01:58 +00:00
Amber
2cbc24b9da
turnip: fix buffer markers using wrong addresses
...
Fixes failures in dEQP-VK.api.buffer_marker.*
Signed-off-by: Amber Amber <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22792 >
2023-05-03 11:58:49 +00:00
Bas Nieuwenhuizen
df08ed7d1c
radv: Move all the dirty flags from TES binding to TCS binding.
...
With merged shaders we might not have an explicit TES.
Fixes: 879ddf9720 ("radv: rework binding shaders to cmdbuf by introducing new helpers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8939
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22784 >
2023-05-03 11:24:16 +00:00