Commit Graph

174150 Commits

Author SHA1 Message Date
Filip Gawin
6e87b277bd crocus: Avoid fast-clear with incompatible view
Port of code from iris.
Original author: Nanley Chery

Helps with fast_color_clear@fcc-write-after-clear

Cc: mesa-stable

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24135>
2023-07-13 15:02:38 +00:00
Danylo Piliaiev
4fa02c5c8e freedreno/cffdec: Decode CP_DRAW_AUTO
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24074>
2023-07-13 12:44:45 +00:00
Pavel Ondračka
0a2a7bfd19 r300: update RV370 failures
This was missed in 0bf6dcb785
There is a loop which iterates over a temp array. NIR optimization
moves the real work out of the loop and what remains are just ALU ops
with undefs. So after converting undefs to zero, the ALU ops are
optimized out and DCE kills the loop. This is a good thing in
general and we don't fail the linking due to the loop presence.

However than we hit the shader constants and ALU limits later :-(
So from dEQP POW we go from NotSupported to Fail.

Fixes: 0bf6dcb785
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24134>
2023-07-13 12:22:22 +00:00
Frank Binns
953c04ebd3 pvr: clang-format fixes
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24070>
2023-07-13 10:23:32 +00:00
Jordan Justen
39f547381c isl: Set MOCS to uncached for MTL stream-out
Without this change various OpenGL CTS tranform feedback tests were
failing.

Cc: 23.2 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
2023-07-13 00:32:13 -07:00
Jordan Justen
fa47c82fbe isl/dev: Add uncached MOCS value
Rework:
 * Jordan: Add uncached for all platforms (Requested by Francisco)
 * Jordan: Use gen7 & gen8 values suggested by Francisco
 * Jordan: Fix IVB and CHV MOCS mistakes pointed out by Francisco

Cc: 23.2 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
2023-07-13 00:32:13 -07:00
Jordan Justen
ef105f8cce genxml/chv: Add MEMORY_OBJECT_CONTROL_STATE_CHV to document compared to BDW
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
2023-07-13 00:32:09 -07:00
Jordan Justen
90535d7aef genxml/hsw: Add additional MOCS field enumerations
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
2023-07-13 00:32:05 -07:00
Jordan Justen
492b07625d anv,iris,hasvk: Use ISL_SURF_USAGE_STREAM_OUT_BIT for setting stream-out MOCS
Cc: 23.2 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
2023-07-12 23:47:25 -07:00
Jordan Justen
6b5082f5d5 isl: Add ISL_SURF_USAGE_STREAM_OUT_BIT
Cc: 23.2 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
2023-07-12 23:47:03 -07:00
Helen Koike
0dc961645c docs/ci: Add docs for EXTRA_LOCAL_PACKAGES
Add a section about reusing the CI scripts for other projects.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23894>
2023-07-13 01:06:29 +00:00
Helen Koike
a3d10300b0 ci: add EXTRA_LOCAL_PACKAGES to apt-get install
This can make it more convenient for other projects to reuse these
scripts.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23894>
2023-07-13 01:06:29 +00:00
Helen Koike
afaefb20f3 ci: re-add EXTRA_LOCAL_PACKAGES to rootfs
This variable was removed on commit
848f59deda when file `create-rootfs.sh`
was splitted.
Re-add it.

This can make it more convenient for other projects to reuse these
scripts.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23894>
2023-07-13 01:06:29 +00:00
David Heidelberg
29de652060 ci/freedreno: update a530 flakes
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24132>
2023-07-13 02:23:16 +02:00
Dylan Baker
6b64c27a97 docs: Update release calendar for 23.2.0-rc1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24131>
2023-07-12 23:08:06 +00:00
Faith Ekstrand
c136a22b60 nv50/ir: Convert to new-style NIR registers
Shader-db results on Turing:

    total inst in shared programs : 11121531 -> 11121458 (-0.00%)
    total gpr in shared programs : 1848287 -> 1848425 (0.01%)
    total ugpr in shared programs : 0 -> 0 (0.00%)
    total local in shared programs : 27200 -> 27200 (0.00%)
    total shared in shared programs : 236476 -> 236476 (0.00%)
    total bytes in shared programs : 177944496 -> 177943328 (-0.00%)
    total cached in shared programs : 0 -> 0 (0.00%)

               inst      gpr     ugpr    local   shared    bytes   cached
    helped      470       50        0        0        0      470        0
      hurt      327      197        0        0        0      327        0

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24110>
2023-07-12 22:49:27 +00:00
Yiwei Zhang
a151d26513 venus: refactor query feedback cmd record
Now copy and reset are similar enough to unify.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24130>
2023-07-12 22:32:45 +00:00
Yiwei Zhang
ed79b30639 venus: add a missing barrier before copying query feedback
The 1st sync scope of vkCmdCopyQueryPoolResults is not sufficient to
cover transfer writes against query feedback buffer. We must ensure
ordering against prior query reset cmd where the feedback buffer fill
gets injected.

Fixes: de4593faa1 ("venus: add query pool feedback cmds")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24130>
2023-07-12 22:32:45 +00:00
Mohamed Ahmed
c4c258e19e vulkan/util: Use ycbcr_info for multiplane helpers in vk_format.c
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24096>
2023-07-12 21:39:41 +00:00
Mohamed Ahmed
d5b6edec0f vulkan/util: Support VK_EXT_ycbcr_2plane_444_formats color formats in vk_format.c
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24096>
2023-07-12 21:39:41 +00:00
Mohamed Ahmed
c263e5307f vulkan/util: Support 10-bit and 12-bit color formats in ycbcr_info in vk_format.c
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24096>
2023-07-12 21:39:41 +00:00
Yiwei Zhang
7b44880e3e venus: ensure consistency of query overflow behavior
Fixes: e6cffa1f0e ("venus: use feedback for vkGetQueryPoolResults")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24123>
2023-07-12 21:18:06 +00:00
Yiwei Zhang
c55d43df04 venus: handle query feedback creation failure
Fixes: e6cffa1f0e ("venus: use feedback for vkGetQueryPoolResults")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24123>
2023-07-12 21:18:06 +00:00
Friedrich Vock
d810d67a8c radv/ci: Set DRIVER_NAME in LAVA raven vkcts jobs
Some CTS tests work with RADV, but take a very long time, making
deqp-runner trigger timeout failures. These tests are supposed to be
skipped, so they're contained in radv-skips.txt. But without setting
DRIVER_NAME to "radv", deqp-runner.sh won't pick up that file.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24095>
2023-07-12 20:30:51 +00:00
Eric Engestrom
bdaee9e09d ci: avoid running hardware jobs if lint fails - now on Windows too!
I missed this in !23774.

Fixes: a1c1cce9df ("ci: avoid running hardware jobs if there are already trivial issues")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24121>
2023-07-12 19:31:01 +00:00
Eric Engestrom
fd35e59139 ci: avoid running hardware jobs if lint fails - now on LAVA too!
I missed this in !23774.

Fixes: a1c1cce9df ("ci: avoid running hardware jobs if there are already trivial issues")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24121>
2023-07-12 19:31:01 +00:00
Alyssa Rosenzweig
ef80f81c8f zink: Switch to register intrinsics
SPIR-V does not have anything like nir_register natively, so we were already
inserting loads/stores for register sources/destinations. That means it's easy
to switch to register intrinsics, getting explicit load_reg/store_reg intrinsics
in the NIR and translating those to the SPIR-V load/stores, dropping the
handling for nir_register. There's no need to use any of the chasing helpers for
coalescing the load/stores, like a hardware backend would. (In
fact, the underlying Vulkan driver will probably turn this back into SSA.)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24111>
2023-07-12 19:05:09 +00:00
Dylan Baker
fac4f526ac VERSION: bump to 23.3.0-devel
For further development

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24124>
2023-07-12 11:13:17 -07:00
Karol Herbst
2c48ce81a8 api/icd: drop static lifetime from get_ref return type
This was never correct as the object pointed to can be destroyed at any
moment.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24061>
2023-07-12 15:18:22 +00:00
Karol Herbst
d653eb8a9a rusticl/device: make it &'static
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24061>
2023-07-12 15:18:22 +00:00
Karol Herbst
afe95b613c rusticl: Replace &Arc<Device> with &Device
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24061>
2023-07-12 15:18:22 +00:00
Karol Herbst
5bd235189a rusticl/kernel: silence newer clippy warning
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24061>
2023-07-12 15:18:22 +00:00
Eric Engestrom
a1c1cce9df ci: avoid running hardware jobs if there are already trivial issues
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23774>
2023-07-12 14:08:42 +00:00
Danylo Piliaiev
feaa12c7c6 freedreno/regs: Document a7xx CP_BV_BR_COUNT_OPS
Fully tested on HW. Credits to Connor Abbott for finding out how
it works.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
271ba74766 freedreno/regs: Properly document a7xx CP_EVENT_WRITE, CP_WAIT_TIMESTAMP
Event write is changes so much in a7xx that it makes sense to
create a new event CP_EVENT_WRITE7.

All credits to Connor Abbott for finding out what different flags
in these commands are doing.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
aceb82b80e tu: Use reg usage tables for stale reg dbg option
Defining regs to stomp as ranges in a separate header is a mistake
from maintenance standpoint. Now we have this information at the
point where reg is defined.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
aecb732320 tu: Allow reg stomping of compute related registers
We don't use draw states for dispatches, so the bound pipeline
could be overwritten by reg stomping in a renderpass or blit.

The solution is to re-emit pipeline's IB on every dispatch if
reg stomping is used.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
dac8d371e1 freedreno/regs: Define usage for all a6xx/a7xx regs
Could be used for knowing which regs to stomp and to verify that
only appropriate regs are emitted.

Each register that is actually being used by driver should have "usage"
defined, currently there are following usages:
- "cmd" - the register is used outside of renderpass and blits,
		roughly corresponds to registers used in ib1 for Freedreno
- "rp_blit" - the register is used inside renderpass or blits
		(ib2 for Freedreno)

It is expected that register with "cmd" usage may be written into only at
the start of the command buffer (ib1), while "rp_blit" usage indicates that
register is either overwritten by renderpass/blit (ib2) or not used if not
overwritten by a particular renderpass/blit.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
c62b0cd4f8 freedreno/regs: Generate per-gen reg usage tables
"reg" and "array" now could have `usage="a,b,c"` attribute, for each
usage a separate array is generated.

Would be used for register stomping debug option.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
463db34258 freedreno/regs: Fix a7xx SP_FS_PREFETCH definition
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
6f3117fbce freedreno/regs: Add more a7xx regs and reg fields
Deduced from a740 cmdtraces from running CTS on prop driver.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
95354ab679 freedreno/regs: Add some new a7xx events
There are many more a7xx events but they are left for later.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
5928ac6b64 freedreno/regs: Add 2 new a7xx modes to CP_COND_REG_EXEC
Also reworked how CP_COND_REG_EXEC is defined to print
less irrelevant fields.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
27312eb386 freedreno/regs: a7xx has a new source type CP_REG_TEST
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
853d64ae55 freedreno/regs: Add a7xx pseudo-regs to CP_SET_PSEUDO_REG
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
1dc044764d freedreno/regs: Clarify polling on a7xx for CP_WAIT_REG_MEM/CP_COND_WRITE5
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:28 +00:00
Danylo Piliaiev
1f192e49b6 freedreno/regs: Document a7xx CP_MODIFY_TIMESTAMP
Clears, adds to local, or adds to global timestamp

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:27 +00:00
Danylo Piliaiev
ed6394fda7 freedreno/regs: Document CP_MEM_TO_SCRATCH_MEM
Best guess is that it is a faster way to fetch all the VSC_STATE registers
and keep them in a local scratch memory instead of fetching every time
when skipping IBs.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:27 +00:00
Connor Abbott
912bafbdd5 freedreno/regs: Document a7xx CP_FIXED_STRIDE_DRAW_TABLE
Executes an array of fixed-size command buffers where each
buffer is assumed to have one draw call, skipping buffers with
non-visible draw calls.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:27 +00:00
Danylo Piliaiev
8185fac66b freedreno/regs: More CP commands are the same on a7xx as on a6xx
These ones are seen to be used by blob in CTS, the rest a6xx commands
were not seen beeing used.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23881>
2023-07-12 13:33:27 +00:00