Commit graph

189024 commits

Author SHA1 Message Date
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
David Heidelberg
9f42a34625 ci/deqp: correct EGL_EXT_config_select_group detection
It's now a display extension, not an client one.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29145>
2024-05-11 16:39:57 +00:00
Jordan Petridis
671c646a0d Revert "ci: mark microsoft farm as offline"
This reverts commit 45edd99b6b.

Issues should be resolved now

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29134>
2024-05-11 04:51:41 +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
Mike Blumenkrantz
efa8ce29a4 zink: delete all zink_batch uses from zink_query.c
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
e27018dc79 zink: rename zink_batch::state -> zink_batch::bs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
107bf9ec7c zink: move swapchain from zink_batch to zink_context
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
2837cf9dde zink: move work_count from zink_batch to zink_context
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
8eacafaccc zink: move last_work_was_compute from zink_batch to zink_context
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
fb6828a9a1 zink: rename last_was_compute -> last_work_was_compute
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
d157b89bee zink: move has_work from zink_batch to zink_batch_state
no functional state

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
c8026f01bc zink: move ref_lock from zink_batch to zink_batch_state
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
f8876a0533 zink: move in_rp to zink_context
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
c85fc875d9 zink: delete unused zink_batch struct member
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29108>
2024-05-11 01:29:44 +00:00
Mike Blumenkrantz
ae8fbe220a freedreno/replay: use inttypes format string for 64bit
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29142>
2024-05-11 01:09:25 +00:00
Eric Engestrom
654ef35635 zink: avoid designated initializers as they are not supported in C++ < 20
error C7555: use of designated initializers requires at least '/std:c++20'

Fixes: 7bdaf6e95f ("zink: use zink_shader_key_optimal unions for pipeline state asserts")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29139>
2024-05-11 00:08:47 +00:00
Eric Engestrom
320c0b44f4 radv/ci: add navi21 flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29141>
2024-05-10 22:52:35 +00:00
Eric Engestrom
32f2b5d245 llvmpipe: wrap the push/pull in the ifdef as well
Fixes: c7634c25e4 ("llvmpipe: Fix build error with clang-18")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29138>
2024-05-10 21:14:08 +00:00
Eric Engestrom
860b262f44 microsoft/clc: fix incorrect changes that got through while the Windows CI was down
Fixes: e80d52223e ("microsoft: Use spirv_capabilities for spirv_to_dxil")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29137>
2024-05-10 20:52:21 +00:00
José Expósito
18c5315731 meson: Update proc_macro2 meson.build patch
Update the proc-macro2/meson.build to include the changes from v1.0.81.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11071
Signed-off-by: José Expósito <jexposit@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28923>
2024-05-10 20:07:01 +00:00