Marek Olšák
f703dfd1bb
radeonsi: add gfx12
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
c8ad0f0715
ac/surface/tests: add gfx12 tests
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
d22564d29c
ac/surface: add gfx12
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
686e5a03f5
ac/llvm: add a workaround for nir_intrinsic_load_constant for LLVM on gfx12
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
546465e1ba
ac/llvm: implement nir_intrinsic_ordered_xfb_counter_add_gfx12_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
5d94ec9ec4
ac/llvm: handle nir_atomic_op_ordered_add_gfx12_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
2a7302f601
ac/nir: add gfx12 streamout NIR code
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
542c7ee75f
ac/nir: add ac_nir_sleep and handle the intrinsics
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
af9f04ad59
ac/llvm: update inline assembly for buffer_load_format_xyzw with TFE for gfx12
...
Only the scope and the temporal hint are new.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
9d33e66ad6
ac/llvm: add CS SGPR changes for gfx12
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
0356209543
ac/llvm: add new cache flags for gfx12
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00
Marek Olšák
a6c46509cc
ac/llvm: use new s_wait instructions and split the existing ones for gfx12
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Marek Olšák
12bca6123a
ac/nir,llvm: add GS VGPR changes for gfx12
...
See the big comment.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Marek Olšák
4e1abe5d8c
ac/nir: update ac_nir_lower_resinfo for gfx12
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Marek Olšák
2adc66e586
amd: add initial common code for gfx12
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Marek Olšák
58a5de5c34
amd: add gfx12 register definitions into the register header generator
...
The generator renamed some definitions to resolve conflicts.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Marek Olšák
724b6d667c
amd: add gfx12 register definitions
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Marek Olšák
ff47395757
amd: import gfx12 addrlib
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:05 -04:00
Robert Mader
8a02ca1b2e
egl/x11: Allow all RGB visuals to match 32-bit RGBA EGLConfigs
...
Drop the limitation to 24 or 30 bit configs. It was an abritrary
compromise to usually give apps what they wanted, but now we are about
to get a clean solution for alpha-blending on X11.
Based on a patch by Freya Gentz <zegentzy@protonmail.com >, see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2376
Signed-off-by: Robert Mader <robert.mader@posteo.de >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9989 >
2024-05-11 19:43:47 +00:00
Robert Mader
9bdab38424
egl: Implement EGL_MESA_x11_native_visual_id
...
EGL 1.5 specification requires to not match on EGL_NATIVE_VISUAL_ID.
EGL_MESA_x11_native_visual_id extension allows us to remove this
restriction for X11, where we need to match EGL_NATIVE_VISUAL_ID to find
visuals which allow blending.
The reasoning is that on X11, compositors use the visual as "magic bit"
to decide whether to alpha-blend surface contents.
Unlike on most (all?) other windowing systems, requesting an alpha channel
for the config alone does not already imply blending on the compositor
level.
Thus, in order to allow clients to explicitly request configs with
"magic bit" and, similar to GLX, to order configs in a way so clients
not requesting alpha-blending do not get it by accident, do match
visual ids.
Note that one consequence of this is that more configs get
reported to clients.
Based on a patch by Freya Gentz <zegentzy@protonmail.com >, see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2376
Signed-off-by: Robert Mader <robert.mader@posteo.de >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9989 >
2024-05-11 19:43:47 +00:00
David Heidelberg
3736c9997c
egl/x11: Move RGBA visuals in the second config selection group
...
This ensures that alpha-blended windows are at the bottom of the visuals
list, so they don't get picked up accidentally.
Based on: "egl-X11: Put RGBA visuals in the second config selection group"
Suggested-by: Freya Gentz <zegentzy@protonmail.com > # original concept
Co-authored-by: Robert Mader <robert.mader@posteo.de >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9989 >
2024-05-11 19:43:47 +00:00
Robert Mader
0d90415625
egl: Implement EGL_EXT_config_select_group
...
It allows us to influence the order of EGL configs for arbitrary
reasons, which will be used in the following commit.
Based on a patch by Freya Gentz <zegentzy@protonmail.com >, see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2376
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Robert Mader <robert.mader@posteo.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9989 >
2024-05-11 19:43:47 +00:00
Dr. David Alan Gilbert
8b6b327d1b
treewide: Cleanup unused structs
...
vk/wsi: Remove unused struct 'wsi_headless_format'
'wsi_headless_format' appears unused, and seems
to have been since initial commit.
radv: Remove unused struct 'blit_region'
'blit_region' appears unused, I think since initial commit.
r600: Remove unused structs
'eg_interp' and 'r600_shader_src' are unused.
I think they are just leftovers from the cleanup
in 20e6c31ba6 .
i915: Remove unused struct 'i915_tracked_hw_state'
'i915_tracked_hw_state' appears unused. I think it's just
a leftover from 179cb58795 .
llvmpipe: Remove unused struct 'linear_interp'
'linear_interp' doesn't ever seem to have been used.
radeonsi: Remove unused struct 'texture_orig_info'
'texture_orig_info' seems unused, I think since 46b2b3bda8 .
svga: Remove unused struct 'svga_3d_invalidate_gb_image'
'svga_3d_invalidate_gb_image' appears unused since 1942c06f9c .
Remove it.
nir: Remove unused struct 'split_struct_state'
'split_struct_state' looks unused since the original commit.
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29105 >
2024-05-11 17:30:59 +00:00
Faith Ekstrand
4842bbb200
nouveau/headers: Add a bool for whether or not to dump offsets
...
It's occasionally useful to shut them off.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29147 >
2024-05-11 04:34:15 +00:00
Faith Ekstrand
99b0117243
nvk: Don't rely on push_dirty for which push sets exist
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29147 >
2024-05-11 04:34:15 +00:00
Faith Ekstrand
53737b9d5b
nvk: Get rid of sets_dirty
...
We're not using it for anything
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29147 >
2024-05-11 04:34:15 +00:00
Faith Ekstrand
c834644c4e
nvk/meta: Restore set_sizes[0]
...
Fixes: af3e7ba105 ("nvk: Stash descriptor set sizes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29147 >
2024-05-11 04:34:15 +00:00
Faith Ekstrand
a160c2a14e
nvk: Re-emit sample locations when rasterization samples changes
...
We need them for the case where explicit sample locations are not
enabled. While we're at it, fix the case where rasterization_samples=0.
This can happen when rasterizer discard is enabled. This fixes MSAA
resolves with NVK+Zink. In particular, it fixes MSAA for the Unigine
Heaven and Valley benchmark.
This also fixes all of the spec@arb_texture_float@multisample-formats
piglit tests.
Fixes: 41d094c2cc ("nvk: Support dynamic state for enabling sample locations")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10786
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29147 >
2024-05-11 04:34:15 +00:00
Mike Blumenkrantz
bc15c95c7a
frontends/dri: always init opencl_func_mutex in InitScreen hooks
...
this otherwise leads to a mismatch where some types of screen may have
the mutex initialized while others don't, in which case dri_release_screen()
will attempt to destroy an uninitialized mutex
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29021 >
2024-05-11 02:40:54 +00:00
Mike Blumenkrantz
a1225e81c9
frontends/dri: only release pipe when screen init fails
...
the caller (driCreateNewScreen3) will always call dri_destroy_screen()
when these functions return failure, so releasing the screen
is always wrong
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29021 >
2024-05-11 02:40:54 +00:00
Caio Oliveira
b8dbd64267
intel/brw: Fix commas when dumping instructions
...
Some commas were being skipped, according to history as an attempt
to elide BAD_FILEs, but we still print them, so be consistent. Also
for instructions without any sources, the trailing comma was always
being printed. Fix that too.
Example of instruction output before the change
halt_target(8) (null):UD,
send(8) (mlen: 1) (EOT) (null):UD, 0u, 0u, g126:UD(null):UD NoMask
and after it
halt_target(8) (null):UD
send(8) (mlen: 1) (EOT) (null):UD, 0u, 0u, g126:UD, (null):UD NoMask
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29114 >
2024-05-11 02:17:57 +00:00
Caio Oliveira
c9fe20fdf1
intel/brw: Use vNN instead of vgrfNN when printing instructions
...
Reduce the noise in the shader dump output.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29114 >
2024-05-11 02:17:56 +00:00
Caio Oliveira
3a081106b0
intel/brw: Hide register pressure information in dumps
...
It was the default to show register pressure for each instruction,
but it gets in the way of cleaner diffs before/after an optimization pass.
Add INTEL_DEBUG=reg-pressure option to show it again.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29114 >
2024-05-11 02:17:56 +00:00
Caio Oliveira
866b1245e9
intel/brw: Don't print IP as part of the dump
...
The sequential IP cause noise when diffing before/after a pass that
either add or remove instructions.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29114 >
2024-05-11 02:17:56 +00:00
Lionel Landwerlin
fd47f90d37
brw: drop dependency on libintel_common
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11136
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29128 >
2024-05-11 01:52:01 +00:00
Lionel Landwerlin
36c043e2eb
intel: move debug identifier out of libintel_dev
...
The debug identifier is put into the captured buffers for error
capture. This helps us figure out what version of the driver people
are running when encountering a GPU hang. This identifier has the
git-sha1 + driver name.
libintel_dev is also a dependency of the compiler so any change to the
git-sha1 also triggers recompile which we want to avoid.
This changes moves the debug identifier to src/intel/common which
drivers already depend on, so the compiler is not affected anymore.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11136
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29128 >
2024-05-11 01:52:01 +00:00
Mike Blumenkrantz
4882f49e6b
zink: don't submit main cmdbuf if has_work is not set
...
this should avoid submitting empty cmdbufs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
0a24b8f9a3
zink: stop flagging has_work on batch tracking
...
this used to be a lazy workaround, but now it can actually mean something
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
74f572b28f
zink: flag has_work in a few more places
...
it's unlikely that any of these would be hit without first triggering
a has_work elsewhere, but this makes it more obvious
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
8f687f2a46
zink: rely on zink_get_cmdbuf() to set has_work flags
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
b9ec12d439
zink: check all has_work flags for flushes
...
not sure this actually changes anything right now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
06abe4399d
zink: reset all the has_work flags in the same place
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
e4c516bece
zink: zink_batch_state::has_barriers -> has_reordered_work
...
and add a note
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
ac07fefdda
zink: delete zink_batch
...
this makes the code a bit more ergonomic
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
40f595b30c
zink: remove all zink_batch usage from zink_context.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
91969dfa5a
zink: remove all zink_batch usage from zink_render_pass.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
05ba13ed18
zink: remove all zink_batch usage from zink_draw.cpp
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
bdb4860c10
zink: remove all zink_batch usage from zink_resource.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
0d8d90d577
zink: remove all uses of zink_batch from zink_batch.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
4adfb03f5b
zink: remove zink_batch usage from zink_clear.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108 >
2024-05-11 01:29:44 +00:00