Faith Ekstrand
8646ae7e23
nak/builder: Allow source modifiers in ineg64()
...
This lets us implement ineg64(x) as iadd64(0, -x, 0) and also reduces
the number of cases in iadd64() itself.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
7f0b8a82d0
nak: Add tests for nak_builder::ineg64
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
73384c626d
nak: SrcMod::INeg cannot be folded
...
The only reason why this hasn't been causing us problems before is
because the only use of ineg in an iadd with a carry-out is ineg64 and
that's basically guaranteed to be folded in NIR because it's unary.
However, if we want to be able to use SrcMod::INeg more, we need to be
more careful about it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
c2b5d7ca41
nak/sm50: Add execution delays for more ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
ce91e8875a
nak: OpKill also needs a delay on Maxwell
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:20 +00:00
Faith Ekstrand
c8eb8f946a
nak: Add an optimization for CRS ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
1cf945a5d1
nak: Add target labels to CRS pop instructions
...
This makes them easier to read.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
9bbc692064
nak/nir: Rework CRS handling
...
THe new code tracks the whole call/return stack. This means we know the
size of the stack at all times. It also means that we can detect a
bunch of potential error cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
cb5e10d0aa
nak/nir: Add a few more NIR helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
f66ca6edc3
nak/nir: Fix the reverse execlist iterator
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
d19ea8524b
nvk: Take CRS into account when allocating the SLM area
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
b78f7d208b
nak: Plumb through the call/return stack size
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Faith Ekstrand
3e935df2b0
nak: Move the runner into the main nak crate
...
This makes the meson a bit simpler since we can just conditionally build
it based on #[cfg(test)] instead of breaking it into a separate library.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30402 >
2024-07-28 21:49:19 +00:00
Rob Clark
ad90bf0500
freedreno/a6xx: Initial a7xx support
...
Passing all of deqp-gles*
LRZ is still causing some artifacts in games so it is disabled for now.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
e6be78c703
freedreno/a6xx: Rework CCU_CNTL emit for a7xx
...
Regs are different, and a750+ gets new configuration for VPC cache in
GMEM.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
1f41d59059
freedreno/a6xx: Refactor CP_EVENT_WRITE emit
...
Consolidate the various uses of CP_EVENT_WRITE into helpers, and use use
fd_gpu_event to manage the differences between a6xx and a7xx. This is a
bit churny as it spreading a fair bit of the CHIP template param around.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
b1937f76ff
freedreno/a6xx: Allocate lrcfc when needed for direction tracking
...
On later GPUs this buffer is also used for direction tracking, etc.
Meaning that it is not optional.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
679e9093e1
freedreno: Extract out shared LRZFC layout helpers
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
beb5577e12
freedreno: Extract out common UBWC helper
...
And re-use in gallium driver.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
5c34a5e59a
freedreno: Move GENX/CALLX magic to common
...
And re-use them in the gallium driver
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
a6c9f152cc
freedreno/drm: Handle a7xx case
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:18 +00:00
Rob Clark
31302ca107
tu/drm/virtio: Add missing a7xx case
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:17 +00:00
Rob Clark
8ff33a756d
freedreno/cffdec: Fix a7xx CP_EVENT_WRITE decoding
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:17 +00:00
Rob Clark
10eaf06e47
freedreno/a7xx: Fix GRAS_UNKNOWN_80F4 writes
...
If this is a 64b reg, we should write both halves.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:17 +00:00
Rob Clark
1a3f041cd8
freedreno/a6xx: Implement reg stomper support
...
Useful to track down issues related to uninitialized regs.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30304 >
2024-07-28 18:25:17 +00:00
Mike Blumenkrantz
1242f3ed3a
glx: unhackify inferring zink from dri3
...
this still needs to be broken up more
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
8994165e92
glx: consolidate some LIBGL_KOPPER_DISABLE checks
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
725875cdea
glx: move drisw dri3 handling for zink out to glxInitialize
...
this is much cleaner
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
82955b48aa
glx: use base screen has_multibuffer for drisw
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
e9aec758c6
glx: delete all driver-specific display handling
...
this no longer does anything
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
886af985f8
glx: move dri2 loader extensions to static vtable
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
d723438e0d
glx: move dri2 init checks to separate function
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
5f55da01db
glx: tweak dri2 init ordering
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
f79eb4730c
glx: move dri2Hash to base glx_display
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
6be546764a
glx: rework/simplify drisw zink handling
...
this pushes the logic further down so it's all in one place
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
08e2985e57
glx: move driwindows_display::event_base to driwindows_context
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
2126a48149
glx: move has_multibuffer to base glx_screen struct
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
54e234ee2b
glx: delete dri3_display::loader_extensions
...
this is just a static value
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
4e8740370a
glx: rework __glXInitialize
...
* add an enum of bits for determining which display connections to try
* collect bits and then do all setup in AllocAndFetchScreenConfigs()
in theory no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
8078a938f5
glx: simplify zink init variables
...
no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
0d78711cfb
glx: delete __GLXDRIdisplay
...
this is useless now
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Mike Blumenkrantz
78abf0d145
glx: tabs -> spaces
...
this almost makes things readable but not quite
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30375 >
2024-07-28 13:11:07 +00:00
Georg Lehmann
a7c8eab63d
spirv: ignore more function param decorations
...
These caused log spam during vk-cts.
Fixes: 9b55dcca54
("spirv: initial parsing of function parameter decorations")
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30391 >
2024-07-28 12:20:49 +00:00
Eric Engestrom
c3b25dd357
ci: remove llvmpipe in the job that disables llvm
...
Instead of removing it from all the arm build jobs and only adding it
back on arm64.
Fixes: 35cb0c350e
("ci: replace gallium-drivers=swrast with gallium-drivers=llvmpipe,softpipe")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30366 >
2024-07-28 06:34:39 +00:00
Eric Engestrom
5d84e6cf26
meson: improve wording of "incompatible llvm options" error
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30366 >
2024-07-28 06:34:39 +00:00
Eric Engestrom
77b69cdbc3
meson: don't select the deprecated swrast
option ourselves
...
Users get the deprecation warning but didn't do anything, they left
things to `auto` and we pick the deprecated `swrast`? Hardly seems fair!
(I forgot to do this when I added the deprecation warning to ajax's commit)
Fixes: 010b2f9497
("gallium/meson: Deconflate swrast/softpipe/llvmpipe")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30366 >
2024-07-28 06:34:39 +00:00
Konstantin Seurer
a211a51a4a
lavapipe: Fix box sorting during ray traversal
...
Fixes performance a bit.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30348 >
2024-07-27 20:38:13 +00:00
Konstantin Seurer
a6930640a9
llvmpipe: Improve PIPE_QUERY_PIPELINE_STATISTICS accuracy
...
arb_pipeline_statistics_query-frag expects the reported value to be
reasonably accurate (no 100% error).
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28227 >
2024-07-27 22:13:48 +02:00
Sai Teja Pottumuttu
e7ee69b24d
docs: Match README installation guide with meson.rst
...
Sync the build and install instructions in README.rst from
meson.rst
Signed-off-by: Sai Teja Pottumuttu <saiteja13427@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30294 >
2024-07-27 11:53:53 +00:00
Sai Teja Pottumuttu
324de97f48
docs: Add required dependencies to meson.rst
...
Add the required dependencies to build and install mesa main
on linux.
Signed-off-by: Sai Teja Pottumuttu <saiteja13427@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30294 >
2024-07-27 11:53:53 +00:00