antonino
39770c6503
zink: fix store subsitution in lower_pv_mode_gs_store
...
Previously it was assumed that between the and the variable there was
only one deref.
To handle all cases a new function is introduced that recreates a chain
of derefs.
Fixes: 5a4083349f ("zink: add provoking vertex mode lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22678 >
2023-04-25 15:00:48 +00:00
antonino
a0645e3383
nir/zink: use sysvals in nir_create_passthrough_gs
...
Previously the passthrough gs shader loaded some values with uniform
loads using sevaral hardcoded values.
This was not flexible for other drivers and started becoming too
unflexible for zink itself.
Use system values instead and use a lowering pass in zink.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22667 >
2023-04-25 13:11:59 +00:00
Karmjit Mahil
cfd525d097
pvr: Add PVR_DW_TO_BYTES()
...
We use dwords (32 bit) quite a bit around the code base. Previously
we used '* 4', '<< 2', or '* sizeof(uint32_t)' to go from dwords to
bytes. The conversion isn't always clear when other operations
happen in the same line, which can leave one wondering where the
multiplication came from.
PVR_DW_TO_BYTES() should make the code more obvious as well as
making the conversion more consistent.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22658 >
2023-04-25 12:55:43 +00:00
Tapani Pälli
e501b31e15
anv: implement state cache invalidate for Wa_16013063087
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651 >
2023-04-25 10:45:55 +00:00
Tapani Pälli
72fc56aa37
anv: cleanup bitmask construction for PIPELINE_SELECT
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651 >
2023-04-25 10:45:55 +00:00
Tapani Pälli
5e5ca30785
iris: implement state cache invalidate for Wa_16013063087
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651 >
2023-04-25 10:45:55 +00:00
Iago Toral Quiroga
c2003535b9
broadcom/compiler: return early for SFU op latency calculation
...
Since we are returning a fixed latency for these check for them
earlier and return early if they match.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22675 >
2023-04-25 11:15:34 +02:00
Iago Toral Quiroga
148473eae4
broadcom/compiler: fix incorrect ALU checks
...
We had a bunch of cases where we would check ALU parameters without
first checking if the ALU op was valid.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22675 >
2023-04-25 11:15:26 +02:00
Pierre-Eric Pelloux-Prayer
65b40d0b7e
radeonsi: implement fw based mcbp
...
Some chips support firmware based mcbp. If supported this means
radeonsi needs to allocate 3 buffers and pass them to the firmware.
From there, the firmware will handle mcbp and register shadowing
on its own so we don't need to insert LOAD packet in the preamble.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21986 >
2023-04-25 06:47:11 +00:00
Pierre-Eric Pelloux-Prayer
8fe39e9997
amd: determine info->has_fw_based_shadowing
...
The shadow_size value will be 0 if unsupported.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21986 >
2023-04-25 06:47:11 +00:00
Pierre-Eric Pelloux-Prayer
dc5a9e176c
amd: update amdgpu_drm.h
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21986 >
2023-04-25 06:47:11 +00:00
Marek Olšák
171d316402
venus: fix the RHEL8 build by using syscall for gettid
...
src/virtio/vulkan/vn_common.c: In function ‘vn_ring_monitor_acquire’:
src/virtio/vulkan/vn_common.c:129:16: error: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Werror=implicit-function-declaration]
129 | pid_t tid = gettid();
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22489 >
2023-04-25 05:16:33 +00:00
Emma Anholt
2c5a2f1a05
ci/valve: Add a workaround for finding libdrm on navi21s.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22495 >
2023-04-25 04:43:10 +00:00
Emma Anholt
6986cf1d89
ci/zink: Drop anv/lvp validation exceptions that should be fixed in the CTS.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22495 >
2023-04-25 04:43:10 +00:00
Emma Anholt
71fda36e7d
ci/deqp: Update to 1.3.5.1 and pull in additional bugfixes from main.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22495 >
2023-04-25 04:43:10 +00:00
Emma Anholt
8dc0015448
ci: Move some timeout xfails to skips.
...
We generally don't want to wait around for a minute for things to fail.
Note that some of these were already in their skips.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22495 >
2023-04-25 04:43:09 +00:00
Karol Herbst
cc0de56a0e
rusticl/device: allow enablement of fp64 via RUSTICL_FEATURES
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649 >
2023-04-25 04:27:57 +00:00
Karol Herbst
b90d1cfbfe
rusticl/platform: add RUSTICL_FEATURES boilerplate
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649 >
2023-04-25 04:27:57 +00:00
Karol Herbst
389a199993
rusticl/platform: extract env variable parsing from Platform::init
...
In our platform initialization code we might want to access the parsed env
variables already. So do this in separate steps.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649 >
2023-04-25 04:27:57 +00:00
Karol Herbst
2283e9d155
rusticl/platform: make the initialization more explicit
...
It's not a lazy loaded type so doing the Once::call_once in every
Platform::get gives us a pointless atomic, which might be slow on some
platforms.
Every application has to call clGetPlatformIDs so we only need to do it
there.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649 >
2023-04-25 04:27:57 +00:00
Karol Herbst
400847a990
rusticl/device: improve advertisement of fp64 support
...
Enabling fp64 support makes rarely sense, but in case we do claim it, we
should also tell if it's a pure software implementation.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649 >
2023-04-25 04:27:57 +00:00
M Henning
b82004d960
gallium: Add pipe_shader_state_from_nir
...
and use it in nouveau
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537 >
2023-04-25 03:46:34 +00:00
M Henning
5889c13fcd
nv50,nvc0: Use ttn for tgsi shaders by default
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537 >
2023-04-25 03:46:34 +00:00
M Henning
44db89b937
nv50,nvc0: Stop advertising TGSI by default
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537 >
2023-04-25 03:46:34 +00:00
M Henning
d11145e837
nv50,nvc0: Use nir in nv50_blitter_make_fp
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537 >
2023-04-25 03:46:34 +00:00
M Henning
a019d15668
nvc0: Use nir in nvc0_blitter_make_vp
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537 >
2023-04-25 03:46:34 +00:00
M Henning
8928d8d3ad
nvc0: Use nir in nvc0_program_init_tcp_empty
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537 >
2023-04-25 03:46:34 +00:00
Brian Paul
35fa7937db
lavapipe: asst. clean-ups in lvp_execute.c
...
Move loop var decls into loops.
Use designated initializers.
Replace some questionable memcpy/memset() calls with assignments.
Line-wrap, whitespace fixes.
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22467 >
2023-04-25 02:09:26 +00:00
Brian Paul
9b1addbf75
lavapipe: clean-ups in lvp_physical_device_get_format_properties()
...
Use new pscreen local var to shorten the code.
Line-wrap and align code for easier reading.
Consolidate |= assignments.
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22467 >
2023-04-25 02:09:26 +00:00
Brian Paul
625a9d4c03
lavapipe: clean-ups in lvp_GetQueryPoolResults()
...
Simplify the code which puts query results into the destination
buffer:
* Use a uint64 or uint32 pointer instead of uint8 to write the results
to the buffer for less casting and simplifient pointer incrementing.
* Use MIN2() macro to be more concise.
And fix some indentation.
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22467 >
2023-04-25 02:09:26 +00:00
David Heidelberg
128e578c04
ci/mold: bump to 1.11.0
...
Fixes LTO issue.
Release notes: https://github.com/rui314/mold/releases/tag/v1.11.0
Acked-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22642 >
2023-04-25 00:28:21 +00:00
Mike Blumenkrantz
6d5462658a
llvmpipe: do late init for llvm builder
...
this avoids doing any llvm work during lavapipe enumeration which
might otherwise explode if lavapipe is not the actual driver that
gets used
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600 >
2023-04-25 00:04:08 +00:00
Mike Blumenkrantz
4a056807bc
gallivm: break out native vector width calc for reuse
...
breaks dependency on lp_build_init()
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600 >
2023-04-25 00:04:08 +00:00
Juan A. Suarez Romero
78e448f4f9
v3d/ci: enable glsl 1.30 and 1.40 piglit tests
...
Now that we are exposing OpenGL 3.1, let's enable the proper supported
GLSL versions.
Acked-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22660 >
2023-04-24 23:34:46 +00:00
Rob Clark
712daef3a8
freedreno: Add more tracepoint fields
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
dc4add8cdd
freedreno/a6xx: Pass ring to __ONE_REG()
...
This happened to work before because the arg to OUT_REG() was also
called 'ring' (or there was a suitable local var in scope!!)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
daaa2917aa
freedreno: Add dirty state logging
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
6ea7d8e223
freedreno/perfetto: Add shader_id for compute stages
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
f136f89487
mesa/nir: Add some perfetto traces
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
15499250f2
freedreno/ir3: More perfetto tracing
...
Some useful trace points that I had laying around.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
d36643bef5
util/log: Add missing "const"
...
Fixes warning:
warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
09f19672a0
freedreno/registers: C++ struct casting
...
Using C style `(struct foo){ ..args..}` at least confuses eclipse, so
for C++ code use `{ ..args.. }` instead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Rob Clark
827363f886
freedreno: Extra casting to make C++ happy
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:03 +00:00
Emma Anholt
7f99cbf25e
util/log: Fix log messages over 1024 characters.
...
The first attempt at the sprintf would have consumed part of va, so if
we're going to recurse on overflow to try again in a new allocation then
we have to do our work on a copy.
This was a common failure mode for MESA_GLSL=source, where it would just print:
Mesa: info: GLSL source for fragment shader 1:
Mesa: info: (null)
Fixes: 7a18a1712a ("util/log: improve logger_file newline handling")
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22618 >
2023-04-24 21:56:05 +00:00
Iván Briano
4cfb4f7d12
anv: support fast color clears on vkCmdClearAttachments
...
As long as some conditions are met.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Iván Briano
5faf75dd74
anv: expose some helper functions
...
v2: (Rohan Garg)
- Make set_fast_clear_state take an image and format instead of an iview
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Iván Briano
9046319cc9
anv: factor out code for ccs_op and mcs_op
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Iván Briano
2a67a1f0c2
anv: make anv_can_fast_clear_color_view more generally available
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Iván Briano
a2e02c4ba4
anv: Remove dead parameters from copy_fast_clear_dwords
...
There's only one caller of this function and always passes false.
v2: (Nanley Chery)
- Also remove the aspect parameter
v3: (Nanley Chery)
- Rename the function so it's more clear in which direction it works
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00
Sagar Ghuge
e488773b29
anv: Fast clear depth/stencil surface in vkCmdClearAttachments
...
Instead of doing a slow depth clear, we can do depth fast clear in
vkClearAttachments.
Sascha Willems occlusionquery demo shows more than 2% perf boost with
this series.
On Felix's Tigerlake with the GPU at fixed frequency, this patch
improves performance of RoTR by +0.5%.
v2: (Nanley Chery)
- Clear stencil surface along with depth.
- Check for multilayer resources.
- Lookout for state.attachments.
- Fallback on slow clear for BDW and CHV if conditional rendering
enabled.
- Keep flush in same function.
v3: (Nanley Chery)
- Return immediately after fast clearing.
- Remove unnecessary comment.
v4: (Nanley Chery)
- Add assertion for BLORP_BATCH_NO_EMIT_DEPTH_STENCIL.
- Remove unnecessary local variable.
- Add 3DSTATE_WM_HZ_OP comment.
v5: (Nanley Chery)
- Fix comments.
- Don't take fast depth clear path if BLORP_BATCH_PREDICATE_ENABLE set.
- Refactor code in can_hiz_clear_att.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175 >
2023-04-24 21:33:49 +00:00