Commit Graph

186467 Commits

Author SHA1 Message Date
Leder, Brendan Steve 9751b52a10 amd/vpelib: Update chip headers
Tested with corresponding test cases.

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Brendan Leder: <breleder@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Chan, Roy c252d22e91 amd/vpelib: Fix compilation warnings
Reviewed-by: Navid Assadian <Navid.Assadian@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Roy Chan <roy.chan@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Leder, Brendan Steve ab9bd6b932 amd/vpelib: Generalize visual confirm handling
Generalize the visual confirm handling through helper function with
minor coding style changes

Reviewed-by: Evan Damphousse <evan.damphousse@amd.com>
Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Brendan Leder <breleder@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Leder, Brendan Steve 257658cbca amd/vpelib: Fix backend bug for multiple instances
Fix potential duplicated config if config_writer_complete is called
multiple times

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Reviewed-by: Evan Damphousse <evan.damphousse@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Brendan Leder <BrendanSteve.Leder@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Hsieh, Mike b010a2eaf6 amd/vpelib: Refactor 3D LUT code
Refactor 3D LUT code and tested with corresponding test cases

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Mike Hsieh <Mike.Hsieh@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Brendan 338dd3b687 amd/vpelib: Fix duplicate config writer bug
[WHY]
Config writer duplicates packets when switching pipes.

[HOW]
Update config writer to only write new packets if new type is required.

[TESTING]
Tested with corresponding test cases.

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Brendan Leder <breleder@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Jiali 8fa10461c9 amd/vpelib: Enhance output format capabilities
- Generalize the p2b programming to support chroma viewport if any
- Turn vpe_get_element_size_in_bytes to a global helper function

Reviewed-by: Jesse Agate <Jesse.Agate@amd.com>
Acked-by: Chih-Wei Chien <Chih-Wei.Chien@amd.com>
Signed-off-by: Jiali <jiali.zhao@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31693>
2024-10-18 05:56:36 +00:00
Serdar Kocdemir 10acd37e93 Update decoder.py to use try_unbox on destroy calls
Missing code generator changes for aosp/3272729.

Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31728>
2024-10-18 05:29:41 +00:00
Faith Ekstrand d52a9d832e nvk: Put a sample map in the descriptor for MSAA storage images
This tells us exactly where each sample instead of assuming they're laid
out row-major. NIL_SAMPLE_LAYOUT_4X2_D3D is not row-major.

Fixes: 8f1697b12d ("nil: Use D3D sample modes by default")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31727>
2024-10-18 04:56:26 +00:00
Faith Ekstrand 9724028c15 nil: Add a nil_sample_offset() helper
Fixes: 8f1697b12d ("nil: Use D3D sample modes by default")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31727>
2024-10-18 04:56:26 +00:00
Faith Ekstrand 6e30ab8b16 nvk: Fix host copies for array images
Our offset handling was hitting asserts inside of NIL because we're
passing in offsets and extents with non-trivial array dimensions.

Fixes: 6c5420cd30 ("nvk: Add host copy functions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31727>
2024-10-18 04:56:26 +00:00
Faith Ekstrand aee0ce980b nak/bindings: Use an enum for IOCTL numbers
This should be more robust against weird bindgen shenanigans because it
forces LLVM to constant-fold and give us an actual thing we can generate
bindings for.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12008
Fixes: cd7128c2e3 ("nak: Add a bare HW shader runner")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31727>
2024-10-18 04:56:26 +00:00
Paulo Zanoni b88bcacf2b anv/trtt: remove useless VK_RESULT checks
We jump out of the loops whenever result is not VK_SUCCESS, there is
no need to check for it there. I guess I missed this detail in the
most recent rework for this function.

Reviewed-by: Iván Briano <ivan.briano@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31698>
2024-10-18 04:10:47 +00:00
Paulo Zanoni da396a49a0 anv/trtt: fix the creation of sparse buffers of size 2^32 on 32bit systems
When the VkBuffer is of size 2^32 (which matches maxBufferSize), we
have vm_bind->size set to 2^32, which is fine because it fits in an
uint64_t. What is not fine is the 'i' variable being size_t, because
on 32bit systems it will loop forever since it will always be smaller
than 2^32.

Credits to Iván for not only reporting it, but also coming up with the
solution at the same time as I did, then testing it.

Cc: mesa-stable
Reported-by: Iván Briano <ivan.briano@intel.com>
Reviewed-by: Iván Briano <ivan.briano@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31698>
2024-10-18 04:10:47 +00:00
Guilherme Gallo 7bea8ee8bb ci/turnip: Rebalance kingoftown jobs
For each pipeline, we launch 13 jobs for kingoftown, let's decrement it
to match the number of 12 trogdor-kingoftown available in Collabora's
farm atm.

Let's decrement the parallel no., and increment the dEQP fraction for
a618_vk job.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:46 +00:00
Guilherme Gallo 862bfceb70 ci/freedreno: Rebalance limozeen jobs
We have 6 DUTs but we are running a total of 7 jobs per pipeline,
increasing the DUT pending time.

- Job: parallel no.
- 'a618_gl: 2'
- 'a618_egl: 1'
- 'a618_piglit: 1'
- 'zink-tu-a618: 1'

So, reduce the `a618_gl` parallel from 2 to 1 and increase dEQP fraction
from 2 to 5 to reach the 10-min mark.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:46 +00:00
Guilherme Gallo 0e95113a27 ci/panfrost: Increment panfrost-g52-gl parallel no.
We have one spare meson-g12b-a311d-khadas-vim3 DUT, and this job is
taking 14 minutes to run on average and retries are rare, so let's
increment the parallel to reach the 10 min-mark.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:46 +00:00
Guilherme Gallo 024bf6330f ci/amd: Reassign radv-raven-traces from zork to dalboz
With the addition of the radeonsi-raven-cdna-lower-image:x86_64 job,
zork devices are being overutilized.

To balance the load, we're moving the radv-raven-traces job to dalboz,
where one DUT per pipeline remains available.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:46 +00:00
Guilherme Gallo 72659d04e6 ci/amd: Track merge-skips.txt changes
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:46 +00:00
Guilherme Gallo 9930e46fca ci/radv: Rebalance stoney-vkcts
- Increase the fraction for radv-stoney-vkcts from 15 to 18.
- Same for radv-angle, from 2 to 3

The last one should take around 7 minutes, but this new 3 minute gap can
be filled in by the ~95% DUT availability and eventual infra retries.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:45 +00:00
Guilherme Gallo 6e0325dc5a ci/zink: Add skips for zink-anv-(adl|tgl)
Some tests are taking too long to finish

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31699>
2024-10-18 03:27:45 +00:00
Faith Ekstrand f49a3e0a68 nvk: Use nvk_queue_submit_simple() for nvk_queue_state_update()
This change has two main advantages.  First is that the previous code
had a subtle bug where state updates would drop the previous state
pushbuf without first guaranteeing that the queue was idle, potentially
leading to a fault.  This worked when I first wrote the code because we
were using the old nouveau UAPI which took a list of BOs on each submit
and the kernel would interanlly reference count them.  With the modern
UAPI, there is no such safety net.

The second effect of this commit is that we're now only submitting the
pushbuf when one of the pointers or ranges actually changes.  This
should hopefully reduce GPU stalling as setting those pointers is a
pretty heavy-weight operation.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30596>
2024-10-18 02:58:00 +00:00
Faith Ekstrand 5fa5c5a300 nvk: move nvk_queue_state_update to nvk_queue_submit_exec
The only reason we had it pulled out was because that made more sense
back when we had drm/nouveau baked into our queue code.  With the new
NVKMD interface, there's no point.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30596>
2024-10-18 02:58:00 +00:00
Faith Ekstrand 86a6b894a8 nvk: Only submit the state pushbuf if there are commands
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30596>
2024-10-18 02:58:00 +00:00
Faith Ekstrand 296746d4b9 nvk: Only wait on the upload queue if there are commands
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30596>
2024-10-18 02:58:00 +00:00
Lionel Landwerlin 608d521086 elk: Don't apply discard_if condition opt if it can change results
Replicates the change from 57344052b6 ("intel/brw: Don't apply
discard_if condition opt if it can change results")

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 0ba9497e66 ("intel/fs: Improve discard_if code generation")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31604>
2024-10-18 01:57:58 +00:00
Rob Clark 7e4e46a004 freedreno/a6xx: Add missing GRAS_SU_DEPTH_CNTL
And GRAS_SU_STENCIL_CNTL.. Needed on a750.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark a1f2a8ebb9 freedreno/a6xx: Add VPC hardware workaround for a750
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark ecc8d271e1 freedreno/a6xx: Don't open-code INVALID_REG
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 65df706b21 freedreno/a6xx: Fix color_cache_size
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 3a0b022136 freedreno/a6xx: Add support to load driver-params via UBO
In this case, we can't use CP_LOAD_STATE to push the consts inline in
the cmdstream, but instead need to setup a UBO.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark f193c61c6b freedreno: Rework indirect compute param emit
There are more driver params than what is contained in the indirect
buffer.  So switch things around to always allocate a buffer into which
we copy the indirect params.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark fe1c733798 freedreno/ir3: Fix need_driver_params for UBO case
When we are pushing driver params via driver UBO, which need to check
the driver_params UBO idx.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 97ab362914 freedreno/ir3: Track # of app UBOs
Before the gallium driver can support load_shader_consts_via_preamble it
needs a way to differentiate between # of API level UBOs and the number
of UBOs after the driver inserts ones for driver-params, etc.  This is
because the driver UBOs are emit in a different place from user UBOs.
If we didn't have this distinction, and the app had more UBOs bound than
the shader used, we would otherwise emit some conflicting UBO
descriptors (ie. ones for unused const slots conflicting with the driver
UBO slots).

This also moves the consts_ubo emit into the PROG state.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 94c3c39f21 freedreno/a6xx: Move tess-bo emit
Move this to where the rest of the hs/ds params are emit, because for
a7xx with load_shader_consts_via_preamble we'll need this all to be a
single UBO.  So we won't be able to piecemeal upload consts.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark efb93c9f52 freedreno/a6xx: Fix double SP_MODE_CONTROL emit
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark b877106e75 freedreno/ir3: Indentation fix
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 7e9b948430 freedreno/ir3+tu: Convert driver-params to structs
This at least lets us de-dup the dp setup between the push-const path
and preamble-loads-from-ubo path.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 81d8387dbc freedreno/ir3: Add assert about const emit
If the old (non-ubo) way of const emit isn't supported for the shader
stage, make sure we hit an assert.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 824733c4d7 freedreno/ir3: Avoid draw/grid time input iteration
These don't change at draw time, so need to iterate them each time.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:40 +00:00
Rob Clark 4812bf2758 freedreno/decode: Fix UBO decode on a7xx
And add UBO dumping.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:39 +00:00
Rob Clark e32237739f freedreno: Assert we aren't writing to 0x0
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:39 +00:00
Rob Clark fd8eabdd4b freedreno/a6xx: Add some missing a7xx bits
Fixes: ad90bf0500 ("freedreno/a6xx: Initial a7xx support")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
2024-10-18 01:25:39 +00:00
Sid Pranjale 21beb7a6bd nvk: implement VK_EXT_depth_clamp_zero_one
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31488>
2024-10-18 00:56:15 +00:00
Sid Pranjale aa417da964 vulkan/util: add vk_format_has_float_depth()
A small helper function to check if a format has a floating point depth
value.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31488>
2024-10-18 00:56:15 +00:00
Samuel Pitoiset 0f2363993d radv: fix emitting DB_RENDER_OVERRIDE on GFX12
This register is already set in the GFX12 preamble and it shouldn't
be overwritten.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31690>
2024-10-18 00:28:02 +00:00
Samuel Pitoiset daefd280e2 radv do not force-disable hierarchical stencil testing
Looks like this was disabled by mistake. RadeonSI relies on the default
value which is "no force" and PAL only sets this to FORCE_DISABLE when
HTILE is completely disabled using settings.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31690>
2024-10-18 00:28:01 +00:00
David Heidelberg 195cb98d30 ci/etnaviv: unify job naming with the rest of the CI
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31724>
2024-10-17 23:49:54 +00:00
Thomas H.P. Andersen 8654a7727f driconf: set vk_zero_vram driconf for X4 Foundations
Fixes artifacts when the game is loading

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29892>
2024-10-17 22:19:33 +00:00
Thomas H.P. Andersen 3abee25f0b driconf: set vk_zero_vram driconf for Path of Exile
Fixes frequent crashes in the loading screen when using vulkan on nvk

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29892>
2024-10-17 22:19:33 +00:00