Commit Graph

192573 Commits

Author SHA1 Message Date
Alyssa Rosenzweig
735c63c75e libagx: hoist code out of loop
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
4e5ce7e759 asahi: split up agx_nir_lower_vs_before_gs
honeykrisp needs to preserve info for a little longer.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
d3e7a7b8c8 asahi: add TES->compute lowering
honeykrisp wants to do this explicitly so we don't need prologs for TES. the gl
driver uses TES prologs implicitly for the same effect, but that's ...
suboptimal.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
9595d79b89 asahi: make GS inputs explicit
we don't want to assume VS->GS, since we want to reuse the root uniforms across
the whole draw with honeykrisp tess+gs.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
f6e9e7d3ce libagx: fix prefix sum kernel
the calculation of workgroup reductions was wrong, giving nondeterministic
results when prefix summing >= 1024 items. fixes misrendering in
terraintessellation on honeykrisp.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
bdbd81ea40 asahi: drop #includes
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
21fa5faeec asahi: drop pointless conversion
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
96306a8b21 asahi: refactor prolog lowering
combine 2 passes and get something less silly as the result.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
0bd897989e asahi: drop unused patch index buffer lowering
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
3992a54dcf asahi: drop dead code
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Asahi Lina
8808441814 asahi: Relax cross-context flush
Instead of doing a full sync, we can use a screen-global timeline sync
object to globally serialize on the GPU side when one context flushes,
so we don't actually have to wait on the CPU.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Asahi Lina
1cd60fb2c7 asahi: Fix non-async flush
As far as I can tell, we're actually supposed to do a full sync here if
ASYNC or DEFERRED are not specified.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Asahi Lina
a0cdd9d5ed asahi: Add more batch debug
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Asahi Lina
ac4ba43c55 asahi: Print queue ID with batch debug
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Asahi Lina
2c057cc4d9 asahi: Add 1queue debug option
This is a hacky implementation but it's for debug only anyway.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
d0424eb63b vk/meta: add VK_IMAGE_VIEW_CREATE_INTERNAL_MESA flag
honeykrisp to use, and hopefully common vk_meta will use this soon too

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
0d66ba6e5d vk/meta: add buffer view tracking
honeykrisp will use this, at least for now.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
2024-07-26 18:40:47 +00:00
Lionel Landwerlin
d5b0526507 anv: propagate protected information for blorp operations
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29982>
2024-07-26 18:15:43 +00:00
Lionel Landwerlin
8d9cc6aa23 anv: properly flag image/imageviews for ISL protection
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29982>
2024-07-26 18:15:43 +00:00
Lionel Landwerlin
4eab285d4a isl: account for protection in base usage checks
Only Cc stable because it's needed for the next patches.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29982>
2024-07-26 18:15:43 +00:00
Eric Engestrom
1337e00a89 v3d/ci: mark spec@amd_performance_monitor@api as flaky on rpi4
It's been failing a lot in the last few days, blocking a bunch of MRs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30385>
2024-07-26 19:31:56 +02:00
Faith Ekstrand
37a38f6744 nak/sm50: Add support for OpAL2P
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
cd176c8784 nvk: Fix zero-size vertex/index buffer bindings pre-Turing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
2439cb8450 nvk: Use nvk_buffer_addr_range() for index buffers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
c3682ccf60 nak: Implement depth clip control pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
e287ba95b0 nak/sm50: Fix the encoding of ffma with cbuf in src2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
3353374287 nak: Add tests for OpLop2 and OpLop3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
dc4ebfd562 nak/sm50: OpLop2 does not have .X
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
680ec0ec26 nak/sm50: OpIAdd2 only supports one negate modifier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
563b32c2c3 nak: Implement From<bool> for Pred
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
9badf675ad nvk: Don't push bound UBOs on Volta and earlier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
16509db66b nak/nir: Don't emit CCtl for release barriers on Maxwell
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
dee02cf220 nak: Fix OpCCtl encoding on Maxwell
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
940e52ad15 nvk: Squash txq results to 0 for null descriptors
We don't have "real" null descriptors on Maxwell.  They return 0 okay
but they don't query right so we have to smash the result.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
efd86d6daa nak/builder: Fix isetp64 for pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
a33507d621 nak/sm50: Set the .x bit for isetp
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
b87bd4b608 nak/hw_tests: Add debug printing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
bfcb9995da nak: Add tests for OpISetP
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
6056bc4afa nak: Add tests for nak_builder::iadd64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
074ba214fe nak: Add tests for nak_builder::isetp64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
05bbfa7963 nak: Align shader data to the min CBuf alignment
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
8050b57c28 nak/calc_instr_deps: Set a delay of 13 for flow ops pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand
c29980b218 nak: IMul and IMad are variable latency pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Eric Engestrom
2bc82b7147 ci/baremetal: fix logic for retrying boot when it failed
Contrary to what the original commit said, this is actually still used
(see .gitlab-ci/bare-metal/poe-powered.sh:205), and the boot retry logic
has been broken ever since, exacerbating the rpi farm boot problems.

Fixes: 97b2afa16a ("ci/bare-metal: Drop the 2 vs 1 exit code from poe_run.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30340>
2024-07-26 14:29:56 +00:00
Adam Jackson
b919bdc6f6 gallium/video: Move DRI2 support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Adam Jackson
ae51322d7b egl/x11: Move DRI2 client support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Adam Jackson
6292dfb939 glx: Move DRI2 client support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Adam Jackson
e8c1d966e5 meson: Introduce the legacy-x11 option
We're going to use this to hide support for excessively old or weird
xserver environments.

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Rhys Perry
a8a15dc5b5 aco: add struct and helpers for exec potentially empty
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30320>
2024-07-26 11:08:27 +00:00
Rhys Perry
39264a90c3 aco: consider exec empty after divergent continue then divergent break
For:
loop {
   if (divergent)
      continue
   if (divergent)
      break
   //exec is potentially empty here
   loop {
      if (divergent)
         break
   }
}
If a subset of invocations take the continue and then the rest take the
break, then exec will be empty after the break.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30320>
2024-07-26 11:08:27 +00:00