dawnhan
6df5ace3a3
vulkan/android: Add missing AHB formats
...
Signed-off-by: dawnhan <dawnhan@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30310 >
2024-08-02 04:23:44 +00:00
David Heidelberg
ceece45b2b
freedreno: drop hack for old dEQP
...
Since ac7a167b56d7 ("Adjust out of surface verification for wide lines")
from 2017, this shouldn't be necessary anymore.
Acked-by: Rob Clark <robclark@freedesktop.org >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30460 >
2024-08-02 10:18:50 +09:00
Kenneth Graunke
8bca7e520c
intel/brw: Only force g0's liveness to be the whole program if spilling
...
We don't actually need to extend g0's live range to the EOT message
generally - most messages that end a shader are headerless. The main
implicit use of g0 is for constructing scratch headers. With the last
two patches, we now consider scratch access that may exist in the IR
and already extend the liveness appropriately.
There is one remaining problem: spilling. The register allocator will
create new scratch messages when spilling a register, which need to
create scratch headers, which need g0. So, every new spill or fill
might extend the live range of g0, which would create new interference,
altering the graph. This can be problematic.
However, when compiling SIMD16 or SIMD32 fragment shaders, we don't
allow spilling anyway. So, why not use allow g0? Also, when trying
various scheduling modes, we first try allocation without spilling.
If it works, great, if not, we try a (hopefully) less aggressive
schedule, and only allow spilling on the lowest-pressure schedule.
So, even for regular SIMD8 shaders, we can potentially gain the use
of g0 on the first few tries at scheduling+allocation.
Once we try to allocate with spilling, we go back to reserving g0
for the entire program, so that we can construct scratch headers at
any point. We could possibly do better here, but this is simple and
reliable with some benefit.
Thanks to Ian Romanick for suggesting I try this approach.
fossil-db on Alchemist shows some more spill/fill improvements:
Totals:
Instrs: 149062395 -> 149053010 (-0.01%); split: -0.01%, +0.00%
Cycles: 12609496913 -> 12611652181 (+0.02%); split: -0.45%, +0.47%
Spill count: 52891 -> 52471 (-0.79%)
Fill count: 101599 -> 100818 (-0.77%)
Scratch Memory Size: 3292160 -> 3197952 (-2.86%)
Totals from 416541 (66.59% of 625484) affected shaders:
Instrs: 124058587 -> 124049202 (-0.01%); split: -0.01%, +0.01%
Cycles: 3567164271 -> 3569319539 (+0.06%); split: -1.61%, +1.67%
Spill count: 420 -> 0 (-inf%)
Fill count: 781 -> 0 (-inf%)
Scratch Memory Size: 94208 -> 0 (-inf%)
Witcher 3 shows a 33% reduction in scratch memory size, for example.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30319 >
2024-08-01 16:37:34 -07:00
Kenneth Graunke
4ca4b064cf
intel/brw: Record g0 as live for sends with send_ex_desc_scratch set
...
brw_send_indirect_split_message() implicitly reads g0 to construct the
extended message descriptor for certain send messages when this is set.
Record that liveness explicitly.
Thanks to Francisco Jerez for reminding me about this use of g0.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30319 >
2024-08-01 16:37:32 -07:00
Kenneth Graunke
9200fb966c
intel/brw: Record that SHADER_OPCODE_SCRATCH_HEADER uses g0
...
The generator code for emitting legacy scratch headers was implicitly
using g0 as a source. But the IR wasn't indicating any usage of g0,
which means the liveness isn't properly tracked at the IR level.
It works because we reserve g0 as permanently live for the whole
program. In order to stop doing that, we need to record it properly.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30319 >
2024-08-01 16:37:31 -07:00
Kenneth Graunke
545f20419f
intel/brw: Delete fs_reg_alloc::discard_interference_graph()
...
Unused since commit 50519598ff .
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30319 >
2024-08-01 16:37:28 -07:00
Eric Engestrom
f427c9fe23
rpi3/ci: remove {version,render}_check from [piglit.env]
...
v1 was moving it into the [[piglit]] section, but piglit-runner actually
doesn't support checking for this, so let's just remove it entirely.
Fixes: 3990463c48 ("v3d/vc4/ci: set full renderer version check")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30436 >
2024-08-01 21:05:27 +00:00
Lucas Fryzek
c44d65a467
lp: only map dt buffer on import from dmabuf
...
Adjusts `resource_from_handle` to follow original execution path
in cases where we are not importing a dmabuf.
Fixes: db38a4913e
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30441 >
2024-08-01 20:39:06 +00:00
Eric Engestrom
93f9afa1e0
ci: remove dead start-x.sh script
...
Fixes: 599e8bf921 ("ci/valve: remove the traces runner")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30465 >
2024-08-01 19:57:17 +00:00
Faith Ekstrand
30888d1e5c
vulkan: Update XML and headers to 1.3.292
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30473 >
2024-08-01 18:59:33 +00:00
David Rosca
c0a9cdc4de
radeonsi/vcn: Allow dynamic change of QVBR quality level
...
This was missed when QVBR was added.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30471 >
2024-08-01 18:31:39 +00:00
Karol Herbst
0e05ae1a10
rusticl/kernel: handle load_global_size
...
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Tested-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30467 >
2024-08-01 17:43:42 +00:00
Karol Herbst
4ae9ee7a2c
rusticl/kernel: emit system values with the correct device size
...
Those are sized according to the size_t on the device.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Tested-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30467 >
2024-08-01 17:43:42 +00:00
Karol Herbst
14ea102175
nir: add load_global_size intrinsic
...
There is no need to compute it in the shader as the result is known at
runtime already.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Tested-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30467 >
2024-08-01 17:43:42 +00:00
Juston Li
ef58f2408f
anv/android: handle R8G8B8X8 as R8G8B8A8
...
Fall through to common vk_ahb_format_to_image_format() to handle
R8G8B8X8 as R8G8B8A8.
Fixes issues with querying for format feature support when its handled
as R8G8B8.
Signed-off-by: Juston Li <justonli@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30080 >
2024-08-01 17:20:18 +00:00
Mike Blumenkrantz
827812912d
dri: link with libloader
...
this has always called loader_bind_extensions, so it should have been
linking with the loader
cc: mesa-stable
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reported-by: Yurii Kolesnykov <root@yurikoles.com >
Tested-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30449 >
2024-08-01 16:01:17 +00:00
Mike Blumenkrantz
c5c0c1215b
glx: include src/gallium for apple
...
Fixes: 91e1ea52c9 ("mesa_interface: Move out of GL/internal/")
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reported-by: Yurii Kolesnykov <root@yurikoles.com >
Tested-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30449 >
2024-08-01 16:01:17 +00:00
Mike Blumenkrantz
019cb3875d
glx: move up glx_driver enum declaration
...
Fixes: 4e8740370a ("glx: rework __glXInitialize")
Acked-by: Eric Engestrom <eric@igalia.com >
Reported-by: Yurii Kolesnykov <root@yurikoles.com >
Tested-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30449 >
2024-08-01 16:01:17 +00:00
Mike Blumenkrantz
1b6974095c
loader/dri3: delete loader_dri3_extensions
...
no longer used
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
c23385c42c
glx: delete DRI_IMAGE remnants
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
546d71044a
loader/dri: delete DRI_IMAGE remnants
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
d703e7f289
loader/dri3: inline DRI_IMAGE usage
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
35d518fcde
dri: use image loader function directly in dri_create_image_with_modifiers
...
it can't be anything else
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
2b042cb9c2
gallium: move loader_dri_create_image to dri frontend
...
this is another case of bad dependencies leaving dri the only place to
move something, which then exposes some other snags to be resolved later
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
10a80782e0
dri: make DRI_IMAGE public
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
7dded1ad88
glx: simplify DRI_IMAGE checks
...
this is guaranteed to be present and work and stuff
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
defe9e3585
glx: expose GLX_MESA_gl_interop for drisw
...
let the drivers determine support
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
4cd4b9f70d
glx: stop binding DRI_INTEROP
...
no longer useful since innermost functions return errors correctly
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
410076af84
glx: call dri interop functions directly
...
removes pointless layers of abstraction and deletes a bunch of code
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
634dea8f70
glx: delete more DRI_INTEROP checks
...
inner functions should return support correctly
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
51a2755f4f
glx: delete checks for interop support
...
the inner functions now return support correctly
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
b421abafbb
glx: inline DRI_INTEROP
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
012d20c6a3
dri: make DRI_INTEROP public
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
ec3ad889da
dri: delete DRI2_THROTTLE interface
...
unused
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
64a77a9017
glx: inline DRI2_THROTTLE
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
f2431a33d5
dri: make DRI2_THROTTLE public
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
d3ecf106e9
loader/dri3: delete DRI2_CONFIG_QUERY remnants
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
bcd63ffa9b
glx: inline DRI2_CONFIG_QUERY
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
2932d021aa
dri: remove __DRI2configQueryExtension param from swapinterval functions
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
0d83c570af
dri: move swapinterval functions from loader to dri frontend
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
98b62ee57f
dri: make DRI2_CONFIG_QUERY public
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
e8d4b0a253
dri: unify DRI2_CONFIG_QUERY interfaces
...
these should always be the same to check both option caches
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
b7c17a4f3b
loader/dri3: delete DRI2_FLUSH remnants
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
53fd2eca4e
glx: inline DRI2_FLUSH
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
326d7ae64a
loader/dri3: inline DRI2_FLUSH
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
0741e824cf
kopper: reuse dri2 invalidate
...
this should be fine
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
0c4813dd0b
dri: make DRI_FLUSH public
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
18c25edb94
glx: always expose GLX_ARB_context_flush_control
...
this is always supported
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
e678c4d271
dri: delete __DRI2_RENDERER_QUERY interface
...
now requires link_whole for dri target to retain symbols
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00
Mike Blumenkrantz
b8ca3d9b20
glx: inline __DRI2_RENDERER_QUERY
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450 >
2024-08-01 15:28:03 +00:00