Danylo Piliaiev
0df8532777
tu: Move VMA heap to the logical device
...
Since last commit drm fd is being created on per logical device
granularity, which means each logical device has its own
address space. So VMA heap could be moved to logical device.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18254 >
2023-05-10 20:57:02 +00:00
Danylo Piliaiev
3a8fac0ccd
tu: Create drm fd per logical device
...
The main reason is to simplify BO managment when
bufferDeviceAddressCaptureReplay would be enabled.
Having to track some BO information in physical device and some
info in logical device gets challenging when BOs are shared
between logical devices.
Other benefits:
- Isolation from hangs in other logical devices;
- Each logical device limited only by its own address space size.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18254 >
2023-05-10 20:57:02 +00:00
Emma Anholt
0d9ceeee3f
ci/zink+anv: Skip a couple more long tests pre-merge.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22866 >
2023-05-10 19:01:40 +00:00
Emma Anholt
5546e57b90
ci: Re-enable some piglit tests that should be fast enough post-uprev.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22866 >
2023-05-10 19:01:40 +00:00
Collabora's Gfx CI Team
9ab31d56b2
Uprev Piglit to 536975d94a40cf76a69fcfa786c2513eccd0c989
...
https://gitlab.freedesktop.org/mesa/piglit/-/compare/79a084c56b6dd79f7c3a97b57a72963121ebb1e6...536975d94a40cf76a69fcfa786c2513eccd0c989
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22866 >
2023-05-10 19:01:40 +00:00
Emma Anholt
deb064d98d
zink: Don't flag legacy_shadow_mask for RED-only reads in the shader.
...
It is very common in games to read just the .x channel of a vec4 shadow
result (since GL defaults to either LUMINANCE or RED depth mode depending
on context). So, we can avoid shader recompiles to handle the other
components, in that case.
Fixes some recompiles in CS:GO.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22912 >
2023-05-10 18:37:36 +00:00
Emma Anholt
dd42696412
zink: Fix silly void * type in rewrite_tex_dest.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22912 >
2023-05-10 18:37:36 +00:00
Emma Anholt
e9ad9ab3d2
zink: Explain some of the current pathway for shadow sampling.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22912 >
2023-05-10 18:37:36 +00:00
Emma Anholt
0b22b31190
mesa: Fix precompile of GLSL programs with shadow samplers.
...
Reduces fp variant recompiles on google's CS:GO trace on zink+anv from 115
to 31.
Fixes: 0843d4cbc3 ("nir: switch to a normal sampler for ARB program with not depth textures")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22928 >
2023-05-10 17:55:09 +00:00
Emma Anholt
63f8964d5a
mesa: Fix debug logging of fp compile compare func.
...
When we're doing COMPARE_FUNC_ALWAYS, that's not part of a shader
precompile miss.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22928 >
2023-05-10 17:55:09 +00:00
Jiadong Zhu
3cfdcabc78
ac: enable SHADOW_GLOBAL_CONFIG for preemptible ib
...
SHADOW_GLOBAL_CONFIG is mandatory for mid command buffer preemmption.
Fixes: 69014d8c94 (radeonsi: implement CP register shadowing)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22916 >
2023-05-10 17:11:19 +00:00
Konstantin Seurer
0e679e80a9
nir/lower_io: Emit less iadd(x, 0)
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22890 >
2023-05-10 16:21:34 +00:00
Rob Clark
0b259e72bd
freedreno/a5xx+a6xx: Don't allocate LRZ for z32
...
We don't do LRZ in this case, so no point in allocating the LRZ buffer.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
f46cb3c6c4
freedreno/a6xx: Actually use LRZ for ms
...
We know the z value after the fallback clear. But we need to set
rsc->lrz_valid _after_ the fallback clear invalidates it.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
b6e2afb223
freedreno/a6xx: Move LRZ clears to gmem
...
If we have multiple LRZ clears, emit them all at once. This also avoids
redundant LRZ clears if app does multiple clears in sequence.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
c823460f2f
freedreno/a6xx: New subpass on mid-frame clears
...
If we get a mid-frame clear, split out a new subpass rather than having
to fall-back to u_blitter clears.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
3738969710
freedreno/a6xx: Per-subpass LRZ
...
Allow the LRZ buffer to be re-allocated if a mid-frame depth clear
starts a new subpass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
a77406b72b
freedreno/a6xx: Introduce batch subpasses
...
Just the scaffolding for now, nothing actually creates multiple sub-
passes yet. For now, only planning to use this for a6xx, as other
gens are doing clears on 3d.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
c613bf1f14
freedreno/a6xx: Split tile loads and clears
...
This will give better visibility in perfetto, and prepares for the next
commit where we could have per-subpass clears.
While we are at it, start adopting vulkan terms for tile load/store. No
need to be pointlessly different.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
10f625eb13
freedreno/a6xx: Switch to batch->cleared
...
batch->fast_cleared will be per-subpass. But we can use the cleared
bitmask instead in the few places where we just need to know if there
was a clear in any subpass. For the conditional-ib it is even
preferable since we know a clear touched the contents of the tile so
we know what the result of the conditional would be.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
f61766df22
freedreno/a6xx: Simplify per-tile conditional IBs
...
Handle the logic which decides between conditional or unconditional IB
in one place.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
1a7590a47a
freedreno/a6xx: Add ctx->emit_sysmem()
...
Once we introduce subpass, it won't be just a single IB. But per
subpass clears + IB. So interoduce a sysmem counterpart for
emit_tile().
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
df1e357de8
freedreno/a6xx: Move LRZ clear to blitter
...
This is where it belongs. And will simplify moving LRZ clears to
fd6_gmem.cc
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Rob Clark
c29e9dc054
freedreno/batch: Add helper to set fb state
...
Stop open-coding and add a helper.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22895 >
2023-05-10 15:36:02 +00:00
Mike Blumenkrantz
9af6f25741
zink: disable always zs feedback loop on radv
...
this shouldn't have been enabled
Fixes: 56fb258064 ("zink: replace mixed_zs with zs feedback loops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22946 >
2023-05-10 15:14:02 +00:00
Yiwei Zhang
b2d636b275
anv: apply ANV_BO_ALLOC_IMPLICIT_SYNC for external memory
...
This is necessary to make anv work with clients like VA-API which relies
on implicit fencing only. The bahavior matches iris i915_batch_submit.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22937 >
2023-05-10 14:33:53 +00:00
Eric Engestrom
bcdd5b5e74
ci: bump bin/ci/ deps to support python 3.11
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22943 >
2023-05-10 14:32:02 +00:00
Luigi Santivetti
4a1614eedd
pvr: add GUARD_SIZE_DEFAULT for CDM and VDM control stream links 1 and 2
...
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22631 >
2023-05-10 13:13:07 +00:00
Luigi Santivetti
5ea7a41607
pvr: use PVR_DW_TO_BYTES for stream_link_space calculation
...
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22631 >
2023-05-10 13:13:07 +00:00
Timur Kristóf
dc676ed711
aco: Initialize vcmpx field in get_cmp_info.
...
Fixes: 578d0a1934
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22885 >
2023-05-10 12:41:25 +00:00
Timur Kristóf
16a05f1903
aco: Don't allow any VALU instruction to write m0.
...
Fixes: d5398b62da
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22885 >
2023-05-10 12:41:25 +00:00
Simon Ser
c140a456b7
vulkan/wsi/wayland: add 16-bit formats
...
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20234 >
2023-05-10 11:58:19 +00:00
Iago Toral Quiroga
994ad351f7
broadcom/compiler: increase peephole limit to 24 instructions
...
This helps by reducing the number of branches with their corresponding
delay slots, at the expense of additional register pressure. It also helps
a lot with SFU stalls, probably because removing control-flow blocks
gives us more QPU scheduling flexibility to hide them.
Shader-db results below correspond to the "closed shaders" set, since the
full set is very dominated by the massive impact this change has on Skia's
shaders (for the better), so this is probably more representative of real
impact:
total instructions in shared programs: 11887255 -> 11854898 (-0.27%)
instructions in affected programs: 538170 -> 505813 (-6.01%)
helped: 1653
HURT: 43
Instructions are helped.
total threads in shared programs: 385924 -> 385872 (-0.01%)
threads in affected programs: 236 -> 184 (-22.03%)
helped: 22
HURT: 48
Inconclusive result (%-change mean confidence interval includes 0).
total uniforms in shared programs: 3552808 -> 3547894 (-0.14%)
uniforms in affected programs: 157486 -> 152572 (-3.12%)
helped: 1673
HURT: 35
Uniforms are helped.
total max-temps in shared programs: 2062403 -> 2064720 (0.11%)
max-temps in affected programs: 18209 -> 20526 (12.72%)
helped: 168
HURT: 369
Max-temps are HURT.
total spills in shared programs: 1937 -> 1994 (2.94%)
spills in affected programs: 79 -> 136 (72.15%)
helped: 0
HURT: 1
total fills in shared programs: 2652 -> 2717 (2.45%)
fills in affected programs: 115 -> 180 (56.52%)
helped: 0
HURT: 1
total sfu-stalls in shared programs: 19349 -> 18010 (-6.92%)
sfu-stalls in affected programs: 2321 -> 982 (-57.69%)
helped: 674
HURT: 74
Sfu-stalls are helped.
total inst-and-stalls in shared programs: 11906604 -> 11872908 (-0.28%)
inst-and-stalls in affected programs: 541339 -> 507643 (-6.22%)
helped: 1656
HURT: 43
Inst-and-stalls are helped.
total nops in shared programs: 245740 -> 238085 (-3.12%)
nops in affected programs: 19282 -> 11627 (-39.70%)
helped: 1335
HURT: 76
Nops are helped.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22922 >
2023-05-10 11:11:38 +00:00
Samuel Pitoiset
8d5003d91a
radv/ci: stop setting MESA_SPIRV_LOG_LEVEL
...
Use the default VTN logging level which is warning.
Suggested-by: Emma Anholt <emma@anholt.net >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6263
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22917 >
2023-05-10 10:32:47 +00:00
Samuel Pitoiset
4f7b27bccf
spirv: ignore SpvDecorationInvariant warning on struct members
...
Similar to SpvDecorationRestrict, looks like it's also incorrectly
generated by glslang.
This will allow RADV/CI to leave MESA_SPIRV_LOG_LEVEL as default
(ie. only warnings).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22917 >
2023-05-10 10:32:47 +00:00
Simon Ser
31e6d15801
radv: advertise LINEAR filter support for multiplanar/subsampled
...
It seems like radv supports this but doesn't advertise it.
Signed-off-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22875 >
2023-05-10 10:02:27 +00:00
Kurt Kartaltepe
7accfbffd8
drirc: Set limit_trig_input_range option for Nier games
...
Resolves ambient occlusion rendering in Replicant
Resolves grass and ocean animations in Automata, and maybe more.
Both of these games have shaders that expect trig values to work across
large ranges with good precision.
Closes #7656
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22894 >
2023-05-10 08:12:59 +00:00
Juan A. Suarez Romero
0e466efe41
v3d: apply proper clamping when setting up RT
...
Ensure the render target values are in the proper range.
This fixes `spec@!opengl 3.0@render-integer`.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22733 >
2023-05-10 07:36:18 +00:00
Juan A. Suarez Romero
b5a458859f
v3d: upgrade V3D 4.1 to 4.2 version
...
Some of the new features require at least V3D 4.2. And actually, 4.2 is
the version used by the Raspberry Pi 4 hardware.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22733 >
2023-05-10 07:36:18 +00:00
Juan A. Suarez Romero
d95bff8e1c
v3d: add per hw-version caller macro
...
Instead of hardcoding conditionals to know which hardwared-based version
of a function to call, just wrap them in a macro to use
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22733 >
2023-05-10 07:36:18 +00:00
Daniel Schürmann
1e334e9818
radv/rt: store stack_sizes per stage instead of per group
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
f50a5a62bf
radv/rt: use vk_multialloc for radv_ray_tracing_pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
dfa5fd480c
radv/rt: refactor radv_rt_pipeline_compile()
...
This patch moves the NIR shader creation into radv_rt_pipeline_compile()
and simplifies radv_rt_pipeline_create().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
b314c2aae2
radv/rt: unify radv_rt_pipeline_create() and radv_rt_pipeline_library_create()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
1100f7dcd5
radv/rt: unify radv_ray_tracing_lib_pipeline and radv_ray_tracing_pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
97721f32ca
radv/rt: change base of radv_ray_tracing_lib_pipeline to radv_compute_pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Iván Briano
fbc0e74bda
anv: enable graphics pipeline libraries by default
...
Since we are disabling mesh, which has issues with gpl, enable gpl by
default now, leaving the renamed environment variable as a way to
disable it for debug purposes.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22910 >
2023-05-10 01:23:16 +00:00
Iván Briano
c97b1eb08a
anv: put EXT_mesh_shader behind an environment variable
...
We are seeing frequent hangs in other workloads when something using
mesh shaders runs at the same time, so gate the feature behind an
environment variable until we figure out what's going on.
v2: (Sagar)
- Give the mesh enabled variable a more descriptive name
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22910 >
2023-05-10 01:23:16 +00:00
Mike Blumenkrantz
e9f18f64b9
zink: also cache swapchain semaphores
...
a semaphore is a semaphore, as they say
Fixes: 7399b2241f ("zink: move semaphore caching to zink_reset_batch_state()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22935 >
2023-05-10 01:03:50 +00:00
Mike Blumenkrantz
c6fd588027
zink: block more flushes during unordered blits
...
Fixes: 89aa363593 ("zink: block oom flushes during unordered blits")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22931 >
2023-05-09 19:29:56 -04:00