Faith Ekstrand
1f430b1111
nak/nir: Make interpolate_at_sample more efficient
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
24d5acf052
nak/nir: Use prmt for barycentric offset lowering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
fffbd3ff2b
nak/nir: Use prmt in texture lowering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
bbccbd8d50
nir,nak: Add a nir_op_prmt_nv
...
We have this in hardware since forever and it's really useful. May as
well add it to NIR so we can use it in various lowerings.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
3619ec9630
nak: Don't print the destination of OpIpa twice
...
While we're here, also implement Display for InterpFreq and InterpLoc
and simplify printing a bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
ef88597ebb
nak/copy_prop: Ignore the top 16 bits of OpPrmt::sel
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
f949c00170
nak/copy_prop: Propagate OpSel with a selector of SrcRef::Zero
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Faith Ekstrand
cc33cafcac
nak/nir: Use an indirect load for sample locations
...
A single ldc is probably more efficient than a 64-bit load and the pile
of math we were generating before. The only reason for the old method
was that it let us avoid indirect cbuf loads because we didn't support
them for a while. Now that we can support all cbuf loads, we can just
do an indirect 1B load and call it good.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30218 >
2024-07-17 13:38:24 +00:00
Mike Blumenkrantz
f673e2bf68
winsys/radeon: switch to rendernode when card node doesn't work
...
initializing the winsys from a /dev/dri/cardX node (as discovered by
gbm) doesn't work, as the kernel abi expects a render node
thus, the winsys needs to open the card's rendernode and use that
everywhere except when importing buffers, where it has to explicitly
export from the card node and import to the rendernode
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30224 >
2024-07-17 13:20:48 +00:00
Mike Blumenkrantz
216ff9591b
winsys/radeon: wrap fd access with util function
...
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30224 >
2024-07-17 13:20:48 +00:00
Mike Blumenkrantz
ec2451fcb3
winsys/radeon: take the full winsys struct in radeon_get_drm_value()
...
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30224 >
2024-07-17 13:20:48 +00:00
Mary Guillemard
10d9bc3a2c
panfrost: Fetch available system memory
...
This reproduces panvk logic of showing how much memory is available
while taking into account the address space limits we have.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:11 +00:00
Mary Guillemard
02e38664f3
panfrost: Increase address space to 48-bit
...
Valhall can allow up to 48-bit of address space, we should reflect this
here to allow more memory to be mapped in the same address space when
possible.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:11 +00:00
Mary Guillemard
04685e732e
panfrost: Do not recreate bo if already mapped
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:11 +00:00
Mary Guillemard
3f2793ee10
panfrost: Rewrite set_global_binding to make resources truly global
...
Before this, CL buffers would not be attached to subsequent batches.
This fix spurious fails when running OpenCL CTS test_basic astype and
likely others.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:11 +00:00
Mary Guillemard
801922cbe6
bi: Implement basic 8-bit vec support
...
Not the most efficient approach but functional.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:11 +00:00
Mary Guillemard
368100d71c
bi: Enable lower_pack pass in compiler
...
Required for OpenCL
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:11 +00:00
Mary Guillemard
5420b73925
bi: Lower pack_32_4x8_split and pack_32_2x16_split in algebraic
...
Required for OpenCL.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:10 +00:00
Mary Guillemard
32ef369322
bi: Enable lower_pack_64_4x16
...
Required for OpenCL.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:10 +00:00
Mary Guillemard
02cea97629
bi: Clean up mem_access_size_align_cb
...
Also ensure that we never emit vector with more than 4 components.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:10 +00:00
Mary Guillemard
660218529c
rusticl: Add panthor when panfrost is present in RUSTICL_ENABLE
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30088 >
2024-07-17 12:04:10 +00:00
Eric Engestrom
e565873911
features.txt: specify that GL_ARB_depth_clamp is only supported on v3d/vc7+
...
Fixes: cbd3927445
("v3d: expose ARB_depth_clamp in V3D 7.x")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30185 >
2024-07-17 11:58:21 +00:00
Eric Engestrom
4e9c16b035
features.txt: specify that VK_EXT_depth_clip_enable is only supported on v3dv/vc7+
...
Fixes: 16f6f50ce4
("v3dv: expose VK_EXT_depth_clip_enable")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30185 >
2024-07-17 11:58:21 +00:00
Eric Engestrom
f5a93fa83b
features.txt: specify that VK_EXT_depth_clamp_zero_one is only supported on v3dv/vc7+
...
Fixes: f8623ea7da
("v3dv: adversise VK_EXT_depth_clamp_zero_one")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30185 >
2024-07-17 11:58:21 +00:00
Sergi Blanch Torne
e6de8e2533
ci: fix run_n_monitor single execution
...
When there is a single job as a target and, when it is triggered, it takes
more than one loop time in pending status, it confuses the script to fall in
a wrong return of the pipeline monitoring.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11517
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30219 >
2024-07-17 11:25:50 +00:00
Marek Olšák
15461dc62f
mesa: switch ID allocation to util_idalloc_sparse to reduce virtual memory usage
...
If the max ID was allocated, it caused virtual memory usage to increase
to 512 MB. This commit reduced it to 512 KB.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10968
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30106 >
2024-07-17 10:29:12 +00:00
Marek Olšák
d4085aaf56
util: add util_idalloc_sparse, solving the excessive virtual memory usage
...
The code comment in the header file describes how it works.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30106 >
2024-07-17 10:29:12 +00:00
Marek Olšák
ace7c32333
util: don't use variable names that can appear in args of idalloc foreach macros
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30106 >
2024-07-17 10:29:12 +00:00
Marek Olšák
287ed620d0
util: make util_idalloc_exists private
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30106 >
2024-07-17 10:29:12 +00:00
Faith Ekstrand
2d260314f1
nvk: Use the page size queried from NVKMD
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30138 >
2024-07-17 08:17:57 +00:00
Faith Ekstrand
68c06558be
nvk: Drop the sparse alignment back down to 4096
...
nouveau uses the OS page size which is almost always 4096. The next
patch will make this properly queried but this version is back-portable.
Fixes: 58181b7bbc
("nvk: Bump the sparse alignment requirement on buffers to 64K")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30138 >
2024-07-17 08:17:57 +00:00
Faith Ekstrand
bccb9fe091
nvk/nvkmd: nouveau uses the OS page size
...
It's the same, regardless of whether the memory comes from VRAM or
system RAM.
Fixes: 7f45d20d2b
("nvk/nvkmd: Be more specific about memory alignments")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30138 >
2024-07-17 08:17:56 +00:00
Iago Toral Quiroga
78c00fbc2c
v3d: rename job->clear to job->clear_tlb
...
This is more specific as to the type of clear it represents.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30205 >
2024-07-17 06:03:12 +00:00
Iago Toral Quiroga
4e19c139de
v3d: skip tlb loads when emitting clears with a draw call
...
We skip loading the tile buffer from memory if the job has flagged
a clear (job->clears) for the buffer, however, this only tracks
clears emitted via the TLB. In some cases we may need to fallback
to clearing with a draw call, in which case we also want to skip
the load.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30205 >
2024-07-17 06:03:12 +00:00
Timothy Arceri
c9f26a9995
glsl: fix cross validate globals
...
We want to skip the validation of compiler added global temps.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30199 >
2024-07-17 05:19:03 +00:00
Timothy Arceri
dde1a69929
glsl: set how_declared to hidden for compiler temps
...
This will be useful for the nir linker that otherwise cant detect these
compiler temps created in glsl ir.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30199 >
2024-07-17 05:19:03 +00:00
Icenowy Zheng
bb0efdd4d8
llvmpipe: add shader cache support for ORCJIT implementation
...
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30036 >
2024-07-17 04:39:19 +00:00
Timothy Arceri
60292b714c
mesa: add unreachable to _mesa_shader_stage_to_subroutine_prefix()
...
All the other subroutine functions in this file use an unreachable for
the equivalent switch.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11425
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30202 >
2024-07-17 02:02:03 +00:00
Paulo Zanoni
22fe73a86a
iris: fix iris_xe_wait_exec_queue_idle() on release builds
...
We need to call iris_wait_syncobj() on both release and debug builds,
so take it out of the assert() call. Only assert the result.
With this patch, gnome-session finally works for me. Also steam.
Fixes: 665d30b544
("iris: Wait for drm_xe_exec_queue to be idle before destroying it")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30195 >
2024-07-17 01:31:50 +00:00
José Roberto de Souza
4fd7cad05d
intel: Rename XE_PERF to XE_OBSERVATION
...
Xe KMD renamed XE_PERF to XE_OBSERVATION to better match with Intel
specification and avoid confusion.
This uAPI rename will land in the same kernel version that added
the uAPI being renamed.
There is no uAPI change, just renames.
Sync xe_drm.h with 63347fe031e3 ("drm/xe/uapi: Rename xe perf layer as xe observation layer").
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30027 >
2024-07-17 01:00:34 +00:00
Lucas Fryzek
40dbb6e8e8
egl/x11: Remove force software check for exporting SBWD
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910 >
2024-07-17 00:20:54 +00:00
Lucas Fryzek
ba1a6a7e38
egl/x11/sw: Implement shm support
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910 >
2024-07-17 00:20:54 +00:00
Lucas Fryzek
71a97b2047
vulkan/wsi: Update sw x11 wsi to only copy damage regions
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910 >
2024-07-17 00:20:54 +00:00
Lucas Fryzek
be050e34a7
egl/x11/sw: Implement swapbuffers with damage
...
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910 >
2024-07-17 00:20:54 +00:00
Mike Blumenkrantz
fb5afd804e
egl/x11/sw: plug in swap_buffers_with_damage handling
...
just some plumbing
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910 >
2024-07-17 00:20:54 +00:00
Mike Blumenkrantz
6088a0bf51
egl/x11/sw: fix partial image uploads
...
* swrast allocates images aligned to 64x64 tiles, which results in images
that are larger than the window. PutImage requests must be clamped on
the y-axis to avoid uploading/damaging out-of-bounds regions
* winsys coords are y-inverted
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910 >
2024-07-17 00:20:54 +00:00
Caio Oliveira
e3e712e74e
intel/elk: Convert missing uses of ralloc to linear in fs_live_variables
...
And use the non-zeroing variant in cases we are filling the data
immediately.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30201 >
2024-07-16 23:53:45 +00:00
Caio Oliveira
3700e49fff
intel/brw: Convert missing uses of ralloc to linear in fs_live_variables
...
And use the non-zeroing variant in cases we are filling the data
immediately.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30201 >
2024-07-16 23:53:45 +00:00
Samuel Pitoiset
117a93a550
zink/ci: remove redundant arb_shader_image_load_store skips on POLARIS10
...
This subset is already skipped at the end of the file.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30210 >
2024-07-16 23:35:01 +00:00
Samuel Pitoiset
78aab2db80
zink/ci: skip arb_shader_image_load_store also on NAVI31/VANGOGH
...
This subset hangs the GPU on NAVI10/POLARIS10 and I got a hang locally
on VANGOGH.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30210 >
2024-07-16 23:35:01 +00:00