Commit Graph

192697 Commits

Author SHA1 Message Date
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
X512
828c3cf002 egl/haiku: fix synchronization problems, add missing header
`st_context_invalidate_state` call is required when changing buffer attachments.

Including header with BBitmap class definition is required to properly
call C++ destructor.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30372>
2024-07-27 00:59:29 +00:00
Ian Romanick
fdb6afe71e intel/elk: Fix undefined left shift of negative value in elk_texture_offset
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30333>
2024-07-26 17:18:08 -07:00