Marek Olšák
c3fc214a98
radeonsi: implement user_data_amd for 5, 6, and 7 components correctly
...
NIR can't handle those component counts, so we have to split it into 2
SGPR vectors where each has max 4 components.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
882ee264a6
radeonsi: use ip_type in debug code instead of hardcoding GFX
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
e7000c02e4
radeonsi: always run nir_opt_16bit_tex_image
...
It optimizes constants in srcs to 16 bits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
18bcdbb634
radeonsi: only expose 8 EQAA samples due to shader limitations
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
256cc77f84
radeonsi: don't add whether NIR is used into the shader key
...
This is from when we had TGSI and NIR was a debug option.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
e5c8f0781c
radeonsi: make clear_render_target clear DCC directly instead of via pipe->clear()
...
This extracts the relevant parts from si_fast_clear.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
eccaba9dfa
radeonsi: enable fast FB clears for conditional rendering
...
They use compute shaders, which always support the render condition.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
9a47fbecd7
radeonsi: don't flush CB and DB if there have been no draw calls
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
f0160443a2
radeonsi: don't flush CB in si_launch_grid_internal_images if not needed
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
708f57e681
radeonsi: don't use si_get_flush_flags() for flushing images
...
si_make_{CB/DB}_shader_coherent are more correct.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
38f74d6277
radeonsi: disable VRS flat shading for selected 8xMSAA and thick tiling cases
...
for better slow clear performance
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
86131c25a1
radeonsi/gfx11: implement DCC clear to "single" for fast non-0/1 clears
...
If the clear color isn't 0 or 1, we used a slow clear. This adds a new
DCC clear where the DCC buffer is cleared to a special value and the clear
color is stored at the beginning of each 256B block in the image.
It can be very fast, but it's not always faster than a slow clear.
There is a heuristic that determines whether this new fast clear is
better.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
10ec468983
radeonsi: don't call resource_copy_region in pipe->blit
...
It's slower because it forces preservation of NaNs.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
26a5955821
radeonsi: change allow_flat_shading to make it a single condition
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
494cad56c4
radeonsi: remove si_use_compute_copy_for_float_formats
...
Gfx blits preserve NaNs now, so this is no longer needed.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
18b7b2c806
radeonsi: use simpler UINT fallback formats for draw-based resource_copy_region
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
8235d3aa19
radeonsi: preserve NaNs in draw-based resource_copy_region
...
Gfx copies are faster sometimes, so they should be able to copy anything.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
a03df53d3b
radeonsi: move blitter clear_render_target impl into si_gfx_clear_render_target
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
82e63db91f
radeonsi: move blitter resource_copy_region implementation to si_gfx_copy_image
...
for a new performance test.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
e94813204a
radeonsi: allow input NIR to use descriptors in image opcodes
...
Skip lowering because there is nothing to lower.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
30fab15f39
radeonsi: don't expose samples_identical and don't lower FMASK if it's disabled
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
dab4295cd5
radeonsi: fix initialization of occlusion query buffers for disabled RBs
...
GFX9+ should assume the enabled RB results are packed (no holes).
Same as PAL.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
aad2302cf5
radeonsi: move TCS epilog key bits to the key->ge.opt section
...
Since the TCS epilog is no more, this is required to apply those bits
to monolithic shaders.
tessfactors_are_def_in_all_invocs was unused.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
d29d215df7
radeonsi: check has_stable_pstate in the winsys
...
so that we don't duplicate the condition everywhere
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
a094339d64
radeonsi: add the radeonsi_optimize_io option into the shader cache key
...
otherwise the options would be ignored if the shader cache had already
cached the same shader with the option inverted.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
3630c11c3b
radeonsi: use the same nir_lower_subgroups_options as RADV
...
Some FREE calls are removed because nir_options is always NULL there.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
adde1dbae5
radeonsi/gfx11: enable DCC fast clears for 8-bit and 16-bit formats
...
They seem to work fine.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
d478693dc6
radeonsi/gfx11: don't prefetch constants in binaries into the instruction cache
...
Only prefetch shader instructions. There will be more GFX versions
in that list.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
71ae7b85ed
radeonsi/ci: update gfx11 failures
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:10 +00:00
Marek Olšák
665df08af4
ac/surface: constify and reindent NIR meta address-from-coord function params
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:09 +00:00
Marek Olšák
cce1aa4766
ac/llvm: always trim components of texture instructions, trim DMASK
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:09 +00:00
Marek Olšák
83a601d420
ac/llvm: fix assertions for texture instructions with 16-bit LOD bias
...
A16 dictates the type.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28725 >
2024-04-24 19:17:09 +00:00
José Roberto de Souza
708b0a7c23
intel/dev: Read GFX IP version during runtime
...
Starting from MTL there is registers in HW to read the IP version of
graphics, media and display IPs, those registers are called GMD.
IPs can be used in any combination to form a SOC/platform and each IP
has it own stepping/revision, making complex to track each IP stepping
using just PCI revision.
Since MTL will be supported by default by i915 KMD that don't have
a uAPI fetch IP versions, this feature will only be supported in LNL
and newer that are backed by Xe KMD.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26908 >
2024-04-24 18:06:04 +00:00
José Roberto de Souza
4d3fee0b40
intel: Sync xe_drm.h
...
Sync xe_drm.h with 31ced035ecde ("drm/xe/uapi: Restore flags VM_BIND_FLAG_READONLY and VM_BIND_FLAG_IMMEDIATE").
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26908 >
2024-04-24 18:06:04 +00:00
Tomeu Vizoso
a78e98f18e
etnaviv/nn: Keep track of the sign bit when decrementing to zero
...
To avoid underflow.
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
Tomeu Vizoso
9bac40b796
etnaviv/nn: Don't shortcut ZRL bits calculation
...
In some (probably malformed) cases, even weights BOs for strided or depthwise
convolutions can become bigger when using ZRL compression.
To avoid running out of space in the BO, play safe and calculate the
actual optimum ZRL bit count. This does slow compilation for quite a
bit, though (2x slower for MobileNetV1).
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
Tomeu Vizoso
d46e68c89a
etnaviv/nn: Enable image cache
...
By using the on-chip SRAM to cache the input image we can save some more
bandwidth and increase the utilization of the NN cores, with the
following improvements:
MobileNetV1: 9.991ms -> 6.2ms
SSDLite MobileDet: 27ms -> 24.3ms
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
Tomeu Vizoso
d6045ca502
etnaviv/nn: Move unused field to its right place in the struct
...
The blob sets it in some cases, but doesn't seem to make any difference.
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
Tomeu Vizoso
c75b512673
etnaviv/nn: Fix calculation of remaining out channels
...
We were wrongly counting the remaining number of output channels in the
last superblock, when the former isn't divisible by the latter.
MobileNetV1: 9.991ms -> 9.991ms
SSDLite MobileDet: 32.692ms -> 27ms
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
Tomeu Vizoso
baebd6f43d
etnaviv/nn: Ensure tile_y is > 0
...
A zero tile dimension doesn't make sense.
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
Tomeu Vizoso
e70ea63a17
teflon: Enable convolutions with number of output channels not divisible by 8
...
This was an old restriction during initial development which isn't
needed any more, and gives us a speed bump.
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28879 >
2024-04-24 17:47:44 +00:00
José Roberto de Souza
b143823727
intel/tools: Parse INSTDONE registers in Xe KMD error dump
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28722 >
2024-04-24 17:07:50 +00:00
José Roberto de Souza
c221ba6f75
intel/decoder: Add intel_print_group_custom_spacing()
...
This function has 2 additional parameters to set spacing before
printing register group dword or individual registers.
intel_print_group() is keept with the same spacing as before so no
changes on decoder output is expected here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28722 >
2024-04-24 17:07:50 +00:00
José Roberto de Souza
94deb24e2b
intel/tools/aubinator_error_decode: Move definition of option_color to header
...
Xe parser will also need to use the option_color parameter.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28722 >
2024-04-24 17:07:50 +00:00
Rohan Garg
7e5628749c
anv: use u_foreach_bit to iterate over the the view mask like we do for transition_clear_color
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28629 >
2024-04-24 16:42:07 +00:00
Rohan Garg
5efecc9782
anv: Enable HiZ on multi-LOD depth buffers.
...
Initial work by Rafael Antognolli <rafael.antognolli@intel.com >
Reworks
- Rebase to main
- Emit the right hiz op for higher mip levels when transitioning the
depth buffer
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28629 >
2024-04-24 16:42:06 +00:00
Martin Roukala (né Peres)
599e8bf921
ci/valve: remove the traces runner
...
This script is severely outdated and has had no use in literal years.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28902 >
2024-04-24 15:46:32 +00:00
Martin Roukala (né Peres)
a589225827
ci/b2c: allow setting the DTB to be used
...
This will be used by upcoming new CI jobs.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28902 >
2024-04-24 15:46:32 +00:00
Martin Roukala (né Peres)
2d442fc014
ci/b2c: rename .deqp-test-valve into .b2c-deqp-test
...
Let's remove the mention of Valve and instead focus on the b2c/ci-tron
origin.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28902 >
2024-04-24 15:46:32 +00:00
Martin Roukala (né Peres)
b084dbd44f
ci/b2c: rename .b2c-test-{vk,gl} to .b2c-x86_64-test-{vk,gl}
...
This will allow us to introduce non-x86_64 testing using CI-tron.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28902 >
2024-04-24 15:46:32 +00:00
Philipp Zabel
e2444ad6c1
etnaviv/nn: Extend post-multiplier for v8 architecture
...
The post-multiplier was extended by 8 bits for improved precision.
The shift offset appears to have changed as well.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28878 >
2024-04-24 15:26:37 +00:00
Philipp Zabel
c2290843df
etnaviv: Add nn_core_version field to etna_specs
...
Use the NN_XYDP0 and NN_VIP7 feature flags to determine the NN core
version [1] and store it in etna_specs.
[1] https://github.com/nxp-imx/linux-imx/blob/lf-6.1.36-2.1.0/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware_func.c#L5464-L5465
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28878 >
2024-04-24 15:26:37 +00:00
Philipp Zabel
db2d5a0103
etnaviv: hwdb: Add VIP_V7 and NN_XYDP0 feature bits
...
These can be used to detect the NN core architecture version [1].
[1] https://github.com/nxp-imx/linux-imx/blob/lf-6.1.36-2.1.0/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware_func.c#L5464-L5465
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28878 >
2024-04-24 15:26:37 +00:00
Mike Blumenkrantz
588c762936
zink: preserve/merge variable names when generating new variables
...
in the case where multiple variables get merged into one, try to use
all the names when creating new vars
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28814 >
2024-04-24 12:36:00 +00:00
Mike Blumenkrantz
cb597cb85e
nir/print: print io instr->name if available
...
this will always be more accurate than trying to find the name from
a variable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28814 >
2024-04-24 12:35:59 +00:00
Mike Blumenkrantz
948126368a
nir/clone: preserve intrinsic name field across clones
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28814 >
2024-04-24 12:35:59 +00:00
Mike Blumenkrantz
5303785bb9
nir/lower_io_to_scalar: preserve variable names when splitting io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28814 >
2024-04-24 12:35:59 +00:00
Mike Blumenkrantz
3541ed8502
nir: store variable names to io instrs during io lowering
...
this creates a reference between variables and their access instrs
before the variables are deleted, which improves debugging
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28814 >
2024-04-24 12:35:59 +00:00
Philipp Zabel
dbe2927472
etnaviv: Avoid duplicate query of ETNA_GPU_FEATURES_0 parameter
...
With the new hwdb, ETNA_GPU_FEATURES_0 were already queried inside
etna_gpu_new(). Use the stored PIPE_3D feature bit to determine
compatible cores.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28877 >
2024-04-24 12:13:49 +00:00
Philipp Zabel
4f123a7951
etnaviv: common: Add PIPE_3D feature bit
...
With this, we can drop the duplicated ETNA_GPU_FEATURES_0 query in
screen_create().
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28877 >
2024-04-24 12:13:49 +00:00
Connor Abbott
ff155f46a3
freedreno/a7xx: Register updates from kgsl
...
Will be necessary for kernel changes to match kgsl.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28883 >
2024-04-24 11:29:01 +00:00
Samuel Pitoiset
59d3a8ea07
ci: uprev CTS to 1.3.8.2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28871 >
2024-04-24 10:48:11 +00:00
Karol Herbst
cd5c9870ea
rusticl/program: handle -cl-no-subgroup-ifp
...
As per spec we don't have to do anything with that flag.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28873 >
2024-04-24 10:25:41 +00:00
Corentin Noël
ca861e8f75
ci: Add zink-venus-lvp job
...
Test Zink on Venus on Lavapipe.
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27790 >
2024-04-24 09:01:15 +00:00
Corentin Noël
e9dacca3f7
ci: Allow to pass LIBGL_ALWAYS_SOFTWARE to the guest environment
...
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27790 >
2024-04-24 09:01:15 +00:00
Iago Toral Quiroga
708a635902
broadcom/ci: document external causes for some CTS 1.3.8 failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28891 >
2024-04-24 06:59:53 +00:00
Yonggang Luo
1de805e986
nouveau: Fixes error: unused import: crate::nvh_classes_cl906f::*
...
Full error message:
error: unused import: `crate::nvh_classes_cl906f::*`
--> src/nouveau/headers/lib.rs:184:9
|
184 | pub use crate::nvh_classes_cl906f::*;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D unused-imports` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_imports)]`
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28855 >
2024-04-24 06:37:39 +00:00
Yiwei Zhang
4fc3f11545
venus: fix VkDeviceGroupSubmitInfo::deviceMask for feedback cmds
...
Unlike sync2, a legacy deviceMask of zero is indeed to skip.
Fixes: 80f532a636
("venus: fix VkDeviceGroupSubmitInfo cmd counts from feedback")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28888 >
2024-04-24 02:43:46 +00:00
Sagar Ghuge
46e4354940
intel/compiler: Disassemble mlen/rlen/ex_mlen in units of registers
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28637 >
2024-04-23 23:46:26 +00:00
Caio Oliveira
ff89e83178
intel/brw: Lower VGRFs to FIXED_GRFs earlier
...
Moves the lowering of VGRFs into FIXED_GRFs from the code generation
to (almost) right after the register allocation.
This will allow: (1) later passes not worry about VGRFs (and what they
mean in a post reg alloc phase) and (2) make easier to add certain
types of validation post reg alloc phase using the backend IR.
Note that a couple of passes still take advantage of seeing "allocated
VGRFs", so perform lowering after they run.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28604 >
2024-04-23 23:17:57 +00:00
Caio Oliveira
5b3d4c757d
intel/brw: Support FIXED_GRF when generating code for CLUSTER_BROADCAST
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28604 >
2024-04-23 23:17:57 +00:00
Pierre-Eric Pelloux-Prayer
b926cd3dd9
radv: don't use python 3.9 feature in radv_annotate_layer_gen.py
...
This commit adds an implementation of removesuffix so we don't
need the 'str' one which was added in 3.9.
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28831 >
2024-04-23 22:45:51 +00:00
Pierre-Eric Pelloux-Prayer
27a3880ada
aco: don't use python 3.7+ feature in aco_opcodes.py
...
Use the suggestion from https://stackoverflow.com/questions/11351032/named-tuple-and-default-values-for-optional-keyword-arguments
so the script works on older Python.
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28831 >
2024-04-23 22:45:51 +00:00
Sagar Ghuge
fe4f6dd18f
isl: Update shader channel select for missing components
...
Bspec 57023: RENDER_SURFACE_STATE::Shader Channel Select Red
"For channels not present in the surface format, the corresponding
Surface Channel Select is either SCS_ZERO or SCS_ONE."
This restriction applies to alpha channel as well if an associated
resource is not used as a render target.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28791 >
2024-04-23 22:08:30 +00:00
Sagar Ghuge
2d8686ccd5
isl: Update isl_swizzle_supports_rendering comment
...
Bspec 57023: RENDER_SURFACE_STATE:: Shader Channel Select Red
"Render Target messages do not support swapping of colors with
alpha. The Red, Green, or Blue Shader Channel Selects do not
support SCS_ALPHA. The Shader Channel Select Alpha does not support
SCS_RED, SCS_GREEN, or SCS_BLUE."
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28791 >
2024-04-23 22:08:30 +00:00
Mike Blumenkrantz
3a868970a2
zink: disable command reordering for compute-only contexts
...
this is pointless
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28880 >
2024-04-23 21:45:40 +00:00
Mike Blumenkrantz
ffb082f811
zink: make NOREORDER mode context-based
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28880 >
2024-04-23 21:45:40 +00:00
Mike Blumenkrantz
ef0c9231a7
mesa/st: don't use serialized_nir for cached shaders
...
serialized_nir doesn't exist here, so just use the cached nir
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11051
Fixes: 5eb0136a3c
("mesa/st: when creating draw shader variants, use the base nir and skip driver opts")
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28857 >
2024-04-23 21:06:31 +00:00
Leo Liu
dc85832c35
ac/gpu_info: Fix broken UVD firmware query
...
UVD and VCE are separated engines, and not co-exist with VCNs
Fixes: c34cfc1a3b
(ac/gpu_info: update multimedia info)
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28863 >
2024-04-23 20:26:14 +00:00
Job Noorman
f0ddba819f
freedreno/drm-shim: remove duplicate entry for a630
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28459 >
2024-04-23 20:03:51 +00:00
Job Noorman
1ffae320a8
freedreno/drm-shim: add a730, a740, and a750
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28459 >
2024-04-23 20:03:50 +00:00
Job Noorman
39088571f0
ir3: add support for predication
...
Use predication instead of branching whenever possible and profitable:
all divergent leaf branches are replaced with predication. Non-divergent
branches are kept since for those a branch might be more performant when
it jumps over all instructions. Although it might be possible to support
a limited form of nested predication, this is more difficult to
implement so we only support leaf branches for now.
When translating from NIR to ir3, predication is emitted just like
normal branches except that the branch is replaced with pred[tf] and the
opposite (pred[ft]) is inserted at the end of the then-block. This
pattern is then recognized during legalization at which point the
closing prede is inserted. We don't insert this right away to allow
opt_jump to optimize jumps out of the else-block. Since the branches we
support for predication always have exactly one block in each arm, the
then-block is emitted first, and blocks are never reordered, this way of
emitting predicated branches ensures they have the correct memory
layout.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27982 >
2024-04-23 19:18:29 +00:00
Job Noorman
bbc78e92ff
ir3: add support for precolored sources in predicate RA
...
To support predt/predf which always read from p0.x, we need to support
precolored sources for the predicates RA.
This patch implements this as follows: whenever a precolored source is
encountered whose def isn't live in the correct register, reload it into
the correct one. To make sure we don't reload too often, two precautions
are made. First, we precolor all defs of precolored sources and try do
use that register when allocating one for a def. Second, since currently
only p0.x is used for precoloring, we try not to allocate it whenever
there are outstanding precolored defs.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27982 >
2024-04-23 19:18:29 +00:00
Job Noorman
2288ef916c
ir3: model predt/predf without sources
...
We used to model predt/predf as taking a predicate register source. The
blob disassembler shows them taking a label argument. However, it seems
that both are incorrect: the condition is always taken from p0.x and I
have not been able to construct a test case were the label makes any
difference.
This patch changes predt/predf to not take any arguments and adds
documentation about how predicated execution works.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27982 >
2024-04-23 19:18:29 +00:00
Job Noorman
d56f1abd72
ir3: remove unnecessary tessellation epilogue
...
The tessellation epilogue was emitted as an empty predt/prede pair which
has no functional use so can be removed.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27982 >
2024-04-23 19:18:29 +00:00
David Heidelberg
44b080af07
meson: implement split-debug
...
split-debug uses C args `--gsplit-dwarf` and linker args `--gdb-index`
to achieve split debug, speed up the CI linking, and allow us to
distribute debug symbols standalone.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28576 >
2024-04-23 18:31:39 +00:00
Juan A. Suarez Romero
9d5af35318
nir/lower_clip: update inputs/ouputs read/written bitmask
...
Set the proper bit when adding clipdist load/store.
It also sets the variable name to match with the CLIPDISTn created.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28798 >
2024-04-23 17:52:09 +00:00
Samuel Pitoiset
2e79234f9d
ac: allow to use 64K of LDS for tessellation on GFX9+
...
This is the hardware limit and it's supposed to be working. GFX7-8 also
support 64KiB but Stoney used to hang in the past and using 32KiB was
the only known solution.
fossils-db (NAVI21):
Totals from 326 (0.41% of 79395) affected shaders:
MaxWaves: 6352 -> 6378 (+0.41%); split: +0.50%, -0.09%
Instrs: 232575 -> 232827 (+0.11%); split: -0.04%, +0.15%
CodeSize: 1256940 -> 1258744 (+0.14%); split: -0.04%, +0.18%
VGPRs: 17552 -> 17384 (-0.96%); split: -1.09%, +0.14%
LDS: 2828800 -> 3899392 (+37.85%)
Latency: 2937650 -> 2934667 (-0.10%); split: -0.30%, +0.20%
InvThroughput: 704214 -> 700854 (-0.48%); split: -0.51%, +0.04%
VClause: 4398 -> 4442 (+1.00%); split: -0.20%, +1.21%
SClause: 5297 -> 5292 (-0.09%); split: -0.32%, +0.23%
Copies: 14892 -> 14921 (+0.19%); split: -0.44%, +0.63%
PreVGPRs: 13294 -> 13293 (-0.01%); split: -0.06%, +0.05%
VALU: 156536 -> 156793 (+0.16%); split: -0.03%, +0.20%
SALU: 21806 -> 21795 (-0.05%)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28015 >
2024-04-23 17:20:40 +00:00
Samuel Pitoiset
fb323ae46b
radv: rework the number of tess patches computation
...
This uses the same helper as RadeonSI which seems more robust and more
optimal (eg. it reduces the number of patches to increase occupancy).
fossils-db (NAVI21):
Totals from 638 (0.80% of 79395) affected shaders:
MaxWaves: 13182 -> 13142 (-0.30%)
Instrs: 419446 -> 419322 (-0.03%); split: -0.08%, +0.05%
CodeSize: 2261408 -> 2261200 (-0.01%); split: -0.06%, +0.05%
VGPRs: 32560 -> 32600 (+0.12%)
LDS: 4648960 -> 5343232 (+14.93%); split: -1.67%, +16.61%
Latency: 4812105 -> 4811141 (-0.02%); split: -0.04%, +0.02%
InvThroughput: 1159924 -> 1153998 (-0.51%); split: -0.60%, +0.09%
VClause: 7837 -> 7871 (+0.43%); split: -0.36%, +0.79%
SClause: 9378 -> 9381 (+0.03%); split: -0.21%, +0.25%
Copies: 28451 -> 28211 (-0.84%); split: -0.97%, +0.13%
PreVGPRs: 25404 -> 25411 (+0.03%); split: -0.06%, +0.09%
VALU: 278086 -> 277975 (-0.04%); split: -0.11%, +0.07%
SALU: 43657 -> 43617 (-0.09%)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28015 >
2024-04-23 17:20:40 +00:00
Samuel Pitoiset
758e6d9005
ac,radeonsi: add helpers to compute the number of tess patches/lds size
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28015 >
2024-04-23 17:20:40 +00:00
Samuel Pitoiset
8b8d194bfb
radv: advertise VK_EXT_nested_command_buffer
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28826 >
2024-04-23 16:41:57 +00:00
Samuel Pitoiset
7de95e7742
radv: track if nested command buffers uses indirect draws
...
IB2 packets should be avoided when a cmdbuf executes nested cmdbufs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28826 >
2024-04-23 16:41:57 +00:00
Samuel Pitoiset
0d18a2f4fb
radv/amdgpu: do not use IB2 for nested command buffers
...
This should be enough to support executing nested command buffers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28826 >
2024-04-23 16:41:56 +00:00
José Roberto de Souza
1763d1aab1
iris: Avoid allocation of not needed iris_bucket_cache
...
Following the previous patch and allocating just the number of
iris_bucket_cache that will be used by giving platform.
While at it also adding util_vma_heap_finish() call in the
iris_bufmgr_create() error path.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28864 >
2024-04-23 15:59:01 +00:00
José Roberto de Souza
c473a156dc
iris: Avoid creation of slabs and cache buckets of lmem heaps in integrated gpus
...
It was allocating slabs and cache buckets data structs of lmem heaps
but those will never be used in integrated gpus, so lets avoid waste
cpu time and memory with those.
This will also remove slabs and cache buckets for
IRIS_HEAP_DEVICE_LOCAL_CPU_VISIBLE_SMALL_BAR for
discrete GPUs in systems with resizeble bar enabled.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28864 >
2024-04-23 15:59:01 +00:00
José Roberto de Souza
a51c64ac5c
iris: Add comments to BO_ALLOC flags
...
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28864 >
2024-04-23 15:59:01 +00:00
Connor Abbott
7a1779edc7
ir3: Don't pack FS inlocs
...
Thanks to transform feedback, we don't know which varying components
will be used when compiling the FS. The VS could use additional
components for xfb, and packing the inlocs per-component would result in
overlapping varyings. In order to do this properly, we'd need to create
a variant for the FS when used with xfb.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28626 >
2024-04-23 15:22:19 +00:00
Connor Abbott
56607fafc2
ir3: Don't use non-contiguous component masks for FS
...
I think this isn't necessary, and when we disable packing inlocs we will
start actually using the compmask computed here tests like
KHR-Single-GL46.enhanced_layouts.varying_components on zink will fail
unless we add the extra unused components at the beginning.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28626 >
2024-04-23 15:22:19 +00:00
Bas Nieuwenhuizen
d0c4b9144a
radv: Fix differing aspect masks for multiplane image copies.
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11050
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28867 >
2024-04-23 13:11:49 +00:00
Rhys Perry
37e9e8b06c
aco: split vop3p results
...
Removes copies in the case of:
a = fmul
b = fmul
c = vec4(a.x, a.y, b.x, b.y)
fossil-db (navi31):
Totals from 21 (0.03% of 79395) affected shaders:
Instrs: 96481 -> 96338 (-0.15%)
CodeSize: 548452 -> 548196 (-0.05%); split: -0.13%, +0.09%
Latency: 1514460 -> 1514238 (-0.01%); split: -0.02%, +0.00%
InvThroughput: 683048 -> 682942 (-0.02%); split: -0.02%, +0.00%
VClause: 1611 -> 1613 (+0.12%)
Copies: 21326 -> 21190 (-0.64%)
Branches: 2427 -> 2426 (-0.04%)
PreVGPRs: 2289 -> 2298 (+0.39%)
VALU: 59090 -> 58954 (-0.23%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28763 >
2024-04-23 12:31:59 +00:00
Rhys Perry
88e03feb27
aco: schedule LDS instructions
...
fossil-db (navi31):
Totals from 1823 (2.30% of 79395) affected shaders:
MaxWaves: 53845 -> 53827 (-0.03%); split: +0.02%, -0.05%
Instrs: 1736317 -> 1731200 (-0.29%); split: -0.38%, +0.09%
CodeSize: 8876760 -> 8857908 (-0.21%); split: -0.29%, +0.08%
VGPRs: 91688 -> 92276 (+0.64%); split: -0.03%, +0.67%
Latency: 11743095 -> 11698872 (-0.38%); split: -0.42%, +0.04%
InvThroughput: 2070526 -> 2067440 (-0.15%); split: -0.17%, +0.02%
VClause: 39048 -> 39058 (+0.03%); split: -0.01%, +0.03%
SClause: 35371 -> 35406 (+0.10%); split: -0.02%, +0.12%
Copies: 104335 -> 104384 (+0.05%); split: -0.21%, +0.26%
Branches: 29769 -> 29794 (+0.08%); split: -0.00%, +0.09%
VALU: 970925 -> 970974 (+0.01%); split: -0.01%, +0.02%
SALU: 146222 -> 146345 (+0.08%); split: -0.01%, +0.09%
VOPD: 1119 -> 1162 (+3.84%); split: +4.29%, -0.45%
fossil-db (navi21):
Totals from 37078 (46.70% of 79395) affected shaders:
MaxWaves: 990093 -> 990025 (-0.01%)
Instrs: 21130662 -> 21182543 (+0.25%); split: -0.01%, +0.26%
CodeSize: 110205364 -> 110415032 (+0.19%); split: -0.01%, +0.20%
VGPRs: 1407168 -> 1410768 (+0.26%)
Latency: 90024839 -> 89929196 (-0.11%); split: -0.11%, +0.01%
InvThroughput: 17170356 -> 17167412 (-0.02%); split: -0.02%, +0.00%
VClause: 392830 -> 392825 (-0.00%); split: -0.01%, +0.01%
SClause: 463150 -> 463188 (+0.01%); split: -0.00%, +0.01%
Copies: 1768433 -> 1768483 (+0.00%); split: -0.02%, +0.02%
Branches: 605989 -> 606011 (+0.00%); split: -0.00%, +0.00%
VALU: 11614810 -> 11614912 (+0.00%); split: -0.00%, +0.00%
SALU: 3794531 -> 3794655 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28763 >
2024-04-23 12:31:59 +00:00
Rhys Perry
0ee4fa33bc
aco: schedule LDSDIR instructions
...
fossil-db (navi31):
Totals from 33850 (42.63% of 79395) affected shaders:
MaxWaves: 1011236 -> 1011204 (-0.00%)
Instrs: 23589117 -> 23559185 (-0.13%); split: -0.21%, +0.08%
CodeSize: 126099716 -> 125968376 (-0.10%); split: -0.17%, +0.07%
VGPRs: 1348632 -> 1356012 (+0.55%); split: -0.09%, +0.63%
Latency: 183233795 -> 180997751 (-1.22%); split: -1.33%, +0.11%
InvThroughput: 27081576 -> 27056383 (-0.09%); split: -0.15%, +0.06%
VClause: 386453 -> 386551 (+0.03%); split: -0.11%, +0.13%
SClause: 811941 -> 813023 (+0.13%); split: -0.38%, +0.52%
Copies: 1279706 -> 1280051 (+0.03%); split: -0.46%, +0.49%
Branches: 416940 -> 416938 (-0.00%); split: -0.02%, +0.02%
VALU: 13566410 -> 13567367 (+0.01%); split: -0.04%, +0.04%
SALU: 1835804 -> 1835652 (-0.01%); split: -0.02%, +0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11013
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28763 >
2024-04-23 12:31:59 +00:00
Rhys Perry
0bc8a9be67
aco: make store clauses more aggressively
...
Apparently this significantly improves performance of a radeonsi resolve
shader.
fossil-db (navi31):
Totals from 2372 (2.99% of 79395) affected shaders:
MaxWaves: 59903 -> 59863 (-0.07%)
Instrs: 3508838 -> 3506178 (-0.08%); split: -0.10%, +0.02%
CodeSize: 18516272 -> 18505956 (-0.06%); split: -0.07%, +0.02%
VGPRs: 152708 -> 154604 (+1.24%)
Latency: 27881253 -> 27861445 (-0.07%); split: -0.07%, +0.00%
InvThroughput: 4076649 -> 4076220 (-0.01%); split: -0.03%, +0.02%
VClause: 92696 -> 89409 (-3.55%); split: -3.55%, +0.01%
Copies: 310787 -> 311697 (+0.29%); split: -0.03%, +0.32%
VALU: 1891048 -> 1891933 (+0.05%); split: -0.01%, +0.05%
VOPD: 2534 -> 2559 (+0.99%); split: +1.07%, -0.08%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11014
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28763 >
2024-04-23 12:31:59 +00:00
Rhys Perry
1bce498bbf
aco: include LDSDIR in latency/etc stats
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28763 >
2024-04-23 12:31:59 +00:00
Iago Toral Quiroga
6c73c9bb16
v3d/simulator: size counter_values array correctly on V3D 7.x
...
sim_state.perfcnt_total provides the total number of counters
supported by the underlying simulated platform and is what we
use when we create a perform to validate that the counters
requested are valid, so we should use this.
V3D_PERFCNT_NUM is a fixed enum value that is only valid for
V3D 4.2 at present and is not sufficiently large for all the
counters available in V3D 7.x.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28870 >
2024-04-23 11:20:08 +00:00
Tomeu Vizoso
0c0d62ba70
etnaviv/nn: Implement zero run length encoding of weights
...
Check how much smaller can the weight+bias buffers be with different
amount of bits to encode runs of zeroes and choose the smallest one.
This reduces the bandwidth considerably, which is at present the
bottleneck with useful models.
On a Libre Computer Alta AML-A311D-CC, I see these improvements:
MobileNetV1: 15.650ms -> 9.991ms
SSDLite MobileDet: 56.149ms -> 32.692ms
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27513 >
2024-04-23 10:55:24 +02:00
Erik Faye-Lund
1e78d9aaca
panfrost: use util_debug_message for perf_debug
...
This way, applications can get to know about performance issues when
they happen, using the debug callback mechanism.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28693 >
2024-04-23 10:09:41 +02:00
Erik Faye-Lund
ef4c6e9345
panfrost: perf_debug_ctx -> perf_debug
...
Now that we only call one of these, the other one is superfluous. So
let's combine them and use the shorter name for the result.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28693 >
2024-04-23 10:09:37 +02:00
Erik Faye-Lund
7655257c82
panfrost: use perf_debug_ctx instead of perf_debug
...
This allows us to use perf_debug_ctx() instead of perf_debug(), which
will help make things a bit cleaner down the line.
In order to do this, we also need to make sure we always have access to
the context, so let's also pass ctx to panfrost_should_linear_convert
while we're at it.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28693 >
2024-04-23 10:09:32 +02:00
Samuel Pitoiset
e4f945cd4a
vulkan: pass cmdbuf level to vk_command_buffer_ops::create()
...
RADV needs to know the command buffer level in the create() helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28861 >
2024-04-23 06:33:31 +00:00
Christian Gmeiner
1fb9e67f7e
etnaviv: drm: Drop NPU-related params
...
All of the NPU related DRM_ETNAVIV_GET_PARAM values, which got introduced in
6.9-rc1 of the kernel got removed before the 6.9 release. Clean-up our code base.
NPU support _NEEDS_ hwdb support and a recent stable kernel.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28837 >
2024-04-23 05:39:57 +00:00
Francisco Jerez
62aab1437e
intel/fs/gfx20+: Handle subdword integer regioning restrictions in copy propagation.
...
This makes sure that copy propagation doesn't undo the lowering of
restricted sub-dword integer regions done by brw_fs_lower_regioning().
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28698 >
2024-04-22 18:02:32 -07:00
Francisco Jerez
217d412360
intel/fs/gfx20+: Implement sub-dword integer regioning restrictions.
...
This patch introduces code to enforce the pages-long regioning
restrictions introduced by Xe2 that apply to sub-dword integer
datatypes (See BSpec page 56640). They impose a number of
restrictions on what the regioning parameters of a source can be
depending on the source and destination datatypes as well as the
alignment of the destination. The tricky cases are when the
destination stride is smaller than 32 bits and the source stride is at
least 32 bits, since such cases require the destination and source
offsets to be in agreement based on an equation determined by the
source and destination strides. The second source of instructions
with multiple sources is even more restricted, and due to the
existence of hardware bug HSDES#16012383669 it basically requires the
source data to be packed in the GRF if the destination stride isn't
dword-aligned.
In order to address those restrictions this patch leverages the
existing infrastructure from brw_fs_lower_regioning.cpp. The same
general approach can be used to handle this restriction we were using
to handle restrictions of the floating-point pipeline in previous
generations: Unsupported source regions are lowered by emitting an
additional copy before the instruction that shuffles the data in a way
that allows using a valid region in the original instruction. The
main difficulty that wasn't encountered in previous platforms is that
it is non-trivial to come up with a copy instruction that doesn't
break the regioning restrictions itself, since on previous platforms
we could just bitcast floating-point data and use integer copies in
order to implement arbitrary regioning, which is unfortunately no
longer a choice lacking a magic third pipeline able to do the
regioning modes the integer pipeline is no longer able to do.
The required_src_byte_stride() and required_src_byte_offset() helpers
introduced here try to calculate parameters for both regions that
avoid that situation, but it isn't always possible, and actually in
some cases that involve the second source of ALU instructions a chain
of multiple copy instructions will be required, so the
lower_instruction() routine needs to be applied recursively to the
instructions emitted to lower the original instruction.
XXX - Allow more flexible regioning for the second source of an
instruction if bug HSDES#16012383669 is fixed in a future
hardware platform.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28698 >
2024-04-22 18:02:07 -07:00
Mike Blumenkrantz
4cc975c6e9
glx: silence more implicit-load zink errors
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
e3ea55fef2
zink: don't print error messages when failing an implicit driver load
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
b53a402edc
pipe-loader: plumb a flag for implicit driver load through screen creation
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
744307289c
frontends/dri: plumb an 'implicit' param through screen init
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
4742d9bc1a
gbm: plumb an 'implicit' param through device creation
...
this is always true except in the software fallback
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
14c44aacff
dri: plumb a 'implicit' param through createNewScreen interfaces
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
014bbae4bf
glx: pass implicit load param through allocation
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
91c757bda1
glx: add an 'implicit' param to createScreen
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
1b9ee76369
glx: fix some indentation
...
ifdefs are hard
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Mike Blumenkrantz
0e8202cc24
loader: delete unused param from pipe_loader_vk_probe_dri()
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28139 >
2024-04-22 23:25:58 +00:00
Guilherme Gallo
4b81ee6418
ci/lava: Fix how exception entry in structured log
...
Improves the error logging in the LAVA job submitter by capturing and
logging the exception message rather than just the exception type when a
job fails to run.
Additionally, introduces a clearer script interruption
message to aid in debugging and immediate understanding of job
submission failures.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28778 >
2024-04-22 21:20:07 +00:00
Guilherme Gallo
e96e25f323
ci/lava: Don't run jobs if the remaining execution time is too short
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28778 >
2024-04-22 21:20:07 +00:00
Guilherme Gallo
3e33171471
ci/lava: Introduce unretriable exception handling
...
This commit refactors the exception hierarchy to differentiate between
retriable and fatal errors in the CI pipeline, specifically within the
LAVA job submission process.
A new base class, `MesaCIRetriableException`, is introduced for
exceptions that should trigger a retry of the CI job, while
`MesaCIFatalException` is added for non-recoverable errors that halt the
process immediately.
Additionally, the logic for deciding whether a job should be retried or
not is updated to check for instances of `MesaCIRetriableException`,
improving the robustness and reliability of the CI job execution
strategy.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28778 >
2024-04-22 21:20:07 +00:00
Guilherme Gallo
5363874676
ci/lava: A few formatting cleanups
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28778 >
2024-04-22 21:20:07 +00:00
Caio Oliveira
13093ceb3c
intel/brw: Move validate out of fs_visitor
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28534 >
2024-04-22 13:38:41 -07:00
Caio Oliveira
671d216f39
intel/brw: Remove two duplicated validate calls in optimizer
...
The OPT macro will call validate() after each pass, so both cases
removed by this patch are just redundant calls. Will only affect
Debug builds since in Release builds validation is a no-op.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28534 >
2024-04-22 13:38:41 -07:00
Caio Oliveira
8a6fe54409
intel/brw: Refactor FS validation macros
...
Use `a` and `b` (already identified as that in the output message)
instead of `f` and `s` for the two values being compared, since in
a later patch `s` will be used to hold the fs_visitor shader.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28534 >
2024-04-22 13:38:41 -07:00
Echo J
d184808124
nvk: Don't advertise residencyAlignedMipSize on MaxwellB+
...
DXVK/vkd3d-proton require this feature to be advertised as VK_FALSE for FL12 support:
https://github.com/doitsujin/dxvk/blob/v2.3.1/src/d3d11/d3d11_features.cpp#L305
https://github.com/HansKristian-Work/vkd3d-proton/blob/v2.12/libs/vkd3d/device.c#L7426
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28850 >
2024-04-22 20:11:49 +00:00
Echo J
be940a7dc6
nvk: Use implicit pipeline cache
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28851 >
2024-04-22 14:37:59 -05:00
Faith Ekstrand
59bba821ef
nvk: Hash ycbcr conversions in the descriptor set layout hash
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28851 >
2024-04-22 14:37:59 -05:00
Echo J
0f46e279ba
vulkan: Add implicit pipeline caching support
...
This mirrors RADV's pipeline behavior (which is more performant
when programs like DXVK don't use the pipeline cache functionality)
Drivers need to set the implicit cache variable to use this though
(the next patch will enable this for NVK)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28851 >
2024-04-22 14:37:59 -05:00
Eric R. Smith
dae6b6a23d
panfrost: fix an incorrect stencil clear optimization
...
We track stencil clears and writes to optimize them. Unfortunately, the
code for doing this tracks the whole resource, not individual layers or
levels within the resource, which can result in incorrect output when
different levels or layers are accessed. Modified to optimize only the first
layer/level; this will handle the common case of a single stencil texture
while allowing arrays or mipmaps to still work (albeit slightly slower).
The original optimization was introduced in a2463ec271
("panfrost:
Constant stencil buffer tracking") but the code has been reformatted
since then, so this change won't apply as-is that far back (although it's
fairly obvious how to apply it by hand).
Fixes: a2463ec271
("panfrost: Constant stencil value tracking")
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28832 >
2024-04-22 16:43:51 +00:00
Mike Blumenkrantz
e89123ec73
zink: prune some piglit cts fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28859 >
2024-04-22 16:16:59 +00:00
Yonggang Luo
bf2df78575
broadcom/common: Now "util/box.h" is under src, so remove the FIXME
...
Remove the redundant inc_gallium_aux and inc_gallium
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28854 >
2024-04-22 15:01:34 +00:00
Tomeu Vizoso
ef111f5f07
etnaviv: Don't init the blitter in compute-only contexts
...
Otherwise, we hit this assertion:
etna_vertex_elements_state_create: Assertion `buffer_idx < screen->specs.stream_count' failed.
As specs.stream_count can be zero in GPUs that are compute only.
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28848 >
2024-04-22 14:28:46 +00:00
Samuel Pitoiset
095e3af2b0
radv: add RADV_DEBUG=psocachestats to report per-pipeline cache hits/misses
...
This can be useful to make sure precompilation works as expected.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28829 >
2024-04-22 13:54:05 +00:00
Samuel Pitoiset
1f4ee45914
radv: rework pipeline cache search helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28829 >
2024-04-22 13:54:05 +00:00
Samuel Pitoiset
bbe52934b6
radv: use radv_pipeline::sha1 for graphics/compute pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28829 >
2024-04-22 13:54:05 +00:00
Samuel Pitoiset
6e24da3ad4
radv/rt: move radv_ray_tracing_pipeline::sha1 to radv_pipeline
...
To re-use it for graphics/compute pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28829 >
2024-04-22 13:54:05 +00:00
Samuel Pitoiset
862d53f00a
radv/rt: remove unnecessary param to radv_ray_tracing_pipeline_cache_insert()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28829 >
2024-04-22 13:54:05 +00:00
Robert Mader
6bbf8a08a4
panfrost: Use pipe resource helper
...
Like we already do in panfrost_resource_get_param().
While on it, update the later to use pan_resource() again for
consistency. No functional changes intended.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28362 >
2024-04-22 13:28:41 +00:00
Rhys Perry
e0db4b458b
radv: cache RT stage info
...
If a RT pipeline misses the cache but it's imported stages hit the cache,
then can_inline might be false when it should be true.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28788 >
2024-04-22 11:55:26 +00:00
Joshua Ashton
122455b686
radv: Properly initialize imageCreateFlags in GetPhysicalDeviceVideoFormatPropertiesKHR
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28841 >
2024-04-22 11:33:39 +00:00
Eric Engestrom
ba32ea6da3
llvmpipe/ci: update expectations after piglit uprev
...
Fixes: ec45e8294c
("Uprev Piglit to f7ece74a107a2f99b2f494d978c84f8d51faa703")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28853 >
2024-04-22 10:56:45 +00:00
Eric Engestrom
dc387e000c
radeonsi/ci: update vangogh expectations after piglit uprev
...
Fixes: ec45e8294c
("Uprev Piglit to f7ece74a107a2f99b2f494d978c84f8d51faa703")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28852 >
2024-04-22 12:14:44 +02:00
M Henning
6b22fff658
nvk: Don't use a descriptor cbuf if it's too large
...
This fixes a test on vkd3d-proton commit 836446ce25
VKD3D_TEST_FILTER=test_typed_buffers_many_objects_dxil build/tests/d3d12
Fixes: f1c909edd5
("nvk/nir: Add cbuf analysis to nvi_nir_lower_descriptors()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28844 >
2024-04-22 08:45:37 +00:00
M Henning
f6301a7727
nak: Count GLOBAL_SIZE_OFFSET in bytes, not words
...
This matches what nvk_mme_dispatch_indirect expects
Fixes: 16f2249a
("nvk: Use the NAK helpers to fill QMDs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28844 >
2024-04-22 08:45:37 +00:00
Boris Brezillon
34ffa4cd10
nir/lower_blend: Fix nir_blend_logicop() for 8/16-bit integer formats
...
src and dst can be integer types, and doing an f2f on such types
messes up with the original value. Make sure we keep the original type
when {up,down}sizing the src, dst and out values.
Fixes: f3de2bd6c2
("nir: Add blend lowering pass")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28839 >
2024-04-22 09:58:41 +02:00
Marek Olšák
e5f133ccc4
util: import pipe_box and its helpers
...
We'll use them. There are also new helpers that we'll use.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28733 >
2024-04-22 01:42:52 +00:00
Marek Olšák
959891e33f
util: add new format helpers
...
we'll use them
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28733 >
2024-04-22 01:42:52 +00:00
Gert Wollny
2bb102f020
r600/sfn: Don't put b2f64 conversion into ALU group
...
There is no need to pin the ops into channels because
these are 32 bit ops that can be executed independent
from each other.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
v2: grammar fixes (lorn10)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28840 >
2024-04-21 19:06:02 +00:00
Gert Wollny
07995b98a8
r600/sfn: when emitting fp64 op2 groups pre-load values
...
Since the group is created from the onset, we have to make
sure that four or eight src values don't have a readport
conflict, so force a pre-loading of the values to registers
evenly distributed over the channels and let copy-propagation
take care of cleaning up un-neccesary moves.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28840 >
2024-04-21 19:06:02 +00:00
Gert Wollny
36c81b5e88
r600/sfn: call nir_lower_doubles explicitely
...
Fixes: 5218cff34b
nir/algebraic: avoid double lowering of some fp64 operations
v2: grammar fixes (lorn10)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28840 >
2024-04-21 19:06:02 +00:00
Gert Wollny
bf44ce61bb
r600/sfn: Use dependecies to order barriers and LDS/RAT instructions
...
This gives more freedom to schedule the group barrier and removes
the need to add blocks around a barrier to keep the scheduler in
check. This should avoid emitting some CF instructions.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11002
Fixes: fe881bf097
r600/sfn: move kill handling fully to scheduling
v2: grammar fixes (lorn10)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28840 >
2024-04-21 19:06:02 +00:00
Gert Wollny
a61b658d5f
r600/sfn: Add array element parent also to array
...
This is probably overdoing debendencies in many cases,
but it fixes a bug where scheduling goes wrong.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10984
Fixes: ddb167e81a
r600/sfn: Handle indirect array load/store dependencies better
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28840 >
2024-04-21 19:06:02 +00:00
Manuel Stoeckl
04f232ed99
util/disk_cache: try getenv(HOME) before getpwuid->pw_dir
...
getenv("HOME") is significantly faster than getpwuid_r(...)->pw_dir,
because the latter may require loading NSS libraries, reading
/etc/passwd, etc.
Furthermore, the Linux man pages for getpwuid_r recommend using
getenv("HOME") instead of getpwuid_r, because the user may wish to
change the value of HOME after logging in.
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com >
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13614 >
2024-04-20 13:43:50 +00:00
Konstantin
c2b1555a57
ac/parse_ib: Always print the value of the whole register
...
ac_dump_reg is used by radv for dumping descriptors when writing a hang
report. Including the hex-value of the whole register help correlating
descriptors with SGPR values in the UMR wave dump.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28759 >
2024-04-20 08:29:23 +00:00
Konstantin
f4c6664d4b
radv/debug: Dump descriptor binding information
...
Can be useful for correlating offsets with descriptors.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28759 >
2024-04-20 08:29:23 +00:00
Konstantin
e27deed2ab
radv/debug: Try to find unbound shaders
...
Use radv_find_shader to correlate shaders to PCs.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28759 >
2024-04-20 08:29:23 +00:00
Konstantin
23c167f826
radv: Canonicalize addresses in radv_find_shader
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28759 >
2024-04-20 08:29:23 +00:00
Konstantin
48b79a18c5
radv/debug: Canonicalize shader addr
...
The most significant bits of the PC are cleared.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28759 >
2024-04-20 08:29:23 +00:00
Konstantin
9778e1b9a0
ac/debug: Handle the output of recent umr versions
...
umr was changed to always display the human readable format.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10127
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28759 >
2024-04-20 08:29:22 +00:00
Timur Kristóf
65f5f1559f
ac/nir/ngg: Fix packing 16-bit MS outputs.
...
Fixes: 9f36fba9be
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28765 >
2024-04-20 09:30:34 +02:00
Timur Kristóf
c6c9da0336
ac/nir/lower_legacy_gs: Implement packed 16-bit GS outputs in non-dedicated slots.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28765 >
2024-04-20 09:30:32 +02:00
Timur Kristóf
abfce64880
ac/nir/lower_legacy_vs: Implement packed 16-bit VS/TES outputs in non-dedicated slots.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28765 >
2024-04-20 09:30:30 +02:00
Timur Kristóf
4a11323513
ac/nir/ngg: Implement packed 16-bit GS outputs in non-dedicated slots.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28765 >
2024-04-20 09:30:28 +02:00
Timur Kristóf
0f85f9060b
ac/nir/ngg: Implement packed 16-bit VS/TES outputs in non-dedicated slots.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28765 >
2024-04-20 09:30:10 +02:00
Robin Kertels
d097a60d57
nvk: Advertise VK_KHR_shader_subgroup_rotate.
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27863 >
2024-04-19 21:05:14 +00:00
Robin Kertels
714acf7d21
nak: Enable lowering rotate to shuffle.
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27863 >
2024-04-19 21:05:14 +00:00
Faith Ekstrand
42b85780c6
nil: Advertise S8_UINT on MaxwellB+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596 >
2024-04-19 15:43:14 -05:00
Faith Ekstrand
58b5f6b678
nil: Be more speicific about Maxwell in the format table
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596 >
2024-04-19 15:43:14 -05:00
Faith Ekstrand
4821c49ca7
nil: add s8 pte kind
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596 >
2024-04-19 15:43:14 -05:00
Faith Ekstrand
208f8ed429
nil: Use the enums from the hwref headers for PTE kinds
...
This isn't an exact translation. It's identical to the previous values
for all uncompressed items but I fixed some of the compressed ones
(which we don't currently use) based on the enum names.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596 >
2024-04-19 15:43:14 -05:00
Faith Ekstrand
51ffb45b5c
nouveau/headers: Add the MMU headers to the Rust crate
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596 >
2024-04-19 15:43:14 -05:00
Faith Ekstrand
3bd8a2568d
nouveau: Import the hwref headers from Nvidia OGK
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596 >
2024-04-19 14:20:35 -05:00
Faith Ekstrand
16f2249a80
nvk: Use the NAK helpers to fill QMDs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28756 >
2024-04-19 18:56:03 +00:00
Faith Ekstrand
9ace83603d
nvk: QMDs are 64 dwords
...
All the QMD structs are 2048 bits which, unless I'm doing my math wrong,
is 64 dwords, not 128.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28756 >
2024-04-19 18:56:03 +00:00
Faith Ekstrand
b9c0e3c1ab
nak: Add helpers for filling QMDs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28756 >
2024-04-19 18:56:03 +00:00
Faith Ekstrand
64f02ac16d
nouveau/headers: Generate Rust for QMDs
...
This also involves adding array support to the struct parser.
Fortunately, the header files for QMDs are really consistent here and we
can make lots of assumptions like that i is always the index variable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28756 >
2024-04-19 18:56:02 +00:00
Faith Ekstrand
20c1a69125
nouveau/headers: Move the classes into a submodule for Rust
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28756 >
2024-04-19 18:56:02 +00:00
Faith Ekstrand
7e87f3ccde
nvk: Restrict shaderFloat16 to Ampere+ for now
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28756 >
2024-04-19 18:56:02 +00:00
Valentine Burley
4850aebcaf
tu: Replace TU_FROM_HANDLE with VK_FROM_HANDLE
...
It was exactly the same thing.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28571 >
2024-04-19 18:00:12 +00:00
Ian Romanick
a5adbae6f6
nir: intel/brw: Remove cmat_signed_mask from dpas_intel intrinsic
...
It is not used. The signedness is inferred from src_type and dest_type.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28822 >
2024-04-19 09:53:29 -07:00
Ian Romanick
2ce558d928
intel/brw: Fix handling of cmat_signed_mask
...
For integer types, the signedness is determined by flags on the muladd
instruction. The types of the sources play no role. Previously we were
using the signedness of the type and ignoring the mask.
Adjust the types passed to the dpas_intel intrinsic to match.
Fixes various
dEQP-VK.compute.*.cooperative_matrix.khr_*.matrixmuladd_cross.* tests on
different Intel platforms. Some platforms had failing tests, and some
platforms failed EU validation before the tests could fail.
Fixes: 6b14da33ad
("intel/fs: nir: Add nir_intrinsic_dpas_intel")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28822 >
2024-04-19 09:53:27 -07:00
Mike Blumenkrantz
ce05a7c3a2
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28723 >
2024-04-19 14:47:10 +00:00
Mike Blumenkrantz
6fe0cfdc09
zink: vectorize io loads/stores when possible
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28723 >
2024-04-19 14:47:10 +00:00
Mike Blumenkrantz
3c673919c3
zink: run nir_lower_io_to_scalar (mostly) unconditionally and earlier
...
this fixes some cases with separate shaders where an output component
store was eliminated early but the input component load was not also
eliminated
some outputs can't yet be scalarized without exploding everything
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28723 >
2024-04-19 14:47:10 +00:00
Mike Blumenkrantz
4b2fe347b1
zink: copy shader name when copying shader info
...
this needs a separate allocation
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28723 >
2024-04-19 14:47:10 +00:00
Samuel Pitoiset
390479e948
zink/ci: update CI lists since piglit uprev
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28830 >
2024-04-19 14:25:08 +00:00
José Roberto de Souza
18d8c3ca33
anv: Add missing ANV_BO_ALLOC_INTERNAL
...
Some places doing driver internal allocations was not setting
ANV_BO_ALLOC_INTERNAL, so adding the flag in those places here.
This will increase the accuracy of the RMV report.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28677 >
2024-04-19 13:15:01 +00:00
Connor Abbott
bfa189b6e8
docs/android: Improve instructions for replacing driver
...
"adb remount -R" doesn't actually remount partitions read/write, it just
enables the overlayfs and it needs to be followed by "adb remount" after
rebooting to actually remount.
Also, patchelf seems to work for changing the soname and is probably
better than hacking meson.build.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28812 >
2024-04-19 12:39:31 +00:00
Connor Abbott
57abef5af1
docs/android: Fix example meson cross file
...
The system needs to be android, or else we run into the libarchive build
error fixed in 735fe243a7
:
In file included from ../subprojects/libarchive-3.7.2/libarchive/archive_write_open_memory.c:33: ../subprojects/libarchive-3.7.2/libarchive/archive.h:101:10: fatal error: 'android_lf.h' file not found
Also, it uses the aarch64 clang but "cpu = 'armv8'", which doesn't
work (armv8 is the 32-bit version). Use aarch64 as presumably intended.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28812 >
2024-04-19 12:39:31 +00:00
Connor Abbott
61b2bd861f
ir3: Rewrite nop insertion
...
Don't try to chase across blocks to find a matching destination for a
given source. This can be prone to exponential blowup when there is a
complicated series of if-ladders and we have to crawl through every
possible path. With scalar ALU, this was causing timeouts on one test
when we stopped counting scalar ALU. Rather than adding yet more
band-aids, just switch to a different approach that most other backends
are using where we have a scoreboard of outstanding registers and we
keep track of the cycle when each register becomes "ready". This
integrates nicely into the pre-existing ir3 legalize infrastructure for
(ss) and (sy), although it does require duplicating the logic in
ir3_delayslots() in a different form.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28750 >
2024-04-19 12:02:59 +00:00
Connor Abbott
9df3323564
ir3/legalize: Fix intra-block state propagation with loops
...
At the beginning of each block we were taking the state for the current
block, which after traversing the block already will contain the state
at the *end* of the block, and combining it with the predecessors to get
the state for the *start* of the block. This will cause
over-synchronization.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28750 >
2024-04-19 12:02:58 +00:00
Sergi Blanch Torne
ec45e8294c
Uprev Piglit to f7ece74a107a2f99b2f494d978c84f8d51faa703
...
dd6f7eaf82...f7ece74a10
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28820 >
2024-04-19 11:25:20 +00:00
Mary Guillemard
6c00441bfa
panvk: Advertise VK_KHR_driver_properties
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28715 >
2024-04-19 11:03:22 +00:00
Mary Guillemard
f7f9b3d170
panvk: Move to vk_properties
...
This remove GetPhysicalDeviceProperties2 in favor of vk_properties.
This report the same values as previous on vulkaninfo.
In case some missing values, the same values as the ARM proprietary
driver were used.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28715 >
2024-04-19 11:03:22 +00:00
Mary Guillemard
a9f170f613
panvk: Fix driver UUID not being filled
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28715 >
2024-04-19 11:03:22 +00:00
Mary Guillemard
a0f80774ce
panvk: Return os_page_size for minMemoryMapAlignment
...
The spec says "When mapping a memory allocation with vkMapMemory,
subtracting offset bytes from the returned pointer will always produce
an integer multiple of this limit", meaning the OS page size.
As the page size depends on the kernel configuration, this should be
queried at runtime.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28715 >
2024-04-19 11:03:22 +00:00
Boris Brezillon
c040283e7a
panvk: Dissociate UBO and push_constant emission
...
Now that push constants are pushed to the FAU buffer, we can dissociate
UBO preparation from push constant preparation, and have
panvk_cmd_prepare_push_constants() called explicitly from
panvk_cmd_draw()/panvk_CmdDispatch().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28397 >
2024-04-19 10:41:51 +00:00
Boris Brezillon
0721de3bb9
panvk: Stop lowering push constant loads to UBO loads
...
Now that we populate the push constant array properly, and the bifrost
compiler lowers dynamic push constant indexing, we can kill the push
constant lowering pass we had in panvk.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28397 >
2024-04-19 10:41:51 +00:00
Boris Brezillon
46e764c5e1
panvk: Pass the push constant array to draw/dispatch calls
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28397 >
2024-04-19 10:41:51 +00:00
Boris Brezillon
04d7b9c396
panvk: Stop declaring one push constant array per graphics stage
...
The push constant array is shared by all stages anyway, so let's just
declare one array. While at it, change the name into push_uniforms to
be consistent with the name we have in panvk_dispatch.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28397 >
2024-04-19 10:41:51 +00:00
Eric Engestrom
fac41af93c
rpi4/ci: add new flakes from last night's run
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28827 >
2024-04-19 10:14:35 +00:00
Eric Engestrom
2d24561da9
rpi4/ci: sort flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28827 >
2024-04-19 10:14:35 +00:00
Eric Engestrom
3432abd611
rpi5/ci: add flakes from last night's run
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28827 >
2024-04-19 10:14:35 +00:00
Eric Engestrom
e34850ea23
rpi5/ci: sort flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28827 >
2024-04-19 10:14:35 +00:00
David Rosca
9bfb07586c
radv/video: Implement per picture type min/max QP
...
Bump required FW version for VCN 1 and 2.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28727 >
2024-04-19 09:51:07 +00:00
David Rosca
694cc4728d
radv/video: Avoid resetting rate control every frame
...
begin() resets rate control state, calling it every frame will cause
issues such as not reaching the desired target bitrate.
Rate control only has to be reset when changing rate control mode,
otherwise it's enough to update the parameters.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28727 >
2024-04-19 09:51:06 +00:00
David Rosca
1000260ed8
radv/video: Set maxSublayerCount to 4 for H265
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28727 >
2024-04-19 09:51:06 +00:00
Eric Engestrom
b65341fd3a
docs/ci: explain how gitlab considers "changes" when pushing on a fork branch
...
And add a workaround for people hitting this unexpected behaviour.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28809 >
2024-04-19 09:42:42 +00:00
Juan A. Suarez Romero
ea1f09a5f2
v3dv/ci: update expected list
...
Add new failures due CTS upgrade.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28824 >
2024-04-19 09:19:09 +00:00
Timur Kristóf
b3c6b48493
ac/nir/tess: Use LDS IO mapping when loading tess levels from LDS.
...
By accident, the VRAM mapping was used. This doesn't cause issues
in practice because the offsets are really the same, but it's still
better to fix this.
Fixes: c61eb54806
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28739 >
2024-04-19 08:54:24 +00:00
Timur Kristóf
0fdb388698
ac/nir/tess: Split I/O mapping to two functions.
...
No functional changes, just improves code clarity.
Fixes: c61eb54806
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28739 >
2024-04-19 08:54:24 +00:00
Timur Kristóf
2d9e38dbe5
radv: Calculate VRAM tess patch size independently of LDS size.
...
We recently made some effort to reduce the LDS use of TCS:
The lowering no longer uses the same output location mapping when
storing TCS outputs to LDS and VRAM. This means that the same
patch will use a different amount of LDS and VRAM.
Therefore, we need to properly calculate the patch size in VRAM
when determining the number of output patches.
Fixes: 0e481a4adc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28739 >
2024-04-19 08:54:23 +00:00
Timur Kristóf
8190a65c78
radv: Rename LDS related variables in get_tcs_num_patches.
...
No functional changes, just improves code clarity.
Fixes: 0e481a4adc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28739 >
2024-04-19 08:54:23 +00:00
Samuel Pitoiset
54b08d6bbf
radv: return per plane requirements for disjoint images
...
Returning the whole image size/alignment isn't wrong but it's wasteful
for disjoint images which requires a separate bound memory object per
plane.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10997
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28808 >
2024-04-19 08:17:55 +00:00
Samuel Pitoiset
e18cc3b39b
radv: fix waiting for occlusion queries on GFX6-8
...
Occlusion queries don't go through L2 on GFX6-8, and waiting properly
in shaders is more complicated to implement. Use the previous
WAIT_REG_MEM logic on these GPUs to fix this.
This fixes flickering on many games on GFX8.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8954
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9415
Fixes: d44651bfc3
("radv: wait for occlusion queries in the resolve query shader")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28796 >
2024-04-19 07:36:37 +00:00
Mary Guillemard
fe1aa98ab9
nak: Allow SHF to use immediate encoding for shift
...
This is pretty common and avoid using a register for nothing in most
cases.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28819 >
2024-04-19 07:18:22 +00:00
Eric Engestrom
f008f6a33b
util/futex: replace double-cast check with a simple sign check
...
We want to know whether the signed int can be represented by an unsigned int
of the same size (no down-cast); for that, all we need is for it to be `>= 0`,
so let's check that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28804 >
2024-04-19 06:38:58 +00:00
Mike Blumenkrantz
042b8a65d3
brw/lower_a2c: fix for scalarized fs outputs
...
it's legal for a fs to write xyzw components separately,
and this pass should handle such cases
cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28752 >
2024-04-18 23:27:22 +00:00
Jordan Justen
4e5ed7ebd5
intel/brw: Avoid getting a stride of 0 for nir_intrinsic_exclusive_scan
...
Ref: 671745b616
("intel/fs: Don't allow 0 stride on MOV destination")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28821 >
2024-04-18 23:03:57 +00:00
Ian Romanick
90e12ed843
intel/brw/xe2+: Only apply Wa 22016140776 to math instructions
...
The check in has_invalid_src_region incorrectly omitted inst->is_math()
from the condition.
Fixes: 0e817ba548
("intel/brw/xe2+: Implement Wa 22016140776")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28821 >
2024-04-18 23:03:57 +00:00
Lucas Fryzek
112063a060
llvmpipe: Only use udmabuf if header is found
...
Fixes #11032
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28810 >
2024-04-18 22:20:58 +00:00
Lucas Fryzek
053b5f3e0c
llvmpipe: Only return null resource handle when dt is not mapped
...
Fixes #10995
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28810 >
2024-04-18 22:20:57 +00:00
Robin Kertels
639fe038ce
nvk: Enable EXT_nested_command_buffer.
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27856 >
2024-04-18 21:40:18 +00:00
Faith Ekstrand
8d56c89b55
nvk: Improve the unsupported handle type error
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28714 >
2024-04-18 20:25:07 +00:00
Arthur Huillet
9542449397
nvk: remove useless MME scratch 26 usage
...
The blob uses MME shadow scratch 26 to indicate whether or not it is running in
a simulated environment (not real hardware). If true, the SET_FALCON04
firmware method used to modify PRI registers isn't used.
As Nouveau only runs on real hardware, this is useless and can be removed.
Tested by running dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_bvec2_fragment,
which exposes the original issue with a ~50% failure rate on RTX3080
(when disabling the register write altogether). With this change, the
success rate remains at 100%.
Signed-off-by: Arthur Huillet <ahuillet@nvidia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28714 >
2024-04-18 20:25:07 +00:00
Iván Briano
164c0951a0
anv, hasvk: check requirements for USAGE_INPUT_ATTACHMENT properly
...
If the format doesn't support the COLOR_ATTACHMENT or DEPTH_STENCIL
features, it can't be used as an input attachment.
Fixes future CTS tests: dEQP-VK.api.info.unsupported_image_usage.*
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28818 >
2024-04-18 20:04:39 +00:00
Paulo Zanoni
f3e97d30d9
anv: const-correct anv_{image,buffer}_is_sparse()
...
I had to do this in a debugging session when I wrote some extra code
to debug sparse issues. I also have a pending patch that will require
this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
1cca5e8b32
anv/sparse: fail the right way in anv_GetDeviceImageSparseMemoryRequirements()
...
If an application tries to call
vkGetDeviceImageSparseMemoryRequirements() for an image that's not
supported by Sparse, then anv_image_init_from_create_info() will fail
and we will either hit the assertion in case of a debug build or just
pretend everything works in case of a release build. Properly return
no properties to signal the image is not supported.
The spec is not clear in specifying that this is what should be done
in this case, but this behavior should match the other
query-properties-from-sparse-images-we-didn't-create-yet functions
such as vkGetPhysicalDeviceSparseImageFormatProperties().
No known application outside my computer is tripping on this failure.
I discovered it when writing my own micro test cases for MSAA sparse.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
10ee2a510a
anv/xe: rename and refactor xe_exec_fill_sync()
...
While it lived inside anv_batch_chain.c it made sense to call this
function xe_exec_fill_sync() because, well, the function was used to
fill the sync objects for the xe execbuf ioctl. Now that the function
is exported to the .h file and accessible to the rest of the driver,
let's give it a name that reflects what it does instead of what it was
used for when it was static: call it vk_sync_to_drm_xe_sync() because
it converts a vk_sync to a drm_xe_sync.
Also let's bikeshed the implementation so that it returns the struct
it builds: this should make callers cleaner and easier to understand.
No functional changes, only bikeshedding.
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/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
1c9b13119e
anv/xe: de-duplicate xe_exec_fill_sync()
...
I had accidentally hardcoded an alternative implementation in
xe_vm_bind_op().
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/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
5346442e74
anv/xe: assert we're using drm_syncobjs only once
...
Everything on our xe.ko backend is built on top of this assertion.
Assert it during driver initialization and just don't bother with it
anymore later.
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/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
045182092e
anv/xe: slightly improve error handling for the vm_bind ioctl
...
The reason we made the vm_bind ioctl return DEVICE_LOST on error is
that we thought there wasn't anything we could do if the ioctl failed.
Thomas Hellstrom pointed us that in case the system is under memory
pressure ENOMEM will be returned and there are things we can try to do
to make it work: either free memory or do fewer bind operations per
ioctl. For now let's just return the appropriate error for the case
(OUT_OF_HOST_MEMORY) so that maybe applications can try to something
about it. In the next patch we'll implement an additional strategy to
try to make things work.
Due to an unrleated failure, our CI system has also pointed out that
we were submitting invalid arguments, so we were getting an EINVAL.
Although we fixed that, these situations really shouldn't happen and
they should be easy to detect, so just put an assertion there, which
will make it easier for us developers to spot any issues.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
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/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
f17d7655fe
anv/xe: add a 'flags' parameter to the vm_bind() kmd_backend function
...
For now there's only one flag, but we're about to add another.
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/28792 >
2024-04-18 19:42:27 +00:00
Paulo Zanoni
15b6f321af
anv/xe: extract anv_vm_bind_to_drm_xe_vm_bind()
...
The xe_vm_bind_op() function is already way too big for my tiny little
brain. Make it 42 lines shorter.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
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/28792 >
2024-04-18 19:42:27 +00:00
José Roberto de Souza
461794554a
intel/tools/error2hangdump: Add Xe KMD support
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
0db081f096
intel/tools/error2hangdump: Move i915 parser to a function
...
This is needed so we can run i915 or xe function depending on
the error dump.
No changes in behavior expected here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
52d2d4ae2c
intel/tools/error2hangdump: Move code that will be shared with Xe parser to error2hangdump_lib
...
No changes in behavior expected here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
a7651d8337
intel/tools: Move more Xe KMD error decode functions to error_decode_xe_lib
...
More code tha now is used by aubinator_error_decode but in next
patches will also be used by error2hangdump.
No changes in behavior expected here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
9b58301766
intel/tools: Move ascii85_decode_char() to error_decode_lib
...
This was re-implemented in several places, so lets share it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
33bc079050
intel/tools: Move Xe KMD error decode functions to a separated file
...
This functions are now used by aubinator_error_decode but will
also be used by error2hangdump tool.
More functions will be moved in the next patches.
No changes in behavior expected here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
80b8deaabb
intel/tools/error2hangdump: Replace drm_i915_gem_engine_class by intel_engine_class
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:41 +00:00
José Roberto de Souza
3c3fd352b1
intel/tools/error2hangdump: Print out_filename when failed to open it
...
It was printing the in_filename.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720 >
2024-04-18 19:12:40 +00:00
Timur Kristóf
3279abd494
radv: Rename per_vertex_shaded_mask to explicit_strict_shaded_mask.
...
This better describes what it actually is.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28764 >
2024-04-18 18:35:07 +00:00
Timur Kristóf
3dd758f72c
radv: Allow using high 16 bits of PS input slots.
...
Add a new float16_hi_shaded_mask to keep track of which PS input
slots use their high 16 bits, based on the high_16bits of the
NIR IO semantics. Then, set ATTR1_VALID accordingly.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28764 >
2024-04-18 18:35:07 +00:00
Timur Kristóf
12c0c20ed1
radv: Remove superfluous bool arg from slot_to_ps_input.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28764 >
2024-04-18 18:35:07 +00:00
Timur Kristóf
a4cf36998f
radv: Refactor emitting PS input types.
...
Instead of taking a lot of booleans, refactor offset_to_ps_input
to take an enum which represents the PS input type. This helps
code readability as we keep adding more and more input types.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28764 >
2024-04-18 18:35:07 +00:00
Timur Kristóf
c471aed748
radv: Only consider interpolated inputs as 16-bit float.
...
Enabling FP16_INTERP_MODE makes no sense for other types of inputs.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28764 >
2024-04-18 18:35:07 +00:00
Timur Kristóf
afb08ee244
radv: Run DCE before deleting I/O variables.
...
Apparently, nir_lower_io leaves dead code in shaders, which
prevented us from deleting the IO variables properly.
Fixes: dbfb96f08f
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28764 >
2024-04-18 18:35:07 +00:00
Boris Brezillon
0c1cf20e83
panvk/ci: Re-enable copy_and_blit tests
...
Apparently something fixed the copy tests that were failing.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28811 >
2024-04-18 18:09:58 +00:00
Boris Brezillon
21775a459f
panvk: Add support for KHR_push_descriptor
...
Most of the panvk_descriptor_set logic can be re-used, we just need
to provide intermediate helpers that can be used for both the push set
and regular set population logic (which implies passing our own storage
for the SW descriptor UBO instead of assuming it's always backed by a
BO).
Once this is done, we add temporary storage to the panvk_cmd_buffer
object, and populate the push sets at draw time.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28178 >
2024-04-18 17:26:49 +00:00
Mike Blumenkrantz
160dd5bf2b
zink: add VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR for shaderdb
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28815 >
2024-04-18 16:34:37 +00:00
Mike Blumenkrantz
fd6468a5ae
zink: destroy shaderdb pipelines
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28815 >
2024-04-18 16:34:37 +00:00
Mike Blumenkrantz
b7b51295bf
zink: add ZINK_DEBUG=nopc to completely disable precompilation
...
I hack this in all the time for debugging anyway
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28766 >
2024-04-18 16:07:07 +00:00
Mike Blumenkrantz
a83fd26d0e
nir/print: stop trying to match i/o vars using base/driver_location
...
this is broken
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28552 >
2024-04-18 15:30:47 +00:00
Boris Brezillon
52cc12b8d2
panvk/ci: Enable dEQP-VK.pipeline.monolithic.*
...
We regressed a pipeline.monolithic test when switching to dynamic
rendering and this went unnoticed because
dEQP-VK.pipeline.monolithic.* is not run.
With this addition, execution time is too long to fit in a single job,
so we split VK tests in 2 and only run half of the tests, which should
be okay as long as we keep the tests manual.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
a8a0051086
panvk/ci: Make sure we catch GPU faults
...
PAN_MESA_DEBUG=sync allows us to abort on faults.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
d49ca71554
panvk: Abort on fault when PANVK_DEBUG=sync
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
9a8dae1bf8
panvk: Make sure we use the proper format for views of depth+stencil images
...
The view format doesn't take into account the internal image format
layout when only one aspect is selected. We need to patch the pipe_format
manually in that case.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
7d8bfe405d
panvk: Skip tiler jobs when the vertex shader doesn't write the position
...
Fixes the dEQP-VK.pipeline.monolithic.no_position.* tests.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Erik Faye-Lund
d5c2d152a5
panfrost: implement a driver-specific max-miplevel
...
The previous define was common for all panfrost code, but for Vulkan we
should probably use the real hardware-limits. So let's introduce a
GL-driver specific define here, and use that instead. This lets us
change the other define to the real HW limitation.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
2b1db3de7b
panvk: Fill maxCustomBorderColorSamplers
...
dEQP-VK doesn't seem to test it, but the validation layer complains.
Pick a randomly high value, since there's no physical limit on the
custom border color (this is part of the sampler descriptor).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
10a631f767
panvk: Re-order things in panvk_physical_device_init()
...
We need to know the GPU architecture when we initialize the physical
device properties/features. This implies creating the kmod device and
querying its properties early.
While at it, simplify the error path so we just have one entry point.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
a261e6c4ea
panvk: Swizzle the border color on v7 when the format is BGR
...
pan_texture.c tweaks the texture swizzle for BGR formats on v7 to
support AFBC(BGR). We need to take that into account when preparing
the border color.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
5e07edd4f6
panvk: Don't advertize vertex_buffer cap on sRGB formats
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
294406bba2
panvk: Make sure we have a decode context created when we need one
...
The sync and dump options also need a valid decode context.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
0eec8b0ff6
panvk: Fix depth/stencil image views
...
Vulkan wants an R001 pattern, where the depth/stencil is stored in
the red component, but the pan_format/texture logic gives us RRRR.
Tweak the swizzle so we get what Vulkan wants.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
b40dad1d59
panvk: Make sure we pick a valid wrap_mode_r value for unnormalizedCoordinates
...
When unnormalizedCoordinates is true, we can only use CLAMP_TO_EDGE or
CLAMP_TO_BORDER. This also puts a constraint on the viewType (1D or 2D),
which means we should ignore addressModeW and pick a default that works
fine with the unnormalizedCoordinates case.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
b9fe15e47f
panvk: Fix has_non_vs_attribute() test in panvk_draw_prepare_vs_attribs()
...
attrib_count should be checked against pipeline->attribs.attrib_count
not pipeline->attribs.buf_count.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
58a5ae3f72
panvk: Fix img2buf copies with image X offset not aligned on 16 pixels
...
There are probably better ways of handling copies, but the whole thing
will disappear with the transition to vk_meta. The only reason we fix
it now is so we can enable more tests in CI and catch potential
regressions.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
7b06393257
panvk: Don't assume pViewportState != NULL
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
f1d8a65d7f
pan/bi: Extend bi_emit_texc() to support wider direct tex/sampler idx
...
The current code was doing some assumptions on the maximum
texture/sampler sizes which no longer stand with panvk. Add explicit
range checks on the direct texture/sampler_index.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
feffe7fd2a
panvk: We don't support resolve operations yet
...
Make sure we crash when resolveMode != VK_RESOLVE_MODE_NONE in the
vkCmdBeginRendering() path instead of silently ignoring resolve
arguments.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
3b6c2cf0f0
panvk: Make sure the sample_pattern is set in the tiler descriptor
...
This field should match the one defined in the framebuffer descriptor.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:57 +00:00
Boris Brezillon
47a98bbe34
panvk: Fill pan_tls_info::wls::instances
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Boris Brezillon
3c3476bae8
panvk: Fix input attachment support
...
Lower input attachments to texture operations as it was meant to be
according to the set layout accounting, and fix the descriptor set
logic to fill texture descriptors instead of image descriptors.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Boris Brezillon
502a1ca300
pan/bi: Allow subpass sampler dims
...
Those are just regular 2D[MS] textures.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Boris Brezillon
51ab0a4c25
panvk: Don't assume VkGraphicsPipelineCreateInfo::pColorBlendState != NULL
...
When the subpass being associated to a graphics pipeline has no color
attachment, pColorBlendState can be NULL.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Boris Brezillon
303f04d346
pan/bi: Support fragment store_output() with a non-zero offset
...
Fragment color outputs can be defined as a vec4 array. As long as the
indexing is not dynamic, we can add the constant offset passed to
the store_output() intrinsic to the RT index we extracted from the
location.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Boris Brezillon
df4e3e4777
panvk: Fix the colorAttachmentCount check in begin_rendering_init_fbinfo()
...
colorAttachmentCount should be less that or equal the number of RT slots,
not strictly less than.
Fixes: 595d362d4b
("panvk: Implement dynamic rendering entry points")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Boris Brezillon
cb9ad5e44b
panvk: Fix attach-less rendering
...
VkRenderingInfo without any attachment is a perfectly valid use case.
Make sure we don't end up asserting on fbinfo width/height being zero
in that case.
Fixes: 595d362d4b
panvk: Implement dynamic rendering entry points
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417 >
2024-04-18 15:04:56 +00:00
Eric Engestrom
b3e6ef964f
util: simplify loop logic in util_format_get_first_non_void_channel()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28800 >
2024-04-18 14:26:37 +00:00
Eric Engestrom
71b93f63dd
radv: initialize a couple of variables
...
Because musl will lose (in the next commit) the ability to see that they are initialized...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28800 >
2024-04-18 14:26:37 +00:00
Eric Engestrom
05c4c17f91
wsi/x11: drop unused param in x11_present_to_x11_sw()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28806 >
2024-04-18 13:51:48 +00:00
Eric Engestrom
8b53127e9f
docs/rusticl: add an intro explaining what Rusticl is
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28807 >
2024-04-18 13:32:45 +00:00
Eric Engestrom
ae5231a0de
vk/overlay-layer: simplify print and make it more readable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805 >
2024-04-18 12:56:39 +00:00
Eric Engestrom
0e61560266
vk/overlay-layer: fix None checks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805 >
2024-04-18 12:56:39 +00:00
Eric Engestrom
fc5fa08d89
vk/overlay-layer: drop unused imports
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805 >
2024-04-18 12:56:39 +00:00
Eric Engestrom
acf1c7dc73
lavapipe: add 1 new failure and 1 new timeout since CTS uprev to 1.3.8.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28803 >
2024-04-18 12:22:19 +00:00
Eric Engestrom
aeab27cc24
egl: drop dead dri2_dpy param in dri2_wl_visual_idx_from_config()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28528 >
2024-04-18 11:22:49 +00:00
Eric Engestrom
7350b65669
etnaviv: avoid re-defining prog_python
...
It's already defined to the exact same thing in the root `meson.build`
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28801 >
2024-04-18 10:03:08 +00:00
Samuel Pitoiset
b67f9b4d0d
radV/ci: reduce the parallelism of navi21 to 3
...
With CTS 1.3.8.0 the execution time has been reduced a lot.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28795 >
2024-04-18 09:24:22 +00:00
Samuel Pitoiset
6ee39b1870
radv/ci: update lists for TAHITI and Zink/Polaris10
...
1f4662cc4e
introduced regressions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28795 >
2024-04-18 09:24:22 +00:00
Samuel Pitoiset
e85b2641a1
radv/ci: add one more flake since CTS 1.3.8.0 for RENOIR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28795 >
2024-04-18 09:24:22 +00:00
Iago Toral Quiroga
1070c9b0e7
broadcom/compiler: enable perquad with uses_wide_subgroup_intrinsics
...
This fixes a number of regressions in Vulkan subgroups tests in CTS.
Fixes: 97f5721bfc
('broadcom/compiler: needs_quad_helper_invocation enable PER_QUAD TMU access')
cc: mesa-stable
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28797 >
2024-04-18 09:00:56 +00:00
Vignesh Raman
fbd6da9bcd
ci: handle missing dri libraries during listing
...
Upreving mesa in drm-ci causes the below error,
ls -1 '/install/lib/dri/*_dri.so'
ls: cannot access '/install/lib/dri/*_dri.so': No such file or directory
trap_err 2
Allow the script to continue execution even if listing dri
libraries command fails.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28782 >
2024-04-18 07:47:12 +00:00
Faith Ekstrand
e297fb1bd5
nil: cbindgen is required
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28794 >
2024-04-17 23:16:31 -05:00
Samuel Pitoiset
40f39482e1
ci: uprev CTS to vulkan-cts-1.3.8.0
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27459 >
2024-04-17 21:22:36 +00:00
Mike Blumenkrantz
974b3ab964
zink: disable buffer reordering correctly on shader image binds
...
the unordered flags must be set after the barrier to avoid the
scenario where the barrier checks buffer usage and resets the flags
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28787 >
2024-04-17 20:59:40 +00:00
Yiwei Zhang
737bae4267
venus: fix swapchain image memory bind
...
Fixed dEQP-VK.wsi.*.swapchain.simulate_oom.image_swapchain_create_info
Fixes: 36f639375b
("venus: use STACK_ARRAY to simplify BindImageMemory2")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28790 >
2024-04-17 18:32:42 +00:00
Mike Blumenkrantz
dd02ea3769
egl: use os_get_option for MESA_LOADER_DRIVER_OVERRIDE
...
this is better for android
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28570 >
2024-04-17 17:19:27 +00:00
Mike Blumenkrantz
6f13b201ad
egl/android: fix zink loading
...
should be as simple as checking whether zink is being used
cc: mesa-stable
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28570 >
2024-04-17 17:19:27 +00:00
Mike Blumenkrantz
ff37271ea7
egl: fix defines for zink's dri3 check
...
if mesa is built without dri3 then dri3 should/can not be checked
cc: mesa-stable
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28570 >
2024-04-17 17:19:27 +00:00
Nanley Chery
e3a5ade9ee
intel/isl: Disable miptails to align LODs for CCS WA
...
For HSD 22015614752, we enabled Tile64 to ensure image subresources are
64K aligned. However, we neglected to disable miptails so some image
miplevels actually did not achieve the desired image alignment. Do that
now.
Fixes: c6686fda28
("intel/isl: Use Tile64 to align images for CCS WA")
Reported-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28703 >
2024-04-17 16:52:11 +00:00
Derek Foreman
e2260b8152
vulkan/wsi/wayland: Remove unused get_min_image_count_for_mode_group
...
This function has no callers.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28786 >
2024-04-17 11:04:05 -05:00
Patrick Lerda
4f5e9a21c5
panfrost: remove panfrost_create_shader_state() related dead code
...
The pointer "xfb" is allocated with a clone of "so->nir" and lost
without further processing.
The function panfrost_shader_compile() was the one processing "xfb".
The call of this function was removed with the commit 40372bd720
.
This makes "xfb" not required anymore.
For instance, this issue is triggered on a Mali-T820 with
"piglit/bin/arb_transform_feedback2-change-objects-while-paused -auto":
Indirect leak of 32776 byte(s) in 1 object(s) allocated from:
#0 0xf78f30a6 in malloc (/usr/lib/libasan.so.6+0x840a6)
#1 0xee9cd4ee in ralloc_size ../src/util/ralloc.c:118
#2 0xee9cf7ae in create_slab ../src/util/ralloc.c:801
#3 0xee9cf7ae in gc_alloc_size ../src/util/ralloc.c:840
#4 0xef74ab82 in nir_undef_instr_create ../src/compiler/nir/nir.c:888
#5 0xef76212c in clone_ssa_undef ../src/compiler/nir/nir_clone.c:328
#6 0xef76212c in clone_instr ../src/compiler/nir/nir_clone.c:438
#7 0xef7642d8 in clone_block ../src/compiler/nir/nir_clone.c:501
#8 0xef7642d8 in clone_cf_list ../src/compiler/nir/nir_clone.c:555
#9 0xef7657dc in clone_function_impl ../src/compiler/nir/nir_clone.c:632
#10 0xef766cb8 in nir_shader_clone ../src/compiler/nir/nir_clone.c:743
#11 0xf007673e in panfrost_create_shader_state ../src/gallium/drivers/panfrost/pan_shader.c:434
#12 0xeeb6766c in st_create_common_variant ../src/mesa/state_tracker/st_program.c:781
#13 0xeeb71d1c in st_get_common_variant ../src/mesa/state_tracker/st_program.c:834
#14 0xeeb72ea2 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1320
#15 0xeeb72ea2 in st_finalize_program ../src/mesa/state_tracker/st_program.c:1421
#16 0xef3806ec in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:748
#17 0xef3806ec in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:984
#18 0xef2992f6 in link_program ../src/mesa/main/shaderapi.c:1336
#19 0xef2992f6 in link_program_error ../src/mesa/main/shaderapi.c:1445
Fixes: 40372bd720
("panfrost: Implement a disk cache")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28743 >
2024-04-17 15:20:10 +00:00
Derek Foreman
642d32045f
vulkan/wsi/wayland: Fix use after free
...
In 7eaceb0392
I called pthread_mutex_unlock() with a member of a freed
structure.
We can unlock as soon as this element is removed from the list it was in,
so just move the unlock to before the free.
Fixes 7eaceb0392
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28432 >
2024-04-17 14:43:18 +00:00
Samuel Pitoiset
74615bb704
radv: clear color attachments without exports before compaction
...
For PS epilogs, this isn't necessary because spi_shader_col_format is
already cleared. This will help for implementing color attachment
remapping because colors_written is always the original mapping.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28781 >
2024-04-17 13:58:37 +00:00
José Roberto de Souza
68a91242dc
anv: Remove protected memory types from default_buffer_mem_types
...
Without this application could allocate protected memory buffers
and use it in non-protected queues.
Fixes: c6a91f1695
("anv: add new heap/pool for descriptor buffers")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28769 >
2024-04-17 13:33:29 +00:00
Mike Blumenkrantz
fc691d9f37
lavapipe: disable stencil test if no stencil attachment
...
stencil test must not be enabled if there is no stencil attachment
fixes dEQP-VK.pipeline.*.stencil.no_stencil_att.dynamic_rendering.*
fixes #10990
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28772 >
2024-04-17 12:50:13 +00:00
Connor Abbott
5363f7cce5
freedreno,tu: Disable UBWC for storage images on a750
...
Fixes: a80a23dc49
("tu: Enable UBWC for storage images on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28749 >
2024-04-17 09:55:13 +00:00
Connor Abbott
c234c502aa
freedreno: Make has_ibo_ubwc a7xx specific
...
It's not supported on a6xx, and the next commit will disable it on a750.
Fixes: a80a23dc49
("tu: Enable UBWC for storage images on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28749 >
2024-04-17 09:55:13 +00:00
Eric Engestrom
5c842d95aa
ci: delete mistaken duplicate llvmpipe-{fails,skips}.txt
...
These were added, likely by mistake, in 54050d8844
, and never used, but
they are causing problems because they overwrite the proper files from
src/gallium/drivers/llvmpipe/ci/, causing CI failures because the wrong
file is used.
Fixes: 54050d8844
("svga/ci: land vmware mesa-ci lava farm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28773 >
2024-04-17 09:06:36 +00:00
Samuel Pitoiset
26d9e9bdb5
radv/rt: add radv_rt_pipeline_compile()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28760 >
2024-04-17 06:54:36 +00:00
Samuel Pitoiset
07f3b9aaed
radv/rt: insert shaders to cache right after they are compiled
...
No need postpone this.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28760 >
2024-04-17 06:54:36 +00:00
Samuel Pitoiset
6dc5b6ee60
radv/rt: rework handle_from_stages to pass hashes directly
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28760 >
2024-04-17 06:54:36 +00:00
Samuel Pitoiset
6979b1ea3d
radv/rt: initialize shader group capture/replay in a separate function
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28760 >
2024-04-17 06:54:36 +00:00
Samuel Pitoiset
3738331afe
radv/rt: remove unnecessary pipeline parameter to radv_generate_rt_shaders_key()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28760 >
2024-04-17 06:54:36 +00:00
Samuel Pitoiset
29338d85a0
radv/rt: remove unnecessary pipeline parameter to radv_rt_fill_group_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28760 >
2024-04-17 06:54:36 +00:00
Joshua Ashton
763b4e992c
radv: Enable KHR_video_queue if encode is enabled
...
KHR_video_encode_queue is dependent on KHR_video_queue.
Not exposing this makes encode-only usecases not functional,
eg. SteamVR Link.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28779 >
2024-04-17 04:18:49 +01:00
Stéphane Cerveau
363a90d0c4
vulkan/video: hevc: b-frames can be reference or not
...
b-frames can be considered as reference, so the NAL type
should refer to reference type and either RASL or TRAIL
depending on the irap_pic_flag.
Fixes: 72f52329c
("vulkan/video: add a nal_unit lookup for hevc")
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28657 >
2024-04-17 01:45:54 +00:00
Jose Maria Casanova Crespo
eb4dbe59b3
ci: re-enable Igalia farm
...
Re-enable the farm after detecting that job failures were caused
by a new CI host to be deployed announcing rpi4 devices from other
host.
Signed-off-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28776 >
2024-04-17 01:23:25 +00:00
Mike Blumenkrantz
6ae2147dd6
nir: print i/o variables in location order
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25036 >
2024-04-17 00:46:40 +00:00
Constantine Shablia
cdcb2ab538
mesa: fix typo
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28695 >
2024-04-16 23:56:19 +00:00
Constantine Shablia
6b04843537
vulkan/runtime: fix typo
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28695 >
2024-04-16 23:56:19 +00:00
Guilherme Gallo
69eac6dd15
ci/a618: Add zink-tu-a618-full
...
We needed to halve the number of tests in `zink-tu-a618` due to the
reduced number of a618-limozeen in Collabora's farm, let's create a job
in the nightly pipeline to keep track of zink tests.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28770 >
2024-04-16 23:33:38 +00:00
Guilherme Gallo
659f5d3271
ci/a618: Rebalance a618-limozeen jobs
...
Recently, `sc7180-trogdor-lazor-limozeen-cbg-2` was retired from the
farm, so we need to rebalance the jobs again. The current flow is
causing the job queue to be huge.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28770 >
2024-04-16 23:33:38 +00:00
Rob Clark
453e9a24fd
ci: Add deqp fix for pipeline_statistics_3 tests
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28701 >
2024-04-16 22:44:24 +00:00
Rob Clark
7688d5a062
freedreno: Update a618 xfails
...
I'm not sure why deqp-runner isn't tagging things as UnexpectedPass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28701 >
2024-04-16 22:44:24 +00:00
David Heidelberg
f56fc16824
ci: disable Igalia farm
...
Multiple jobs failing.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28775 >
2024-04-16 22:41:31 +00:00
Surafel Assefa
eaf8c56a11
radeonsi: Adds return on failure to get plane info
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27456 >
2024-04-16 22:14:49 +00:00
Iván Briano
53e130e333
nir/lower_doubles: preserve NaN when asked to do so
...
v2: avoid generating unnecessary bcsel (Caio)
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28702 >
2024-04-16 13:34:48 -07:00
Iván Briano
c6c52113a0
nir/lower_doubles: preserve sign of zero if we are asked to
...
v2: avoid generating unused instructions (Caio)
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28702 >
2024-04-16 13:34:46 -07:00
Iván Briano
5218cff34b
nir/algebraic: avoid double lowering of some fp64 operations
...
The ffloor@64 case, which lowers to use ffract, is already ignored if
nir_lower_dfract is set. Do the same thing for ftrunc@64 and ffract@64
and let nir_lower_doubles take care of them directly instead.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28702 >
2024-04-16 13:34:36 -07:00
Mike Blumenkrantz
73bf648f04
ci: kill piano trace globally
...
fixes #11016
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28767 >
2024-04-16 15:28:42 -04:00
Rhys Perry
8eb2743b1f
aco/tests: remove LLVM 11 code
...
RADV requires LLVM 15+.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28748 >
2024-04-16 15:46:19 +00:00
Rhys Perry
13faa231c2
aco/tests: don't assume constructor order
...
"tests" might not be initialized when this constructor is called. Just use
a pointer instead.
Fixes aco_tests with LTO enabled.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11009
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28748 >
2024-04-16 15:46:19 +00:00
Hans-Kristian Arntzen
71fdc67682
radv: Store range rather than bo_size in VkBuffer/VkImage.
...
For purposes of address reports, it makes far more sense to report the
actually bound range rather than the full bo_size. RMV code used
effective size, so reproduce that here.
No other code looks at bo_size, so this should be quite safe.
Also fixes a theoretical correctness issue where plane aspect for
DISJOINT image was not passed to GetImageMemoryRequirements2 in internal
code.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10996
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28718 >
2024-04-16 16:29:57 +02:00
Eric R. Smith
c939111f3f
panfrost: mark separate_stencil as valid when surface is valid
...
panfrost_initialize_surface is called when a surface is written to,
and marks that surface as valid. If the surface is a depth buffer
with a separate stencil, that separate stencil should also be marked
as valid; otherwise, readpixel will skip reading it (and hence the
stencil data will be read as uninitialized). This only affects
DEPTH32F_STENCIL8 formats.
Cc: mesa-stable
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28738 >
2024-04-16 12:58:09 +00:00
Timur Kristóf
9f36fba9be
ac/nir/ngg: Enable packing 16-bit mesh shader outputs.
...
This prepares ac_nir_lower_ngg_ms for the possibility of packing
two 16-bit outputs into the same 32-bit output slot, by handling
the high_16bits flag in NIR IO semantics.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:31 +02:00
Timur Kristóf
07cedd6486
ac/nir/ngg: Split 16-bit MS output stores by components.
...
This is to prevent overwriting the high 16 bits.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:31 +02:00
Timur Kristóf
c0c04d244c
ac/nir/ngg: Refactor MS output store into two functions.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:31 +02:00
Timur Kristóf
10a71984d6
ac/nir/ngg: Refactor update_ms_output_info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:31 +02:00
Timur Kristóf
238c7f0ea2
ac/nir/ngg: Use just one IO semantics variable in MS output store.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:31 +02:00
Timur Kristóf
d0018901f9
ac/nir/ngg: Slightly refactor mesh shader cull flag stores.
...
No functional changes, just improve code readability a little.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:31 +02:00
Timur Kristóf
8e24d3426d
ac/nir/ngg: Refactor MS primitive indices for scalarized IO.
...
Previously, it would hit an assertion when used with scalarized
IO, because the scalarization will split the primitive indices
store into smaller, per-component stores.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:30 +02:00
Timur Kristóf
76c90f929f
ac/nir/ngg: Remove support for loading mesh shader outputs.
...
This was an NV_mesh_shader-only feature and we should have already
removed it. We don't want to carry it forward anymore, because it
would needlessly complicate implementing new features.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:30 +02:00
Juan A. Suarez Romero
bc32ca929c
broadcom/ci: update expected results
...
Add comments explaining some of the failing tests.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28758 >
2024-04-16 10:54:47 +00:00
Lucas Stach
7ffd85d85c
etnaviv: flip the switch on MSAA support
...
Enable MSAA by default and update CI expectation.
The spec@ext_framebuffer_multisample test is buggy and switches from fail
to skip once we actually expose multisample capabilities, while it should
also have skipped before.
Some of the *copyteximage and spec@!opengl 1.1@depthstencil-default_fb*
tests require multisample resolve blits with parameters that can not be
supported natively with the RS engine and can also not be emulated by
u_blitter without texture multisampling, which is not available in the
GC2000 hardware. Accept those failures on this HW generation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22439 >
2024-04-16 10:35:41 +00:00
Joshua Ashton
62903b2d75
tu: Expose VK_EXT_surface/swapchain_maintenance1
...
This was missing, this is implemented in common code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Valentine Burley
4408aff896
tu: Fix missing implementation of creating images from swapchains
...
These pNext structs are part of VK_KHR_swapchain which is core Vulkan
1.1 but they were missing. Based on ANV, RADV and NVK.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Valentine Burley
9e4c7dee3b
tu: Replace TU_HAS_SURFACE with TU_USE_WSI_PLATFORM
...
This matches the naming and formatting convention used by other drivers.
Additionally move it to tu_wsi.h.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Valentine Burley
06d277c1bd
tu: Move tu_BindImageMemory2() to tu_image.cc
...
To match ANV, RADV and NVK.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Christian Gmeiner
295fa01db8
etnaviv: Fix disabling of features
...
We must disable features before we fill our internal etna_specs
struct with etna_get_specs(..).
Fixes: d600b45ccc
("etnaviv: Switch to etna_core APIs")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28757 >
2024-04-16 09:37:31 +00:00
Christian Gmeiner
518d365d06
etnaviv: Switch to etna_core_disable_feature(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28757 >
2024-04-16 09:37:31 +00:00
Jose Maria Casanova Crespo
97f5721bfc
broadcom/compiler: needs_quad_helper_invocation enable PER_QUAD TMU access
...
We take advantage of the needs_quad_helper_invocation information to
only enable the PER_QUAD TMU access on Fragment Shaders when it is needed.
PER_QUAD access is also disabled on stages different to fragment shader.
Being enabled was causing MMU errors when TMU was doing indexed by vertexid
reads on disabled lanes on vertex stage. This problem was exercised by some
shaders from the GTK new GSK_RENDERER=ngl that were accessing a constant buffer
offset[6], but having PER_QUAD enabled on the TMU access by VertexID was
doing hidden incorrect access to not existing vertex 6 and 7 as TMU was
accessing the full quad.
cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28740 >
2024-04-16 08:20:54 +00:00
Samuel Pitoiset
d2b9e21689
radv: simplify the check for exporting multiview in the last VGT stage
...
Checking for the lib flags is unnecessary because in this case
next_stage is NONE and it's already handled correctly by the helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
c9c51a93e5
radv: remove unused parameter in radv_skip_graphics_pipeline_compile()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
2d18645b1f
radv: simplify checking for PS epilogs in radv_pipeline_init_blend_state()
...
This is equivalent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
575111e15a
radv: return early when PS is NULL in radv_pipeline_init_blend_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
5e78c2d08b
radv: simplify importing pipeline layout with GPL
...
Store the pipeline layout in radv_graphics_pipeline to simplify the
import. This will also allow us to generate a graphics pipeline key
from pCreateInfo more easily.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Lionel Landwerlin
70b613926d
anv: enable capture/replay with descriptor buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
4dad2a4a6f
anv: enable shader border color capture/replay
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
806281f61f
anv: add a new reserved pool for capture/release
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
67d772b112
anv: add capture/replay support for buffer with descriptor buffers
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
43b57ee8a5
anv: add capture/replay support for image with descriptor buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
4fadc2edb7
anv: remove useless dynamic state allocation for samplers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
772c8ccada
anv: disable capture replay with descriptor buffer
...
This is not functional atm.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fe037dec6e
("anv: expose VK_EXT_descriptor_buffer")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
c94cd1235f
anv: implement VK_EXT_image_compression_control
...
Limited to vkd3d right now, there are specific use cases there.
We don't want any app to disable compression, it should be mostly
transparent and we better be aware of potential bugs.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
db6ee2e1bb
vulkan: track compression control flags on vk_image
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
0e5c44a609
drirc: rename hasvk only option
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
73c31e9483
anv: move all format props checks to anv_get_image_format_properties()
...
We can remove anv_GetPhysicalDeviceImageFormatProperties() to reuse
the runtime entry point.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
d83aaf4e05
anv: reuse vk_common_GetImageSubresourceLayout
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Tapani Pälli
62d96a6546
anv: add dirty tracking for push constant data
...
This allows us to skip allocating state if it exists already. There are
different scenarios where this can help: when updating only descriptors
(not push constant data) and after blorp or simple shader run.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10898
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28689 >
2024-04-16 07:23:52 +03:00
Erik Kurzinger
899263ecfc
wsi/x11: support explicit sync
...
This adds support to the X11 WSI for explicit synchronization using DRM
syncobjs. It relies on versions 1.4 of the DRI3 and Present extensions.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27226 >
2024-04-16 02:40:01 +00:00
Kenneth Graunke
e637c63239
intel/brw: Make an fs_builder::SYNC helper
...
We always want a null destination, so this saves some typing.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
d5b8cec7a2
intel/brw: Replace FS_OPCODE_LINTERP with BRW_OPCODE_PLN
...
We no longer support the old LINE+MAC lowering, and we already lower
this to MAD in NIR on Gfx11+, so the LINTERP virtual opcode always
corresponds the PLN. The only catch is that LINTERP's operands are
reversed from PLN, so we have to switch them.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
12b0e03bd2
intel/brw: Use SHADER_OPCODE_SEND for coherent framebuffer reads
...
We already have a logical opcode and lower to what is basically a send
instruction. We just weren't using SHADER_OPCODE_SEND, instead having
extra redundant infrastructure for no real gain.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
46a7ee772e
intel/brw: Drop default size of 1 from bld.vgrf() calls
...
This isn't necessary as 1 is the default value for the parameter.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
217d56e9b1
intel/brw: Delete fs_visitor::vgrf helper
...
Just use fs_builder::vgrf instead of the older glsl_type-based one.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
f29a56a4ac
intel/brw: Delete if_depth_in_loop
...
This was only used prior to Sandybridge.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
bd6a430c94
intel/brw: Drop gfx7 scratch message setup code
...
Nothing uses this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Paulo Zanoni
a791805d10
anv/sparse: rework anv_free_sparse_bindings() error handling
...
None of the callers of anv_free_sparse_bindings() check for its return
result, and they also don't have a way to propagate it up the stack.
So just don't return error codes that won't be checked. Instead,
add an assertion so at least we can detect failures in our CI or
development runs.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
95dc34cd97
anv/sparse: replace device->using_sparse with device->num_sparse_resources
...
The device->using_sparse variable is only used at cmd_buffer_barrier()
to decide if we need to apply the heavier-weight flushes that are only
applicable to sparse resources. The big problem here is that we need
to apply the flushes to the non-image and non-buffer memory barriers,
so we were trying to limit those only to applications that ever submit
a sparse resource to the sparse queue.
The reason why we were applying this only to devices that ever
submitted sparse resources is that dxvk games have this thing where
during startup they create and then delete tiny sparse resources, so
switching device->using_sparse to true at resource creation would make
basically every dxvk game start applying the heavier-weight
workaround.
The problem with all that is that even if an application creates a
sparse resource but doesn't ever bind them, the resource should still
behave as an unbound resource (because they are bound with a NULL
bind), so the flushes affecting them should happen. This case is
exercised by vkd3d-proton/test_buffer_feedback_instructions_sm51.
In order to satisfy all the above cases and only really apply the
heavier-weight flushes to applications actually using sparse
resources, let's just count the number of sparse resources that
currently exist and then apply the workaround only if it's not zero.
That covers the dxvk case since dxvk deletes the resources as soon as
they create, so num_sparse_resources goes back to 0.
Testcase: vkd3d-proton/test_buffer_feedback_instructions_sm51
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10960
Fixes: 6368c1445f
("anv/sparse: add the initial code for Sparse Resources")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
0c1dbfe899
anv/sparse: remove unused dump_vk_sparse_memory_bind()
...
This went unused a while ago. If we decide we want it again we can
just add it back.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
ba3b1c2d12
anv/sparse: adjust sparse_bind_image_memory debug messages
...
Since we moved the dump_anv_vm_bind() call to anv_sparse_bind(), that
BEGIN/END block stopped making sense, so just keep the first set of
messages.
Also wrap everything around a single INTEL_DEBUG() check so we'll only
run this check once when debug is disabled (we don't care about
running the check multiple times if it's enabled).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
f73385f8ff
anv/sparse: remove unnecessary popcount assertions
...
In both cases we end up calling anv_image_aspect_to_plane(), which
already includes the same assertion.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
2f5638cf2e
anv/sparse: remove useless isl_surf_get_tile_info() call
...
If isl_surf_get_tile_info() returned the struct instead of having it
passed as a pointer, gcc would have detected this. I can write patches
for that if we want it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Yiwei Zhang
831da93d76
venus: clean up legacy descriptor update template bits
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:42 +00:00
Yiwei Zhang
5223cf2b11
venus: use STACK_ARRAY to simplify set template update and push
...
No regression in related vkoverhead benches.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:42 +00:00
Yiwei Zhang
7e01ffe733
venus: simplify need and ignore rules for desc image info
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
378db530ae
venus: optimize set update template data population
...
also avoids not-always-valid void * ptr arithmatic
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
498f1d7eb1
venus: simplify push descriptor update with template
...
No need to track is_push_descriptor in templ. No need to conditionally
decide to use set or NULL handle since we pass NULL handle from the cmd
side. Also fixed the arg type mismatch in the template helper.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
4c6b9e2fbe
venus: fix to drop an extra ;
...
Fixes: 32283b9703
("Refactor and add template support for iub")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
be84424738
venus: avoid the redundant template entry
...
offset to count would give count number of entries
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Dylan Baker
706691a715
nouveau: require cbindgen >= 0.25
...
So we can use the --depfile option, and not have to worry about new
files. Since it's Rust, the expectation is that you're going to have up
to date dependencies anyway.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28754 >
2024-04-16 01:10:13 +00:00
Georg Lehmann
2543f5a594
radv: use ac_nir_opt_pack_half
...
Foz-DB Navi21:
Totals from 20425 (25.73% of 79395) affected shaders:
MaxWaves: 525608 -> 525690 (+0.02%); split: +0.02%, -0.00%
Instrs: 13570442 -> 13531690 (-0.29%); split: -0.29%, +0.00%
CodeSize: 74246928 -> 74312000 (+0.09%); split: -0.03%, +0.12%
VGPRs: 814736 -> 813384 (-0.17%); split: -0.18%, +0.02%
Latency: 103675193 -> 103574328 (-0.10%); split: -0.12%, +0.02%
InvThroughput: 25189130 -> 25114931 (-0.29%); split: -0.30%, +0.00%
VClause: 314579 -> 314573 (-0.00%); split: -0.00%, +0.00%
SClause: 526551 -> 526548 (-0.00%); split: -0.00%, +0.00%
Copies: 772147 -> 772999 (+0.11%); split: -0.01%, +0.12%
PreVGPRs: 661914 -> 661923 (+0.00%)
VALU: 9612901 -> 9574094 (-0.40%); split: -0.40%, +0.00%
SALU: 1244130 -> 1244176 (+0.00%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28670 >
2024-04-15 23:34:22 +00:00
Georg Lehmann
2b346cc639
ac/nir: add ac_nir_opt_pack_half
...
Try to use v_fma_mix{lo,hi}_f16 if possible instead of v_cvt_pkrtz_f16_f32.
To ensure correct rounding we have to make sure that the fp16 rounding mode
can be rtz first.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28670 >
2024-04-15 23:34:22 +00:00
Marek Olšák
c15498afbe
nir/use_dominance: set the root as post-dominator of unmovable instructions
...
Some uses don't have any post-dominator. An example is an atomic that
feeds itself in a loop. No instruction immediately post-dominates
the result of such an atomic because no instruction can strictly
post-dominate itself. This handles that case generally by setting
the root node as the post-dominator for instructions that can't be
reordered.
Fixes: ba54099dce
- nir: add a utility computing post-dominance of SSA uses
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28436 >
2024-04-15 22:50:26 +00:00
Paulo Zanoni
edf07649f4
vulkan: reduce struct vk_object_base by 8 bytes
...
I know that, in the grand scheme of things, this isn't significant.
The problem is: now that I know the hole is there, my OCD won't allow
me to sleep until it's fixed.
We went from:
struct vk_object_base {
VK_LOADER_DATA _loader_data; /* 0 8 */
VkObjectType type; /* 8 4 */
/* XXX 4 bytes hole, try to pack */
struct vk_device * device; /* 16 8 */
struct vk_instance * instance; /* 24 8 */
_Bool client_visible; /* 32 1 */
/* XXX 7 bytes hole, try to pack */
struct util_sparse_array private_data; /* 40 24 */
/* --- cacheline 1 boundary (64 bytes) --- */
char * object_name; /* 64 8 */
/* size: 72, cachelines: 2, members: 7 */
/* sum members: 61, holes: 2, sum holes: 11 */
/* last cacheline: 8 bytes */
};
to:
struct vk_object_base {
VK_LOADER_DATA _loader_data; /* 0 8 */
VkObjectType type; /* 8 4 */
_Bool client_visible; /* 12 1 */
/* XXX 3 bytes hole, try to pack */
struct vk_device * device; /* 16 8 */
struct vk_instance * instance; /* 24 8 */
struct util_sparse_array private_data; /* 32 24 */
char * object_name; /* 56 8 */
/* size: 64, cachelines: 1, members: 7 */
/* sum members: 61, holes: 1, sum holes: 3 */
};
which is cool because now the struct nicely fits in a cacheline.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28699 >
2024-04-15 22:12:52 +00:00
Amber Harmonia
13aea0fb30
freedreno/common: Fix register stomper ranges for A7XX
...
REG_A6XX_HLSQ_VS_CNTL ... REG_A6XX_HLSQ_GS_CNTL are not contiguous
on A7XX, and based on CTS runs with the stomper we cannot stomp
REG_A6XX_SP_VS_OBJ_START safely.
Signed-off-by: Amber Harmonia <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28732 >
2024-04-15 20:57:37 +00:00
Mike Blumenkrantz
98ce4a98ae
nir/remove_unused_io_vars: check all components to determine variable liveness
...
this otherwise only checked the first component
cc: mesa-stable
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28751 >
2024-04-15 20:07:30 +00:00
Christian Gmeiner
7d33bab3b4
meson: Add missing newline at eof
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28747 >
2024-04-15 19:28:40 +00:00
Paulo Zanoni
ad4d13f184
anv: reduce struct anv_image_memory_range from 32 to 24 bytes
...
Reorder its members to fill the current padding hole, reducing the
struct size from 32 to 24.
This struct appears multiple times inside struct anv_image and its
members, so this change brings down sizeof(struct anv_image) from
1744 to 1600.
We went from:
struct anv_image_memory_range {
enum anv_image_memory_binding binding; /* 0 4 */
/* XXX 4 bytes hole, try to pack */
uint64_t offset; /* 8 8 */
uint64_t size; /* 16 8 */
uint32_t alignment; /* 24 4 */
/* size: 32, cachelines: 1, members: 4 */
/* sum members: 24, holes: 1, sum holes: 4 */
/* padding: 4 */
/* last cacheline: 32 bytes */
};
to:
struct anv_image_memory_range {
enum anv_image_memory_binding binding; /* 0 4 */
uint32_t alignment; /* 4 4 */
uint64_t size; /* 8 8 */
uint64_t offset; /* 16 8 */
/* size: 24, cachelines: 1, members: 4 */
/* last cacheline: 24 bytes */
};
Considering we can have tens of thousands of anv_image structs
allocated at the same time on gaming workloads, this can save us a few
MB of memory. It ain't much but it's honest work.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28700 >
2024-04-15 18:18:12 +00:00
Samuel Pitoiset
7f608fc206
radv: use canonicalized VA for VM fault reports
...
Otherwise, the returned VA from vkGetBufferDeviceAddress() or via
VK_EXT_device_address_binding_report doesn't match and applications
would have to mask out.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28652 >
2024-04-15 17:38:44 +00:00
Christian Gmeiner
b06e237363
nvk: Remove duplicate DRM_NODE_RENDER check
...
This check happens at the top of nvk_create_drm_physical_device(..).
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28741 >
2024-04-15 17:18:31 +00:00
Christian Gmeiner
8d2f83ce98
etnaviv: hwdb: Drop stdint.h dependency
...
This seems to cause some troubles for distro builds.
Fixes: 394652e5a0
("etnaviv: hwdb: Generate hwdb.h")
Closes : #11012
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Tested-by: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com >
Acked-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28745 >
2024-04-15 16:57:29 +00:00
Erik Faye-Lund
13dffdec60
panvk: wire up version-overriding
...
Not a whole lot of applications supports Vulkan 1.0, so let's wire up
support for MESA_VK_VERSION_OVERRIDE so we can easily override the
version to when testing.
While we're at it, let's switch to VK_MAKE_API_VERSION, as
VK_MAKE_VERSION is deprecated now.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28694 >
2024-04-15 16:09:51 +00:00
Lucas Stach
83c40aa3f4
ci/etnaviv: update expectation after piglit uprev
...
7e82c59fa4
("Uprev Piglit to dd6f7eaf82e8dd442da28b346c236141cbcce0b1") pulled
in fixes to the testsuite, which makes two more tests pass on GC2000.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28744 >
2024-04-15 14:08:00 +02:00
Eric R. Smith
e3d123b7a6
panfrost: fix a GPU/CPU synchronization problem
...
Remove a premature optimization. When PIPE_MAP_DISCARD_WHOLE_RESOURCE
is set we were setting create_new_bo, and then if that was set we skipped
a set of tests which if passed would cause a panfrost_flush_writer.
In fact we need that flush in some cases (e.g. when any batch is
reading the resource). Moreover, we should sometimes copy the resource
(set the copy_resource flag) and that again was being skipped if
create_new_bo was initially true due to PIPE_MAP_DISCARD_WHOLE_RESOURCE
being set.
Cc: mesa-stable
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28406 >
2024-04-15 10:52:52 +00:00
Lucas Stach
87bfad9efa
etnaviv: rs: treat depth-only clear to X8Z24 surfaces as full clear
...
X8Z24 surfaces have a don't care stencil channel, which is okay to be
cleared together with the depth channel. Set the depth clear bits
accordingly to allow those clears to use the fast-clear path when
only depth is to be cleared. This change aligns the RS with the BLT
ZS clear path.
Fixes: df63f188e8
("etnaviv: fix separate depth/stencil clears")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Lucas Stach
fc0d65e54f
etnaviv: ci: update expectation with fixed depth/stencil clears
...
Now that we properly switch between fast/regular clears for depth/stencil
surfaces as needed and fixed the resulting corner-case issues, there are
two more passing dEQP tests.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Lucas Stach
f69794b503
etnaviv: split TS and non-TS RS clear commands
...
Currently both TS and non-TS paths use the same place to store the compiled
RS commands to clear the surface. In the TS case the commands only initialize
the TS buffer, while the non-TS commands clear the whole buffer. The
assumption here is that a TS enabled surface will only ever be fast cleared,
which doesn't hold anymore, now that we can fall back to slow clears on TS
enabled depth/stencil buffers.
The fallback to a slow clear will overwrite the stored RS commands with a
full buffer clear. If we can transition to a fast clear later, the commands
to initialize the TS buffer will not be regenerated and a full buffer clear
will be submitted instead. In addition to the performance degradation, it
will also leave TS in an inconsistent state, as the TS buffer will not be
initialized, but the TS state still gets marked as valid.
To avoid this confusion and not introduce any more state tracking to remember
the target of the clear commands and regenerate TS clears if needed, simply
split the storage for compiled TS and non-TS clear commands.
Fixes: df63f188e8
("etnaviv: fix separate depth/stencil clears")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Lucas Stach
06ce243a73
etnaviv: trigger TS derivation after slow clear
...
Now that we switch dynamically between fast (TS) and slow (regular)
clears on TS enabled surfaces, we must trigger reevaluation of the
current TS state also after a slow clear, as otherwise the PE might
continue to use the invalidated TS state.
Fixes: df63f188e8
("etnaviv: fix separate depth/stencil clears")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28696 >
2024-04-15 10:24:22 +00:00
Martin Krastev
f2f486a7eb
svga/ci: disable vmware farm
...
Farm is going down for network maintenance.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28737 >
2024-04-15 09:18:00 +00:00
Samuel Pitoiset
502f0091de
radv/rt: stop computing unused hash for the traversal shader
...
This isn't used at all.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28711 >
2024-04-15 08:49:21 +00:00
Samuel Pitoiset
9a5016d54d
radv/rt: use radv_pipeline_hash_shader_stage()
...
It should be equivalent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28711 >
2024-04-15 08:49:21 +00:00
Christian Gmeiner
12059eedfe
etnaviv: Drop not needed check if seamless cube map is supported
...
With commit f2506780c8
("mesa/st: Only set seamless for GLES3") ss->seamless_cube_map
should behave as wanted. For GLES2 it can only be set when PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE
is supported.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28669 >
2024-04-15 08:29:02 +00:00
Konstantin Seurer
429f953d8f
Revert "gallivm/ssbo: mask offset with exec_mask instead of building the 'if'"
...
mem_access_base_pointer loads memory (the descriptor) and therefore
needs to be guarded. Fixes
dEQP-VK.spirv_assembly.instruction.terminate_invocation.terminate.no_null_pointer_load.
Fixes: fc8a83c
("gallivm/ssbo: mask offset with exec_mask instead of building the 'if'")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28614 >
2024-04-15 07:53:39 +00:00
Samuel Pitoiset
4586451b2d
radv: add missing SQTT markers when an indirect indexed draw is used with DGC
...
Since DGC preprocessing for IBO is supported, the driver generates
an indexed indirect draw but SQTT markers were missing and this
introduced complete non-sense in RGP captures.
Fixes: e59a16bbb8
("radv: use an indirect draw when IBO isn't updated as part of DGC")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28710 >
2024-04-15 07:22:49 +00:00
David Rosca
4a19047d32
radv/video: Select temporal layer when encoding each frame
...
This makes the rate control per temporal layer work.
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:58:19 +10:00
David Rosca
3393e56373
radv/video: Set VBV buffer size and level
...
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:58:17 +10:00
David Rosca
8875a79513
radv/video: Set correct bitstream buffer size
...
Fixes
dEQP-VK.video.encode.h264_i_p_not_matching_order
dEQP-VK.video.encode.h265_i_p_not_matching_order
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:58:14 +10:00
David Rosca
5df45c0f99
radv/video: Fix setting slice QP
...
constantQp will be 0 according to spec for any rate control method
other than NONE, so it should only be used with NONE rate control and
not when default rate control (which is internally NONE) is used.
Also it shouldn't override min/max QP.
Fixes: 54d499818c
("radv/video: add initial support for encoding with h264.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28734 >
2024-04-15 09:57:49 +10:00
Timur Kristóf
2b1031ec10
nir/opt_varyings: Add workaround for RADV mesh shader multiview.
...
The layer output is added in ac_nir_lower_ngg which is called
later than this pass; prevent deleting layer input from FS here.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:12 +00:00
Timur Kristóf
91dd9c35be
nir/opt_varyings: Fix relocate_slot so it doesn't mix up 32-bit and 16-bit I/O.
...
Previously, nir_opt_varyings was unable to distinguish between
a fully occupied 32-bit flat input and the low part of a 16-bit
flat input, and would assign them the same slot, thereby messing
up both I/O slots in the process.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:12 +00:00
Timur Kristóf
7e43c2d08f
nir/opt_varyings: Debug print during relocate_slot.
...
VERY useful when debugging issues with this pass.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
bf2227d0d0
nir/opt_varyings: Only propagate constant MS outputs, not other uniforms.
...
Due to how mesh shaders work, we'll need a workgroup divergence
pass in order to really prove that an output is uniform.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
5dd1461ca4
nir/opt_varyings: Add early return when producer stage is task.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
a083a25a80
nir/opt_varyings: Fix explicit and per-vertex FS inputs.
...
Fixes: 772149b15a
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
586acb47c8
nir/opt_varyings: Support per-primitive I/O.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
21ff2907c7
nir/opt_varyings: Allow optimizing primitive ID for MS -> FS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
8792098772
nir/lower_io_to_scalar: Support per-primitive outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
38bd578029
nir/lower_io_to_scalar: Support explicit (and per-vertex) FS inputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
433fe2022c
nir/gather_info: Clear per-primitive I/O masks at the beginning.
...
Fixes: b085248819
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
28c0f6f369
nir/recompute_io_bases: Fix per-primitive inputs.
...
This was a mistake, the decision shouldn't be based on shader info.
Fixes: 8a24610477
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
723b3d354e
nir/print: Print per-primitive and explicit strict IO info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Konstantin Seurer
566174785c
lavapipe: Explicitely support ycbcr formats
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28697 >
2024-04-14 17:32:56 +00:00
Konstantin Seurer
8f5fb4e095
lavapipe: Handle multiple planes in GetDescriptorEXT
...
Fixes: a13a07d
("lavapipe: add descriptor sets bindings for planar images")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28697 >
2024-04-14 17:32:56 +00:00
Konstantin Seurer
c48d6097cd
lavapipe: Do nort use NIR_PASS during lowering
...
NIR_DEBUG=clone,serialize replaces the whole shader which invalidates
the build state.
Fixes: d99e95e
("lavapipe: Implement VK_KHR_ray_tracing_pipeline")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Konstantin Seurer
4335d006a7
lavapipe: Implement ray_tracing_maintenance1 queries
...
Fixes: 1f729d9
("lavapipe: Implement KHR_ray_tracing_maintenance1")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Konstantin Seurer
a26f96ed3d
lavapipe: Handle accel struct queries in handle_copy_query_pool_results
...
Fixes: 897ccbd
("lavapipe: Implement VK_KHR_acceleration_structure")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Pavel Ondračka
6cc780173a
r300/ci: failures list update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28726 >
2024-04-13 17:22:56 +00:00
Marek Olšák
fe35a8b00e
nir: change "user_data_amd" sysval from 4 to 8 components
...
so that we can pass more fast constants to compute shaders (without
reading memory in the shader).
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
c1f750eed9
nir: add nir_intrinsic_optimization_barrier_sgpr_amd
...
for radeonsi
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
6426f6de6a
nir: allow FP16 in nir_format_linear_to_srgb
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
281e08714e
nir: add more build helpers
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
M Henning
b681677f7d
nak: Rewrite union_find and use it in repair_ssa
...
The new UnionFind is safe code, is generic over the element type, and
uses constant stack space.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27454 >
2024-04-13 15:55:44 +00:00
M Henning
b5f4c54d0d
nak: Remove old union_find implementation
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27454 >
2024-04-13 15:55:44 +00:00
David Heidelberg
7101ed7f88
ci: temporarily disable Android test builds
...
We need to figure out:
a) how to download the images
b) where to host them (1G+)
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
b9c80ee59e
etnaviv: drm: Remove fallback value for ETNA_GPU_NUM_CONSTANTS
...
The kernel commit a8c21a5451d8 ("drm/etnaviv: add initial etnaviv DRM driver") has this
fallback logic already.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
57a662fc4c
etnaviv: Copy values from etna_core_info
...
There is no need to query them again.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
e60e045b89
etnaviv: drm: Fill limits
...
Note: etna_gpu_get_param(..) will only fail if a wrong enum etna_param_id
param value is passed.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
def32f8668
etnaviv: hwdb: Fill limits
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
b68e868d31
etnaviv: common: Add some limit values
...
These are loosely based on struct etna_specs.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
ef19966e38
etnaviv: common: Add enum etna_core_type
...
We support the following two core types: GPU and NPU.
Both are using the 3d pipe to submit work so the only way to
differentiate is the nn core count.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
aaccc25a4d
etnaviv: drm: Make use of hwdb
...
If the kernel provides correct ID values query the hwdb.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
2192e620bb
etnaviv: hwdb: Add etna_query_feature_db(..)
...
This function is used to
- find a database entry
- fill our etna_device_info struct
If no database entry is found we just return false.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
394652e5a0
etnaviv: hwdb: Generate hwdb.h
...
This python script does the following work:
- For all gc_feature_database.h files
- Translate the C Struct to Python
- Store database entries
- Create a merged struct
- Transform all entires to the merged struct
- Write a header that contains the merged struct and all entries
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
a07d1864db
ci: Install python3-pycparser in build container
...
pycparse will be used for etnaviv to parse C header files and generate a new one.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
d9e490c2f4
etnaviv: hwdb: Import gc_feature_database from ST
...
This commit imports the gc_feature_database.h file from
https://github.com/STMicroelectronics/gcnano-binaries/blob/gcnano-6.4.13-binaries/gcnano-driver-stm32mp/hal/kernel/inc/gc_feature_database.h
git commit: 5d02efd5cb4cfa85307633891f3cf87550a8bc1d
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
5c5dc646ed
etnaviv: hwdb: Import gc_feature_database from Amlogic
...
This commit imports the gc_feature_database.h from
https://github.com/khadas/android_vendor_amlogic_common_npu/blob/khadas-vim4-r-64bit/hal/kernel/inc/gc_feature_database.h
git commit: 9d81096a001af8a099ca767855d548983d037dd8
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
775eff3046
etnaviv: hwdb: Import gc_feature_database from NXP
...
This commit imports the gc_feature_database.h file from
https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h
git commit: ccf0a99701a701fb48a04e31ffe3f9d585a8374a
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
e1c6748cf4
etnaviv: drm: Query some id values in etna_gpu_new(..)
...
We want to fully initialise etna_device_info. We only query the kernel
for these values if the drm driver is recent enough.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
d600b45ccc
etnaviv: Switch to etna_core APIs
...
This removes the in-driver feature handling and switches to the one from
common.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
358e1f10c5
etnaviv: drm: Initialize etna_core_info based on kernel features
...
Query all the gpu features in etna_gpu_new(..) and update the feature
bitset in etna_core_info accordingly.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
8639367f55
etnaviv: common: Add feature bitset
...
Extend struct etna_core_info with a feature bitset and some helper
functions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
df198d21f9
etnaviv: Introduce etna_feature enum
...
This etna_feature enum will be used as abstraction layer. We will add
support for a hardware database - borrowed from the binary blob.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
9eede9ba0b
etnaviv: Move hw header to common place
...
I am planning to make use of these headers outside of the gallium
driver.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
f4c90d4316
etnaviv: Switch to etna_core_info
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
d3f8e3ee42
etnaviv: drm: Add etna_gpu_get_core_info(..)
...
Makes it possible to access etna_core_info.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
ad4b6cce30
etnaviv: drm: Make use of etna_core_info
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
3b150bcba8
etnaviv: Introduce common etna_core_info
...
This struct will be used in different places outside of the gallium
driver.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Timothy Arceri
1984712a8e
glsl: inline _mesa_copy_linked_program_data()
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Timothy Arceri
4655381e3b
glsl: remove UsesEndPrimitive field
...
Here we store the value directly in shader info rather than passing
it around.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Timothy Arceri
1139a703c1
glsl: remove ActiveStreamMask field
...
There is no need to pass this value around just store it directly
in the shader info.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Timothy Arceri
1e13e9be45
glsl: remove FragDepthLayout field
...
Nothing uses it. I *looks* like _mesa_copy_linked_program_data()
copies it somewhere useful however that function is called before
the value are even initialised.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Pavel Ondračka
9dc6ea2fad
r300: remove nir_to_rc_options wrapper
...
Just call nir_to_rc directly since we don't have any options anymore.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00
Pavel Ondračka
b1c98ffd9e
r300: move lower_fabb option out of the options struct
...
It is the last one, we don't need an extra struct for it...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00
Pavel Ondračka
2de9142f9f
r300: remove the ntr lower_cmp option
...
Only used in nir_lower_bool_to_float, so just hardcode the logic there.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00
Pavel Ondračka
4735265187
r300: get rid of the unused ubo_vec4_max ntr option
...
We now do the lowering in finalize_nir.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00
Pavel Ondračka
26bb068935
r300: inline unoptimized_ra ntr option
...
Also remove the check for overflowing 16bit TGSI register index.
If that ever happens we are out of luck anyway, no need to waste CPU
cycles on RA...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00
Marek Olšák
7de43c4fb8
ac: add helper ac_get_ip_type_string to remove duplication
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:22:04 -04:00
Marek Olšák
8597870dcb
ac/llvm: simplify the optimization barrier and apply it to the whole vector
...
Use the same code as the pointer type. It works with all types and works
with any vector, but we need to handle i1 and v3i16 as special cases,
otherwise LLVM fails when it sees them. The previous code only extracted
the first component, which is not what we want.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:22:04 -04:00
Marek Olšák
c7e30cdbbb
ac/llvm: remove unused fields of ac_shader_abi
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:22:04 -04:00
Marek Olšák
105e22f6fd
ac/llvm: remove handling of input and output loads/stores that are lowered
...
There is a lot that we still use.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:22:04 -04:00
Marek Olšák
ce7ca0d80b
ac/llvm: allow image loads to return less than 4 components, trim DMASK
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:22:04 -04:00
Marek Olšák
c91b56c271
ac/llvm: add support for 16-bit coordinates (A16) for image (non-sampler) opcodes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:22:03 -04:00
Marek Olšák
c9ea9e96a7
ac/llvm: simplify extracting an element in get_image_coords
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:20:14 -04:00
Marek Olšák
f49cfa9a1c
ac/nir: allow 16-bit results for resinfo
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:20:14 -04:00
Marek Olšák
03d241b256
ac/surface: add radeon_surf::thick_tiling
...
It's not worth writing a compute shader for copying 3D textures yet.
I have a sophisticated compute shader that will do it properly.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28607 >
2024-04-12 22:20:14 -04:00
Yiwei Zhang
abc327a39a
venus: use more relaxed profile for TLS ring seqno wait
...
Excessive polling for TLS ring synchronous cmds is a waste of cpu
cycles.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28706 >
2024-04-13 00:52:22 +00:00
Mike Blumenkrantz
7f246bca04
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
Mike Blumenkrantz
0e0effe59b
zink: enable opt_varyings with ZINK_DEBUG=ioopt
...
uses copied instruction costs from radeonsi for AMD, need info for
other platforms...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
Mike Blumenkrantz
942f3d3a3f
zink: add a pass to fix vertex input locations
...
this is very stupid
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
Mike Blumenkrantz
e8c12c82ef
zink: set nir_io_glsl_lower_derefs in compiler options
...
this runs all the io lowering in the frontend and allows for code--
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
Mike Blumenkrantz
163bb2b9c1
zink: rework rework_io_vars
...
this should be a bit more robust and also maybe even readable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
Mike Blumenkrantz
c329ee200f
zink: set lower_to_scalar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
Mike Blumenkrantz
0d756fd0bc
zink: set indirect io compiler flags
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580 >
2024-04-12 21:30:45 +00:00
David Heidelberg
e511ffea4b
ci/intel: sona device_type is back online
...
Fixes: 44db558cea
("ci: disable sona devices, all devices are offline")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28721 >
2024-04-12 19:37:56 +00:00
Mike Blumenkrantz
2e5d49b3dd
gallium: delete PIPE_CAP_NIR_COMPACT_ARRAYS
...
this is now nir_shader_compiler_options::compact_arrays
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
44aee09cfb
nine: stop checking PIPE_CAP_NIR_COMPACT_ARRAYS and use compact_arrays
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
8d9c5cc6ed
st/program: stop using PIPE_CAP_NIR_COMPACT_ARRAYS and use compact_arrays
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
cba1b03e86
mesa: delete LowerCombinedClipCullDistance from consts
...
no longer used
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
c9977f8de6
glsl: move an assert from st_context over to avoid using PIPE_CAP_NIR_COMPACT_ARRAYS
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
9f5e62df89
ttn: stop using PIPE_CAP_NIR_COMPACT_ARRAYS and check compact_arrays
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
20d0613c13
glsl: stop using PIPE_CAP_NIR_COMPACT_ARRAYS and check compact_arrays
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
d2abc7f9a6
freedreno: set compact_arrays in compiler options
...
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
39b66f9c84
intel: set compact_arrays in compiler options
...
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
d694c1b094
v3d: set compact_arrays in compiler options
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Mike Blumenkrantz
7967be922d
agx: set compact_arrays in compiler options
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Dave Airlie
223aedfa5d
egl/dri2: don't bind dri2 for zink
...
I'm not sure why zink would want dri2 here instead of kopper,
I'm sure it's some side effect of something else, let zink
use the kopper paths.
This fixes:
dEQP-GL45-ES3.info.vendor
on zink on nvk with GL cts using EGL.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: 12a47b84b7
("egl/dri2: trigger drawable invalidation from surface queries for zink")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28707 >
2024-04-12 17:48:51 +00:00
Pavel Ondračka
26836438cb
r300: optimize swizzle for inline constants
...
We can use any swizzle to access it, so if the inline constant is in
ADD,try to have the swizzle same as the second channel so that we can
potentially use presubtract later.
RV530:
total instructions in shared programs: 129366 -> 129306 (-0.05%)
instructions in affected programs: 10191 -> 10131 (-0.59%)
helped: 56
HURT: 12
total presub in shared programs: 8421 -> 8791 (4.39%)
presub in affected programs: 1523 -> 1893 (24.29%)
helped: 0
HURT: 102
total temps in shared programs: 17561 -> 17562 (<.01%)
temps in affected programs: 47 -> 48 (2.13%)
helped: 2
HURT: 4
total lits in shared programs: 3021 -> 3179 (5.23%)
lits in affected programs: 427 -> 585 (37.00%)
helped: 0
HURT: 37
total cycles in shared programs: 197845 -> 197512 (-0.17%)
cycles in affected programs: 18949 -> 18616 (-1.76%)
helped: 50
HURT: 19
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28428 >
2024-04-12 15:35:50 +00:00
Pavel Ondračka
e34bb4738a
r300: move presubtract pass later
...
We want to move it after rc_remove_constants because we can't reswizzle
presubtract sources and we need to pack multiple uniforms into vec4
slots to be able to run glamor shaders on R400.
This mostly works OK, the detection logic just needs to recognize the
case when 2.0 was converted to inline constant.
RV530:
total instructions in shared programs: 129384 -> 129366 (-0.01%)
instructions in affected programs: 2078 -> 2060 (-0.87%)
helped: 16
HURT: 7
total presub in shared programs: 8404 -> 8421 (0.20%)
presub in affected programs: 423 -> 440 (4.02%)
helped: 19
HURT: 25
total omod in shared programs: 410 -> 429 (4.63%)
omod in affected programs: 10 -> 29 (190.00%)
helped: 0
HURT: 13
total temps in shared programs: 17560 -> 17561 (<.01%)
temps in affected programs: 34 -> 35 (2.94%)
helped: 3
HURT: 3
total lits in shared programs: 3006 -> 3021 (0.50%)
lits in affected programs: 267 -> 282 (5.62%)
helped: 13
HURT: 20
total cycles in shared programs: 197840 -> 197845 (<.01%)
cycles in affected programs: 4159 -> 4164 (0.12%)
helped: 13
HURT: 13
R420:
total instructions in shared programs: 103810 -> 103762 (-0.05%)
instructions in affected programs: 4176 -> 4128 (-1.15%)
helped: 29
HURT: 1
total presub in shared programs: 2724 -> 2878 (5.65%)
presub in affected programs: 478 -> 632 (32.22%)
helped: 6
HURT: 40
total omod in shared programs: 411 -> 421 (2.43%)
omod in affected programs: 3 -> 13 (333.33%)
helped: 0
HURT: 7
total temps in shared programs: 16841 -> 16852 (0.07%)
temps in affected programs: 814 -> 825 (1.35%)
helped: 5
HURT: 17
total cycles in shared programs: 162397 -> 162361 (-0.02%)
cycles in affected programs: 5746 -> 5710 (-0.63%)
helped: 30
HURT: 3
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28428 >
2024-04-12 15:35:49 +00:00
Pavel Ondračka
a35a158b09
r300: check for the extra restrictions on presubtract swizzles
...
And don't use presubtract in the first place instead of relying on the
dataflow swizzle pass to sort things up later.
Just two shaders in shader-db hits this, but this patch prevents some
regressions in dEQP when we later move presubtract after the dataflow
swizzle pass.
RV420:
presub helped: shaders/chromeos/24.shader_test FS: 6 -> 2 (-66.67%)
presub helped: shaders/chromeos/21.shader_test FS: 6 -> 2 (-66.67%)
cycles helped: shaders/chromeos/24.shader_test FS: 79 -> 78 (-1.27%)
cycles helped: shaders/chromeos/21.shader_test FS: 47 -> 46 (-2.13%)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28428 >
2024-04-12 15:35:49 +00:00
Mike Blumenkrantz
ede4e4aae3
lavapipe: clamp 32bit query results to low 32 bits rather than MIN
...
this should be more consistent with hardware driver behavior
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28671 >
2024-04-12 13:36:56 +00:00
Mike Blumenkrantz
129bebd519
llvmpipe: clamp 32bit query results to low 32 bits rather than MIN
...
this should be more consistent with hardware driver behavior
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28671 >
2024-04-12 13:36:55 +00:00
Martin Krastev
6067426549
svga/ci: add two new piglit flakes to svga
...
Two more piglit flakes appeared after yesterday's piglit uprev:
spec@egl_chromium_sync_control@conformance
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28712 >
2024-04-12 13:06:07 +00:00
Danylo Piliaiev
56dba5489a
ir3: Do not set clip/cull mask if no one writes clip/cull
...
This may happen when undefined value is written into gl_ClipDistance,
then it gets optimized out by nir_opt_undef.
Fixes GPU faults in Tropico 5 (D3D11) on at least A750.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28109 >
2024-04-12 11:11:52 +00:00
Lionel Landwerlin
35831dded5
anv: increase maxResourceDescriptorBufferRange on DG2+
...
The current helper anv_physical_device_bindless_heap_size()
artificially limited the surface heap size on DG2+ to 128MB. The HW is
actually 4GB capable, but we have workaround requiring to overlap the
dynamic state heap with the bindless surface state heap.
The actual limit comes from our virtual address space setup. It is
different between descriptor buffers and regular descriptors.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fe037dec6e
("anv: expose VK_EXT_descriptor_buffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27873 >
2024-04-12 10:23:39 +03:00
Samuel Pitoiset
c82b8a8153
radv: stop ignoring shader stages that don't need to be imported with GPL
...
The Vulkan specification has been updated since I wrote this and it's
invalid now.
This marks some tests as expected failures because they are invalid
now and they will be removed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28692 >
2024-04-12 06:24:43 +00:00
Patrick Lerda
2b6993cb71
r300: fix r300_draw_elements() behavior
...
Indeed, the pointer processed by r300_upload_index_buffer() was not the right one.
This is the reason why "deqp-gles2 --deqp-case=dEQP-GLES2.functional.draw.draw_elements.indices.user_ptr.index_byte"
was failing (the logs are below). This change corrects this issue and makes the related deqp tests work properly.
This change considers that r300_upload_index_buffer() sets indexBuffer to NULL. The indexBuffer resource
should be properly freed once the buffer is processed. This is required to avoid another refcnt imbalance
(another kind of memory leak).
==9962==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200000721f at pc 0x7fd57b54a9a0 bp 0x7fffd2c39290 sp 0x7fffd2c38a40
READ of size 30 at 0x60200000721f thread T0
#0 0x7fd57b54a99f in __interceptor_memcpy (/usr/lib64/libasan.so.6.0.0+0x3c99f)
#1 0x7fd570d10528 in u_upload_data ../src/gallium/auxiliary/util/u_upload_mgr.c:333
#2 0x7fd57114142b in r300_upload_index_buffer ../src/gallium/drivers/r300/r300_screen_buffer.c:44
#3 0x7fd57113943c in r300_draw_elements ../src/gallium/drivers/r300/r300_render.c:632
#4 0x7fd57113bbc4 in r300_draw_vbo ../src/gallium/drivers/r300/r300_render.c:840
#5 0x7fd570d212e2 in u_vbuf_draw_vbo ../src/gallium/auxiliary/util/u_vbuf.c:1487
#6 0x7fd56fceb873 in _mesa_validated_drawrangeelements ../src/mesa/main/draw.c:1709
#7 0x7fd56fcf28c5 in _mesa_DrawElementsBaseVertex ../src/mesa/main/draw.c:1852
Fixes: 330d0607ed
("gallium: remove pipe_index_buffer and set_index_buffer")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28523 >
2024-04-12 05:05:27 +00:00
Timothy Arceri
9e056fc962
glsl: remove now unused do_dead_functions()
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:17:31 +10:00
Timothy Arceri
875ca9ec11
glsl: move validate_{stage}_shader_executable() to the nir linker
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:17:31 +10:00
Timothy Arceri
316165afec
glsl: use info from shader when linking
...
We update the program copy of info at the end of linking. During linking
we should use the shader copy. This change is required to avoid updating
both in the following patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:15:48 +10:00
Timothy Arceri
38398cc6bb
glsl: use shader info to store gs verts
...
Rather than passing this value around we can just store it directly
in its final location.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:15:48 +10:00
Timothy Arceri
0dcbd8a8a4
glsl: move cross_validate_uniforms() to the nir linker
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:15:48 +10:00
Timothy Arceri
0d8ee7534e
glsl: make validate_intrastage_arrays() usable across files
...
This will be used in the following patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:15:48 +10:00
Timothy Arceri
fe2e60a4d3
glsl: add some data members to nir_variable
...
These will be used in the following patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:15:48 +10:00
Timothy Arceri
344bcd1703
glsl: move mode_string() to helper
...
This will be used from multiple files in the following patches.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690 >
2024-04-12 12:15:48 +10:00
nyanmisaka
7d00b759f3
radeonsi/uvd_enc: update to use correct padding size
...
Update padding size calculation to use cropping.
Original method could result in 0 padding, which
generated unnessary noise in the encoding result.
Cc: mesa-stable
Fixes : mesa/mesa#9196
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28369 >
2024-04-11 21:49:54 +00:00
Sagar Ghuge
0aa632b519
anv: Use appropriate argument format for indirect draw
...
If index is specified we can use the DRAWINDEXED otherwise we can simply
use DRAW argument format.
v2: (Rohan & Lionel)
- Fix the aligned_stride check
Fixes: 6d4f43f0d6
("anv: Emit EXECUTE_INDIRECT_DRAW when available")
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28658 >
2024-04-11 21:26:37 +00:00
Collabora's Gfx CI Team
7e82c59fa4
Uprev Piglit to dd6f7eaf82e8dd442da28b346c236141cbcce0b1
...
1e631479c0...dd6f7eaf82
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28088 >
2024-04-11 20:49:33 +00:00
Hannes Mann
f419a8be90
frontends/va: Only export one handle for contiguous planes
...
If the driver stores all planes contiguously in memory, only one BO
needs to be exported from vaExportSurfaceHandle. This is required
for Chromium's VaapiVideoDecoder to work on radeonsi and r600.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165 >
2024-04-11 20:14:16 +00:00
Hannes Mann
4f4c9ff68a
gallium/pipe: Add contiguous planes per-surface attribute
...
Attribute is set when textures are created by compatible drivers, but
not when importing from DMA-BUF.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165 >
2024-04-11 20:14:15 +00:00
Mike Blumenkrantz
934188c3ca
zink: block LA formats with srgb
...
this doesn't work correctly
fixes #7218
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28674 >
2024-04-11 19:52:52 +00:00
Mike Blumenkrantz
d2507a6916
nir/lower_clip: handle scalarized io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28308 >
2024-04-11 18:57:26 +00:00
Mike Blumenkrantz
49714125d5
nir/lower_clip: surgerize for lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28308 >
2024-04-11 18:57:25 +00:00
Mike Blumenkrantz
7760642d2e
v3d: set use_clipdist_array=true for lower_clip?
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28308 >
2024-04-11 18:57:25 +00:00
Rhys Perry
c2a467dd4b
aco: remove occupancy check in dealloc_vgprs()
...
This didn't consider that there might be different programs using the same
SIMD.
fossil-db (navi31):
Totals from 68129 (85.81% of 79395) affected shaders:
Instrs: 23230924 -> 23388315 (+0.68%)
CodeSize: 120636544 -> 121272888 (+0.53%)
Latency: 115645106 -> 115683965 (+0.03%)
InvThroughput: 18804076 -> 18806912 (+0.02%); split: -0.00%, +0.02%
Branches: 404644 -> 407945 (+0.82%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28633 >
2024-04-11 18:30:47 +00:00
Rhys Perry
9775318aa9
aco: don't include the clause in VMEM_CLAUSE_MAX_GRAB_DIST
...
By excluding the clause from this check, we only count the number of
instructions that we're actually moving the store across.
fossil-db (navi31):
Totals from 4409 (5.55% of 79395) affected shaders:
MaxWaves: 120234 -> 119738 (-0.41%)
Instrs: 3184513 -> 3184702 (+0.01%); split: -0.09%, +0.09%
CodeSize: 15942424 -> 15943276 (+0.01%); split: -0.07%, +0.07%
VGPRs: 248448 -> 255816 (+2.97%); split: -0.04%, +3.00%
Latency: 18841156 -> 18829451 (-0.06%); split: -0.08%, +0.02%
InvThroughput: 2549229 -> 2552042 (+0.11%); split: -0.02%, +0.13%
VClause: 67760 -> 64138 (-5.35%); split: -5.40%, +0.06%
SClause: 82921 -> 82922 (+0.00%)
Copies: 270026 -> 273399 (+1.25%); split: -0.14%, +1.39%
VALU: 1793374 -> 1796743 (+0.19%); split: -0.02%, +0.21%
VOPD: 798 -> 802 (+0.50%); split: +0.63%, -0.13%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28633 >
2024-04-11 18:30:47 +00:00
Job Noorman
8d55b6155c
freedreno,computerator: support initialization of buffers
...
The following syntax can now be used to set the initial content of
buffers:
@buf size (reg) val0, val1, ...
If the buffer is not fully initialized, remaining values will be set to
zero.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28625 >
2024-04-11 15:56:54 +00:00
Juan A. Suarez Romero
b3e65c77c4
v3d: configure polygon mode when enabled
...
The hardware do not support setting different polygon modes for front
and back faces at the same time. In this case, unless we are culling one
of the faces, we show a warning to the user.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28675 >
2024-04-11 14:44:55 +00:00
Gert Wollny
6cc119522e
tsan-blacklist: surpress two race conditions in TC
...
They are both of no consequence
v2: fix comment
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Gert Wollny
ccff97f7ba
tsan-blacklist: Ignore race in get_max_abs_timeout_ns
...
The returned value is independent of the race, so surpress it.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Gert Wollny
9e7112f4df
llvmpipe: Don't emit certain debug code when TSAN is enabled
...
It produces race conditions and is probably not interesting when running
TSAN.
v2: use #if and define values instead of "#if defined" (Yonggang Luo)
v3: remove some leftover text
v4: drop ws changes (Yonggang Luo)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Gert Wollny
7c36c4f0a4
tsan-blacklist: ignore race when reading lp_fence signalled status
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Gert Wollny
7dc19d941e
util/u_queue: read fence->signalled locked with TSAN
...
When TSAN is enabled we use standard mutexes instead of futexes. With
futexes the fence->signalled is read using an atomic operation, to best
mimic this let's protect the read with a locked mutex.
This avoids TSAN reporting a race condition (false positive with
futexes) with Zink when accessing the pipeline cache.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Gert Wollny
aa347029da
futex: disable futexes when compiling with tsan
...
Thread sanitizer doesn't support futexes, so don't use them in this case
and fall back to standard mutexes. With that we can avoid tsan reporting
a large number of false positives.
v2: use #if instead of #ifdef to test the value of the define
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Gert Wollny
0d46e0e88b
meson: Add blacklist when compiling with tsan
...
Check whether the compiler actually supports it and if
not than warn about it. Note that meson will also
suggest that one should use the build-in flag, but this
is just sloppy testing for -fsanitize, -fsanitize-blacklist
is actually not available as build-in option.
v2: define THREAD_SANITIZER to 1 or 0 (suggested by Yonggang Luo)
v3: Update comment about meson warning (Dylan Baker)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28650 >
2024-04-11 13:52:36 +00:00
Vignesh Raman
446672f9b1
ci: Implement support for replaying ANGLE restricted traces
...
ANGLE traces must be compiled together with binaries into binary format.
Introduce them for AMD Raven device, replaying on Vulkan (radv).
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24270 >
2024-04-11 12:13:34 +00:00
Jonathan Gray
094a0a2ccb
intel/dev: 0x7d45 is mtl-u not mtl-h
...
Ref: https://ark.intel.com/content/www/us/en/ark/products/237327/intel-core-ultra-7-processor-155u-12m-cache-up-to-4-80-ghz.html
Ref: Core Ultra Processor Datasheet, Doc. No.: 792044, Rev.: 002
Fixes: 48ff68820e
("intel/dev: Enable MTL PCI ids")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27973 >
2024-04-11 10:03:40 +00:00
Jordan Justen
5238b773b4
intel/dev: Change ATS-M 0x56c2 string from 170G to 170V
...
Ref: bspec 44477
Ref: 9123b5d5b0
Fixes: ce900dcbb1
("intel/dev: Add ATS-M PCI ID for Data Center GPU Flex 170G")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28687 >
2024-04-11 07:38:21 +00:00
Georg Lehmann
5e6e3c7f89
nir: rename to nir_opt_16bit_tex_image
...
Not sure what I was thinking when I wrote this pass (probably not much),
but opt makes more sense and matches other nir passes.
Fold is usually used for constants, and this pass handles more than those.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28662 >
2024-04-11 06:10:33 +00:00
Dave Airlie
16682b6054
radv/video: don't advertise timestamp bits for decode/encode
...
At this point I'm not sure if the queues can support timestamps.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 13:40:04 +10:00
Dave Airlie
ee64a385b6
radv/video: handle encode control parameters better.
...
The spec clarifies different operations for the reset flags,
just clean it up to follow it better.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 13:40:04 +10:00
Dave Airlie
05cd42417f
radv/video: enable video encoding behind perftest flag
...
This probes the vcn firmware version to make sure it can support
the encode extensions properly, then uses the perf test flag if so.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 13:40:02 +10:00
Dave Airlie
967e4e09de
radv/video: add h265 encode support
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 13:40:02 +10:00
Dave Airlie
54d499818c
radv/video: add initial support for encoding with h264.
...
This adds the encoding infrastructure along with support for h264.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 13:28:32 +10:00
Dave Airlie
800c03ffbd
radv/video: add parameter patching calls.
...
This is just infrastucture for encoding to plug into to patch
session parameters at create time.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 12:57:13 +10:00
Dave Airlie
1d74661dfd
radv: add encoder queue support pieces and encoder queries.
...
This is just checks for events and avoiding an assert in the winsys,
and adds support for the encoder queries.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 12:57:05 +10:00
Dave Airlie
f6c27bea26
radv: add direct cs emit for a dword.
...
This lets you write a dword at a certain location, this is needed
for the encode queues.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 12:48:29 +10:00
Dave Airlie
1ce215c5a3
radv/video: export unified queue header/tail functions.
...
These will be used for encode as well.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 12:48:26 +10:00
Dave Airlie
1e16851ab1
vulkan/video: copy the profile over for h264 encode.
...
This allows is to use it for encoding h264 headers.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 12:48:22 +10:00
Eric Engestrom
24b6a047ee
docs: add sha256sum for 24.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28680 >
2024-04-11 01:32:09 +00:00
Eric Engestrom
ead2f6d7f1
docs: update calendar for 24.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28680 >
2024-04-11 01:32:09 +00:00
Eric Engestrom
030473f5b2
docs: add release notes for 24.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28680 >
2024-04-11 01:32:09 +00:00
Timur Kristóf
cfb8f3c1a5
radv: Clean up gathering linked I/O info.
...
The code is more concise now without these helpers.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28488 >
2024-04-11 00:44:45 +00:00
Timur Kristóf
0e481a4adc
radv: Always use fixed I/O locations for TCS outputs in VRAM.
...
The goal of this patch is to make the TCS->TES shader I/O
independent of assigned I/O driver locations.
Always using the unlinked approach means a larger stride when
calculating some memory addresses, but otherwise should have no
perf impact whatsoever, because this only affects how TCS
outputs are stored to VRAM, and doesn't affect how they are
stored in LDS.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28488 >
2024-04-11 00:44:45 +00:00
Timur Kristóf
892ebf2040
radv: Add radv_gather_unlinked_io_mask to shader info header.
...
We will call this from another file.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28488 >
2024-04-11 00:44:45 +00:00
Timur Kristóf
e8ddf1a064
radv: Remove dead code for creating per-patch IO mask.
...
Not relevant or necessary anymore.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28488 >
2024-04-11 00:44:45 +00:00
Timur Kristóf
66f4dd292c
radv: Keep track of TCS outputs that need LDS.
...
Instead of reserving LDS space for all TCS outputs, we will now
only reserve it for TCS outputs which really need it, ie. those
which are read by the TCS.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28488 >
2024-04-11 00:44:45 +00:00
Georg Lehmann
b44f97a7ba
nir: don't try to optimize exclusive min/max scan to inclusive
...
SPIR-V rules for fmax/fmin scans are *very* stupid.
The required identity is Inf instead of NaN but if one input
is NaN, the other value has to be returned.
This means for invocation 0:
min(subgroupExclusiveMin(NaN), NaN) -> Inf
subgroupInclusiveMin(NaN) -> undefined (NaN for any sane backend)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27536 >
2024-04-11 00:03:13 +00:00
Lucas Stach
df63f188e8
etnaviv: fix separate depth/stencil clears
...
TS only tracks the clear state on a per-tile basis, so for a combined
depth/stencil buffer there is no way to fast-clear the one without also
affecting the other. Fall back to a regular clear when the clear_bits
tell us that not all channels of the buffer are to be cleared and make
sure to flush/invalidate any pending TS state when we do so.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28668 >
2024-04-10 23:46:01 +00:00
Erik Kurzinger
c1401fda8a
wsi/wayland: don't use explicit sync with sw
...
When using software rendering with the Wayland WSI we should not try to
use explicit sync even if it is supported by the compositor. Not only is
it not necessary in that case, but the protocol explicitly disallows
using it with shared memory buffers.
As a fix, first we modify wsi_configure_cpu_image to not set
info->explicit_sync to true for CPU images. However, we still want the
implicit_sync parameter in wsi_create_buffer_blit_context to be set to
false since CPU images don't need implicit sync either. To ensure that
remains so, we add a new field to wsi_image_info tracking the image
type, and then only enable implicit sync for DRM images when explicit
sync is not supported.
Additionally, we modify wsi_wl_use_explicit_sync to return false when
device->sw is true.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28678 >
2024-04-10 23:08:36 +00:00
David Heidelberg
44db558cea
ci: disable sona devices, all devices are offline
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28683 >
2024-04-10 22:41:20 +00:00
Connor Abbott
c0867f4811
freedreno/afuc: Add initial support for a750
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28628 >
2024-04-10 21:51:59 +00:00
Connor Abbott
04af4cbfea
freedreno/afuc: Add a7xx new-style branch instructions
...
It turns out that what I guessed was "preemptleave" was actually "bl"
which writes a return address to $1b which I've renamed $lr. On a750
this is combined with a new indirect jump instruction to create a more
"standard" function call ABI in the AQE firmware using $lr and $1a which
is $sp. This ABI is used for what appears to be compiled functions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28628 >
2024-04-10 21:51:59 +00:00
Connor Abbott
9c0ba24c70
freedreno/afuc: Switch to using the GPU ID in the firmware
...
Starting with a750, the control registers are shuffled around even
though the ISA is compatible. The format of the file name also changes.
This would make support convenient, except that there is already a
perfectly good way to ID the hardware that we aren't using: the first
dword contains a hardware version field in addition to the firmware
version. Use this field as the ID that determines everything else (ISA
version, control register layout to use, etc.). This means that when
assembling and disassembling we must parse the first dword in order to
get it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28628 >
2024-04-10 21:51:59 +00:00
Samuel Pitoiset
9840607f4b
radv: rework and add a helper for hashing a compute pipeline
...
It should be similar to the previous hashing method but it allows us
to get a hash directly from a pCreateInfo for future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28651 >
2024-04-10 20:05:22 +00:00
Samuel Pitoiset
05cd85afc6
radv: add a helper for hashing pipelines
...
Similar between graphics/compute/raytracing pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28651 >
2024-04-10 20:05:22 +00:00
Samuel Pitoiset
c6cb3b3b93
radv/rt: remove dead code about intersection shaders in radv_pipeline_get_shader_key()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28651 >
2024-04-10 20:05:22 +00:00
Sagar Ghuge
7cc604ed1b
anv: Fix typo in DestinationAlphaBlendFactor value
...
Workaround states that if Destination Alpha Blend
Factor==BLENDFACTOR_ZERO, instead use BLENDFACTOR_CONST_ALPHA with the
constant alpha set to 0.
We had typo while setting the DestinationAlphaBlendFactor, use
BLENDFACTOR_CONST_ALPHA instead of BLENDFACTOR_CONST_COLOR.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28640 >
2024-04-10 19:42:52 +00:00
Georg Lehmann
1f4662cc4e
radv: move alu
...
The stats are decent now that aco has an ILP scheduler
Foz-DB Navi31:
Totals from 73549 (92.59% of 79439) affected shaders:
MaxWaves: 2226952 -> 2229352 (+0.11%); split: +0.21%, -0.10%
Instrs: 44690384 -> 44905884 (+0.48%); split: -0.10%, +0.58%
CodeSize: 232666088 -> 233474808 (+0.35%); split: -0.10%, +0.45%
VGPRs: 2998036 -> 2986936 (-0.37%); split: -0.58%, +0.21%
SpillSGPRs: 7176 -> 7170 (-0.08%); split: -0.53%, +0.45%
SpillVGPRs: 1124 -> 1068 (-4.98%); split: -5.07%, +0.09%
Scratch: 6981632 -> 6977792 (-0.06%)
Latency: 297998345 -> 298541597 (+0.18%); split: -0.35%, +0.53%
InvThroughput: 49162321 -> 49039572 (-0.25%); split: -0.46%, +0.21%
VClause: 881737 -> 884147 (+0.27%); split: -0.35%, +0.62%
SClause: 1371928 -> 1373973 (+0.15%); split: -0.78%, +0.92%
Copies: 2920492 -> 2927281 (+0.23%); split: -0.84%, +1.08%
Branches: 890209 -> 890121 (-0.01%); split: -0.03%, +0.02%
PreSGPRs: 2376670 -> 2377251 (+0.02%); split: -0.25%, +0.28%
PreVGPRs: 2229634 -> 2208966 (-0.93%); split: -1.04%, +0.11%
VALU: 25124040 -> 25127521 (+0.01%); split: -0.07%, +0.08%
SALU: 4343167 -> 4361062 (+0.41%); split: -0.23%, +0.65%
VMEM: 1582363 -> 1582245
(-0.01%); split: -0.01%, +0.00%
VOPD: 8709 -> 8708 (-0.01%); split: +2.35%, -2.37%
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27032 >
2024-04-10 17:05:59 +00:00
Georg Lehmann
d9a8ab0e01
radv: sink alu
...
The stats are decent now that aco has an ILP scheduler.
Foz-DB Navi31:
Totals from 50743 (63.88% of 79439) affected shaders:
MaxWaves: 1504722 -> 1506408 (+0.11%); split: +0.12%, -0.01%
Instrs: 37550246 -> 37543687 (-0.02%); split: -0.12%, +0.10%
CodeSize: 194277496 -> 194253004 (-0.01%); split: -0.11%, +0.10%
VGPRs: 2266056 -> 2254320 (-0.52%); split: -0.57%, +0.06%
SpillSGPRs: 7893 -> 6861 (-13.07%); split: -14.03%, +0.95%
SpillVGPRs: 1359 -> 1124 (-17.29%)
Scratch: 7006720 -> 6981632 (-0.36%)
Latency: 268082325 -> 267597538 (-0.18%); split: -0.57%, +0.39%
InvThroughput: 43592221 -> 43287284 (-0.70%); split: -1.14%, +0.44%
VClause: 759701 -> 761164 (+0.19%); split: -0.24%, +0.43%
SClause: 1133209 -> 1138406 (+0.46%); split: -0.32%, +0.78%
Copies: 2639405 -> 2632081 (-0.28%); split: -0.81%, +0.53%
Branches: 830411 -> 831358 (+0.11%); split: -0.02%, +0.13%
PreSGPRs: 1802510 -> 1798852 (-0.20%); split: -0.57%, +0.36%
PreVGPRs: 1755801 -> 1747642 (-0.46%); split: -0.51%, +0.04%
VALU: 20974500 -> 20967009 (-0.04%); split: -0.08%, +0.04%
SALU: 3901240 -> 3900098 (-0.03%); split: -0.23%, +0.20%
VMEM: 1397890 -> 1397486 (-0.03%)
VOPD: 4837 -> 4902 (+1.34%); split: +2.03%, -0.68%
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27032 >
2024-04-10 17:05:58 +00:00
Peyton Lee
8479c3bddb
radeonsi/vpe: add support for p010
...
add support for p010, correct the settings of format and buffer pitch.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28518 >
2024-04-10 16:30:14 +00:00
Christian Gmeiner
d330676c22
etnaviv: Remove offline shader compiler
...
This compiler is too limited for the benefit it could bring. A great
replacement for it is shaderdb's runner.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28653 >
2024-04-10 16:09:40 +00:00
David Rosca
fce9a31ba0
frontends/vdpau: Support creating VDP_CHROMA_TYPE_420_16 surfaces
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28317 >
2024-04-10 15:00:02 +00:00
David Rosca
b17cf67895
frontends/vdpau: Fix cdef strengths and lr_unit_shift in AV1 decode
...
Fixes: f9358cb105
("frontends/vdpau: Add support for VDPAU AV1 decoding.")
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28317 >
2024-04-10 15:00:02 +00:00
Martin Krastev
33785a2ab1
svga/ci: re-enable vmware farm
...
Re-enable the farm after an outage. Latter was caused by lava-ci running out
of free space after accumulation of artifacts, mainly docker images. Mend by:
* setting a cronjob for docker system prune --all --volumes
* bumping up lava-ci fs to 128GB
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28667 >
2024-04-10 14:25:02 +00:00
Hans-Kristian Arntzen
2e502542ac
vulkan/runtime: Check correct callback list for binding report.
...
instance_callbacks is only used for vkCreateInstance time callbacks.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 34e8e5d76f
("vulkan/debug_utils: add a helper for reporting address binding")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28649 >
2024-04-10 13:50:56 +00:00
Gert Wollny
66066650c9
zink: if AcquireNextImageKHR fails with VK_NOT_READY or VK_TIMEOUT retry
...
Gradually increase timeout until we reach a limit on which we abort.
This fixes a crash with
spec@ext_framebuffer_blit@fbo-blit-check-limits
on llvmpipe.
Fixes: d1cac5ed05
zink: acquire - maybe clear timeout after waiting for presentation fence
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28558 >
2024-04-10 13:21:43 +00:00
Mike Blumenkrantz
a5a2bd2969
lavapipe: don't clamp index buffer size for null index buffer draws
...
this should execute however many draws the user is trying to execute
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28656 >
2024-04-10 12:59:58 +00:00
Jonathan Gray
fef9ad6f66
intel/dev: update DG2 device names
...
Ref: 864f42116c/shared/source/dll/devices/devices_base.inl (L53)
Fixes: 98f3d072b4
("intel/dev: Add 0x56be and 0x56bf DG2 PCI IDs")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28643 >
2024-04-10 12:02:58 +00:00
Jonathan Gray
a02d8c811d
intel/dev: update DG2 device names
...
Ref: https://ark.intel.com/content/www/us/en/ark/products/237549/intel-arc-a380e-graphics.html
Ref: https://ark.intel.com/content/www/us/en/ark/products/237552/intel-arc-a310e-graphics.html
Ref: https://ark.intel.com/content/www/us/en/ark/products/237550/intel-arc-a370e-graphics.html
Ref: https://ark.intel.com/content/www/us/en/ark/products/237551/intel-arc-a350e-graphics.html
Ref: 864f42116c/shared/source/dll/devices/devices_base.inl (L49)
Fixes: c74a578c54
("intel/dev: Add 0x56ba-0x56bd DG2 PCI IDs")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28643 >
2024-04-10 12:02:58 +00:00
Samuel Pitoiset
8d5072bb7f
radv: fix missing unbind report when a buffer is destroyed
...
There should be a matching unbound operation with
VK_EXT_device_address_binding_report.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Samuel Pitoiset
50060072a7
radv: fix missing unbind report when an image is destroyed
...
There should be a matching unbound operation with
VK_EXT_device_address_binding_report.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Samuel Pitoiset
ec55364f9b
radv: add a helper to set image bindings
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Samuel Pitoiset
91c48d8f43
radv/rmv: fix image binds logging for disjoint images
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Samuel Pitoiset
04c9369c55
radv: fix addr binding report for disjoint image binds
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Samuel Pitoiset
ea84b50e4e
radv: fix missing addr binding report for WSI image binds
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Samuel Pitoiset
8626844a00
radv/rmv: fix missing image bind logging for WSI images
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28659 >
2024-04-10 11:23:40 +00:00
Corentin Noël
f783ca5926
ci: Add VK_DRIVER_FILES passthrough from jobs to tests
...
Allows to specify the driver in use when running Vulkan tests under crosvm.
Note that this is specifically used in virglrenderer CI.
Fixes: 09e5b3da76
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28609 >
2024-04-10 09:46:31 +00:00
Corentin Noël
e16849a0d3
ci: Change propagated variables into an array
...
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28609 >
2024-04-10 09:46:31 +00:00
Konstantin Seurer
03483ecb11
radv: Destroy leaf_updateable_pipeline
...
The pipeline was never destroyed. Fixes an assert in ac_sqtt_finish.
Fixes: 217072d
("radv/rt: Force active leaves for every updateable accel struct")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28557 >
2024-04-10 08:23:14 +00:00
Georg Lehmann
702f40f415
aco: add ra test for hi v_interp_p2_f16
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:27 +00:00
Georg Lehmann
e2cb9c57a2
aco: use v_interp_p2_f16 opsel
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:27 +00:00
Georg Lehmann
d15ca421c4
aco/gfx9: all non legacy opsel instructions only write 16bits
...
This affects 16bit VOP3 instructions that were new on gfx9, like max3.
No Foz-DB changes on vega10.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:27 +00:00
Georg Lehmann
18706947e8
aco/tests: add assembler tests for interp high_16bits
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:27 +00:00
Georg Lehmann
4b5016a537
aco: support high_16bits FS IO
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:27 +00:00
Georg Lehmann
af199c6949
aco: swap opsel and wait_exp for vinterp
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:26 +00:00
Georg Lehmann
81a334a594
aco/assembler: add vintrp high_16bit support
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:26 +00:00
Georg Lehmann
893ee883fe
aco: use v1 definition for v_interp_p1lv_f16
...
The result of the first interpolation step is always fp32.
Fixes: 1647e098e9
("aco: implement 16-bit interp")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435 >
2024-04-10 07:49:26 +00:00
Samuel Pitoiset
2526d1020b
radv/rt: stop passing pCreateInfo to radv_ray_tracing_pipeline_cache_search()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645 >
2024-04-10 06:38:38 +00:00
Samuel Pitoiset
5db1ce3733
radv/rt: handle creation feedback like graphics/compute pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645 >
2024-04-10 06:38:38 +00:00
Samuel Pitoiset
c73e5e08e0
radv/rt: constify device in radv_init_rt_stage_hashes()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645 >
2024-04-10 06:38:38 +00:00
Samuel Pitoiset
7bb437f3d6
radv: stop using a graphics pipeline for generating the graphics key
...
For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645 >
2024-04-10 06:38:37 +00:00
Samuel Pitoiset
1b05570d6c
radv: add skip_shaders_cache also for compute/rt pipelines
...
Similarly to graphics pipelines. For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645 >
2024-04-10 06:38:37 +00:00
Samuel Pitoiset
f6d9772010
radv: determine if the cache is disabled at device creation time
...
It's a cleanup but also for future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28645 >
2024-04-10 06:38:37 +00:00
Tapani Pälli
0413729bc3
intel/compiler: add assert for Wa_22017182272
...
According to the workaround description:
"For all Data Port messages, DP_FLUSH_TYPE should not be
programmed to Discard."
This issue happens only with certain circumstances but as we are not
using discard, add assert and deal with it later if discard is taken in
to use.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24422 >
2024-04-10 06:03:58 +00:00
Tapani Pälli
7d4c23991a
intel/blorp: remove unused blorp batch flag
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28623 >
2024-04-10 05:38:24 +00:00
Yiwei Zhang
c603dee104
venus: use STACK_ARRAY to simplify descriptor set update and push
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
1521415092
venus: refactor descriptor set update and push
...
Split the write image counting out to a separate helper
vn_descriptor_set_count_write_image to prepare for STACK_ARRAY.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
563a61878c
venus: drop vn_should_sanitize_descriptor_set_writes
...
The check won't reduce much of the overhead but also adds more when
something is to be fixed (mostly the case for push descriptor).
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
21dee4d463
venus: misc set alloc and cleanup refactors
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
e488b2f85e
venus: optimize mutable state restore
...
Summary:
1. skip zero count
2. no need to check last binding count on the restore path
3. flatten the helper to avoid a 2nd pass in free_descriptors
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
799ac5d77b
venus: set alloc to skip earlier for reserved and invalid bindings
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
0f47d43eee
venus: move async_set_allocation check outside helpers
...
This is to balance with other checks against it, and meanwhile making it
explicit that real descriptor free shouldn't call the free helper.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Yiwei Zhang
7d5c046c80
venus: rely on enum vn_descriptor_type for internal trackings
...
then we don't have to convert at runtime for set allocations
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28563 >
2024-04-10 01:01:37 +00:00
Jesse Natalie
2c1cb65949
d3d12: Include <shlobj.h> with lowercase name
...
The Windows SDK file is <ShlObj.h> but MinGW uses <shlobj.h>. Since
Linux is case-sensitive and Windows isn't, use the MinGW casing.
Fixes: 05b66efb
("d3d12: Add a debug flag for loading WinPixGpuCapturer.dll")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10970
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28635 >
2024-04-09 20:30:13 +00:00
M Henning
1fb74672a9
nak: Use undef for unset FSOut components
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27742 >
2024-04-09 20:13:16 +00:00
M Henning
fdfccfa8fa
nak: Set fewer bits in writes_color
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27742 >
2024-04-09 20:13:16 +00:00
M Henning
078fe5454e
nak: Fix ldg/stg/atomg encoding to use globalmem
...
Previously, we were encoding these as the generic pointer ld/st/atom,
which often works but would likely break if you happened to allocate
a page in the wrong spot.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28589 >
2024-04-09 19:51:25 +00:00
Lucas Fryzek
b4bf44a574
ci/lp: Remove ext buffer YUV tests from fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28612 >
2024-04-09 19:13:34 +00:00
Lucas Fryzek
58b4bf04e4
lp: Wrap udmabuf usage in HAVE_LIBDRM ifdef
...
Fixes #10969 by ensuring umdabuf functionality is only used when libdrm
is available.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28612 >
2024-04-09 19:13:34 +00:00
Chia-I Wu
18e6bb322e
radv: fix 2d/3d image copy on compute queue
...
build_nir_itoi_compute_shader did not handle copies between 2D and 3D
images.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28605 >
2024-04-09 18:15:41 +00:00
Samuel Pitoiset
fdffa675f9
docs: mark VK_KHR_maintenance6 as DONE for RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28654 >
2024-04-09 16:53:13 +00:00
Eric R. Smith
4c12ac5f7c
panfrost: fix polygon offset calculation for floating point Z
...
For fixed point Z the offset_units passed to glPolygonOffset
must be scaled by 2, and we do that. However, this scaling is not
needed for floating point output, and actually produces incorrect Z
values. The detailed description of the depth offset is in
e.g. section 13.7.2 of the OpenGL ES 3.2 spec. Note that equation (13.11)
has no factor of 2. That factor is what we get as the minimum
resolvable difference in a 24 bit fixed point format.
After this patch the output Z for a 32 bit floating point depth
buffer exactly match what the software renderer produces, and are extremely
close (off by 1 ULP) to the amdgpu hardware renderer; before the
patch they were significantly different.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28477 >
2024-04-09 16:30:22 +00:00
Sil Vilerino
54ca0b3b21
d3d12/ci: Add vainfo with appverifier CI check
...
This trivially covers VA initialization/destruction path
is working with the d3d12 gallium driver, and also check
for leaks using appverifier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28577 >
2024-04-09 15:37:23 +00:00
Christian Gmeiner
5028a9ede3
ci/etnaviv: Do not skip tex-miplevel piglits
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28631 >
2024-04-09 12:55:21 +00:00
Zan Dobersek
85a8cc14c0
tu/query: improve CP_EVENT_WRITE7::ZPASS_DONE usage
...
The WRITE_SAMPLE_COUNT_DIFF attribute of CP_EVENT_WRITE7 calculates the
difference between the begin and end sample-count values, but it in fact
accumulates that difference in the desired location, so it's renamed
to reflect that.
When writing out the ending-point samples count for the occlusion query
through CP_EVENT_WRITE7::ZPASS_DONE, enable the SAMPLE_COUNT_END_OFFSET and
WRITE_ACCUM_SAMPLE_COUNT_DIFF attributes on the event struct and use the
address of the beginning-count value. The latter adjustment is necessary
since the difference will be written 8 bytes into the buffer and the
ending-count will be written 16 bytes into the buffer.
With the occlusion query result now being handily accumulated in the query
buffer as long as the hardware supports it, the occlusion_query_slot struct
is adjusted to reflect that. On pre-a740 hardware the difference is still
calculated and stored in the result location, whereas on newer hardware
CP_EVENT_WRITE7::ZPASS_DONE can do it for us.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28610 >
2024-04-09 12:04:16 +00:00
Zan Dobersek
1df5ab2562
tu: RB_SAMPLE_COUNT_ADDR is also used on a7xx
...
Remove the 'A6XX' variant attribute from the RB_SAMPLE_COUNT_ADDR register
definition since this register is also used up to a730, being displaced
from a740 onwards by CP_EVENT_WRITE7::WRITE_SAMPLE_COUNT.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28610 >
2024-04-09 12:04:16 +00:00
Zan Dobersek
b2613ba0fb
tu/autotune: use SAMPLE_COUNT_END_OFFSET when writing the ending sample count
...
Use the SAMPLE_COUNT_END_OFFSET attribute when writing out the sample count
at the end of ZPASS_DONE event, if the GPU version supports it. The write
is done 16 bytes into the specified iova address, which is already where
the tu_renderpass_samples struct on top of that address expects the end
value.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28610 >
2024-04-09 12:04:16 +00:00
Lionel Landwerlin
85dd83aa46
anv: only check patch_control_points changes in runtime flush
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28396 >
2024-04-09 11:32:48 +00:00
David Heidelberg
e2bcbcd24f
r600: fix typos
...
No functional changes intended.
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395 >
2024-04-09 08:56:08 +00:00
David Heidelberg
fd3d125343
r600: add license information to the sfn_shader_gs.h
...
Fixes: 79ca456b48
("r600/sfn: rewrite NIR backend")
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395 >
2024-04-09 08:56:08 +00:00
David Heidelberg
722e5bf46f
r600: add license info to the r600_opcodes.h
...
Fixes: a3a94554f5
("r600g: split opcodes out and add wrapper around usage.")
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395 >
2024-04-09 08:56:08 +00:00
David Heidelberg
0020dd85ee
r600: add license header to r600_formats.h
...
The header was missing after the definitions were moved.
Fixes: 82114ac02a
("r600g: switch to a common formats.h file since they are in different regs")
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395 >
2024-04-09 08:56:08 +00:00
David Heidelberg
fb8cf56b75
r600: update licensing to SPDX header
...
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28395 >
2024-04-09 08:56:08 +00:00
David Heidelberg
c423f48204
frontend/nine: fix typos
...
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232 >
2024-04-09 10:30:40 +02:00
Axel Davy
c6468f6547
frontend/nine: Reset should EndScene
...
This was reported by some users.
Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232 >
2024-04-09 10:30:40 +02:00
Axel Davy
d6044cf857
frontend/nine: Fix destruction race
...
As we were checking the bind count after decreasing the ref count,
we could hit a situation where the worker thread decreases the bind count
just after the ref count is decreased, but before the bind count is checked
which would lead to both threads calling the resource dtor.
Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232 >
2024-04-09 10:30:40 +02:00
Axel Davy
b4a14c7ebf
frontend/nine: Fix missing light flag check
...
The constants for ff lights use the VIEW matrix,
thus we must update them if the matrix is dirty.
Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232 >
2024-04-09 10:30:40 +02:00
Axel Davy
d3cec6cdf1
frontend/nine: Fix programmable vs check
...
Checking if context->vs is set is not
equivalent to checking programmable vs
Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232 >
2024-04-09 10:30:39 +02:00
Axel Davy
9063d554f3
frontend/nine: Fix ff ps key
...
The stage index, rather than the
texture coord index was used.
Cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28232 >
2024-04-09 10:30:39 +02:00
Konstantin Seurer
750b2af4d9
lavapipe: Implement VK_KHR_ray_tracing_position_fetch
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
cede129119
lavapipe: Implement VK_EXT_pipeline_library_group_handles
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
1f729d9e2d
lavapipe: Implement KHR_ray_tracing_maintenance1
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
d99e95e033
lavapipe: Implement VK_KHR_ray_tracing_pipeline
...
Uses the existing ray traversal helpers and function calls handled by
gallivm.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
8b71c6d0d1
lavapipe: Fix a memory leak in lvp_push_internal_buffer
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
73259c9ec4
lavapipe: Add an api_stage parameter to update_pcbuf
...
llvmpipe does not support ray tracing stages, so update_pcbuf needs to
be aware of the Vulkan and the llvmpipe stage.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
fd8fd2d791
lavapipe: Inline fill_ubo0
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:02 +00:00
Konstantin Seurer
9482d8cc61
lavapipe: Use the pipeline type in get_pcbuf_size
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
5e0b8334ec
lavapipe: Pass lvp_ray_flags into lvp_aabb_intersection_cb
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
bdab90d120
lavapipe: Add more ray tracing helpers
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
35ad2e37d9
lavapipe: Remove unused ray tracing variables
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
5423a47954
lavapipe: Defer binding compute state
...
Ray tracing uses compute state as well and therefore will need to dirty
it.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
a738ae4838
lavapipe: Lower mem_constant variables
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
8ff444b595
lavapipe: Make lvp_create_pipeline_nir non-static
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
1a718e0adf
lavapipe: Make lvp_shader_init non-static
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
5d43b8c46e
lavapipe: Add lvp_spirv_to_nir
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
04af9b3ac2
llvmpipe: Fix function call handling
...
Fixes using images and samplers inside functions and allows for
function calls outside of kernels.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
85e840786c
nir: Add lavapipe ray tracing intrinsics
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
edc8e011eb
nir/serialize: Encode data for temporaries
...
the location has to be preserved when lowering them to scratch using
nir_lower_vars_to_explicit_types and nir_lower_explicit_io.
cc: mesa-stable
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Konstantin Seurer
1ff8659f41
nir/print: Fix printing booleans with bit_size>1
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28187 >
2024-04-09 07:13:01 +00:00
Paul Gofman
27dba224d3
driconf: add a workaround for Joe Danger
...
CC: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28439 >
2024-04-09 01:29:24 +00:00
Paul Gofman
2abb72f512
driconf: add a workaround for Joe Danger 2
...
CC: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28439 >
2024-04-09 01:29:23 +00:00
Paul Gofman
bd189dbd77
glsl: allow out arrays in #110 with allow_glsl_120_subset_in_110
...
CC: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28439 >
2024-04-09 01:29:23 +00:00
Faith Ekstrand
6b383ca810
nil: Enforce units via Rust types
...
We add a units generic parameter to Extent4D and Offset4D and then make
every helper take and return the right type. The mul and div_* helpers
only half-enforce types but it's better than nothing. We leave them
non-public so no one outside extent.rs uses them.
Reviewed-by: Lina Versace <linyaa@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28639 >
2024-04-09 00:13:01 +00:00
Faith Ekstrand
c3b33de33c
nil: Take a format in el_to_B()
...
Reviewed-by: Lina Versace <linyaa@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28639 >
2024-04-09 00:13:01 +00:00
Faith Ekstrand
5a075785ac
nil: Drop the nil_extent/offset4d() helpers
...
They're only used one place each in NVK and we can just use a struct
initializer instead.
Reviewed-by: Lina Versace <linyaa@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28639 >
2024-04-09 00:13:01 +00:00
Faith Ekstrand
bc0de7a2cf
nil: Add Extent/Offset4D::new() helpers
...
We're about to add a PhantomData to Extent/Offset4D and that'll make it
harder to construct. Adding a helper lets us more easily construct them
elsewhere in the code.
Reviewed-by: Lina Versace <linyaa@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28639 >
2024-04-09 00:13:01 +00:00
Connor Abbott
8f65ecac21
ir3: Use divergence analysis for (jp) and physical CFG
...
This will be important for checking whether we can use scalar registers
for phis.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Connor Abbott
b349dc5c74
ir3: Remove loop shared copy check
...
This is now handled by inserting LCSSA phis similar to how it's handled
in ACO.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Connor Abbott
5ed567fea1
ir3: Run divergence analysis at the end
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Connor Abbott
266adc3e11
ir3: Allow single-predecessor phis
...
These will be used to block propagating shared -> non shared moves out
of loops instead of the current check in ir3_cp.c, similar to what ACO
does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Connor Abbott
42ddbf4ebe
nir/divergence_analysis: Fix load_view_index divergence in VS
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Connor Abbott
223e3727d5
nir/divergence_analysis: Add uniform_load_tears option
...
This "tear" is similar to the original concept of loads/stores tearing,
but across invocations in a wave instead of bytes. Qualcomm seems to
have this problem, at least for some GPUs. This fixes
spec@arb_shader_storage_buffer_object@execution@ssbo-atomiccompswap-int
on a630 once we start relying on divergence analysis for computing
reconvergence properties. For backends that have readFirstInvocation(),
it should be possible to fix the problem by inserting
readFirstInvocation() instead, but a5xx doesn't have it so we can't rely
on it in freedreno.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Connor Abbott
291e6d2940
nir/divergence_analysis: Add ir3-specific intrinsics
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28573 >
2024-04-08 23:20:08 +00:00
Paulo Zanoni
cf7e1f3817
anv, iris: add missing CS_STALL bit for GPGPU texture invalidation
...
The BSpec page "Flush Types" (46213) says the following about the Tex
Invalidate bit:
"Requires stall bit ([20] of DW) set for all GPGPU Workloads."
For newer platforms, this is documented in the description of the
texture invalidation bit in the PIPE_CONTROL page (56551):
"CS Stall bit in PIPE_CONTROL command must be always set for GPGPU
workloads when Texture Cache Invalidation Enable bit is set"
Iris had it only for GFX_VER 9 and 11, while Anv had it missing for
everything.
Please notice that this patch includes a revert of 397e728ef4
.
Fixes: 397e728ef4
("iris: Drop GPGPU Tex Invalidate restriction for TGL+")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28608 >
2024-04-08 22:57:22 +00:00
Zack Rusin
955444e068
svga: Fix instanced draw detection
...
The new GTK+ GL renderer is extensively using instanced rendering. SVGA
driver was incorrectly detecting the instanced draws by only checking
whether the instance count was greater than 1. Base instance has to
be also checked to make sure that the draw correctly offsets the vertex
buffer.
Fix instanced draw detection by checking both the instance count and
the base instance. Fixes the new GTK+ 4 GL renderer.
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com >
Fixes: ccb4ea5a43
("svga: Add GL4.1(compatibility profile) support in svga driver")
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28616 >
2024-04-08 22:35:48 +00:00
Pavel Ondračka
96479794a5
nir/lower_vec_to_regs: always set cursor before inserting decl_reg
...
Otherwise we can end with invalid curson in some cases, specifically,
if we encounter an identity vector and thus neither register
declaration nor swizzle is inserted, it can lead to invalid cursor and a
crash later.
Suggested by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10905
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28581 >
2024-04-08 21:03:46 +00:00
Faith Ekstrand
fc90d4eed9
nil: Make the Rust library the primary build target
...
This just shuffles around the meson to make it so that the Rust library
is the final build target, not a C library. We're still building
fundamentally the same amount of stuff because nil_format_table.c is
still C (C is really good at tables that go in the .data section) and we
still need a wrapper rlib for bindgen. Howver, the Rust library is now
the main thing. When the time comes to start using NIL from other Rust
code, this will mean that we can just build an rlib and it will have
everything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:44 +00:00
Faith Ekstrand
571b77fee7
nil: Delete unused USAGE bits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:44 +00:00
Daniel Almeida
5577128c83
nil: Rewrite the TIC code in Rust
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:44 +00:00
Faith Ekstrand
d5b7dd6ce5
nak/bitview: Add a SetField<f32> implementation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:44 +00:00
Daniel Almeida
426553d61d
nil: Re-implement nil_image in Rust
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
9fdcd217a4
nil: Rename nil_tiling::gob_height_8 to gob_height_is_8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
c13e7b01f9
nvk: Stop using nvk_extent4d short names
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Daniel Almeida
1713b02da7
nil: Rewrite nil_format in rust
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Daniel Almeida
303dc12214
nil: Add the start of a Rust library
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
299f32736a
nil: Move to a single header file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
cdaa8e67e3
nil: Move nil_tic_format to nil_format_table.h
...
This gets it out of nil_format.c/h and decouples things a bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Daniel Almeida
dde95fc039
meson,ci: Add the paste crate
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
923a0a727b
ci: Add cbindgen to the build images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
640d14969e
nouveau/headers: Add Rust bindings for texture headers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
56aefac615
nouveau/headers: Add initial Rust bindings
...
This adds the infrastructure for the nvidia_headers crate. It currently
only has declarations for the texture headers but QMDs should be trivial
to add as well. The plan is to organize it as follows:
crate nvidia_headers {
mod cl9097 {
// Methods
mod tex {
// Texture defines
}
}
mod clc5c0 {
// Methods
mod qmd {
// QMD defines
}
}
}
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
53bc795616
nouveau: Use hyphenated arguments to class_parser.py
...
This is more consistent with other code generators in Mesa.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Faith Ekstrand
0d2008461d
nouveau: Move .rustfmt.toml from NAK to src/nouveau/
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27397 >
2024-04-08 20:28:43 +00:00
Samuel Pitoiset
f387c47365
ci: uprev vkd3d-proton to c3b385606a93baed42482d822805e0d9c2f3f603
...
The current version was 3 months old and a bunch of new tests have
been added since.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28124 >
2024-04-08 19:18:21 +00:00
Rhys Perry
0f2d5ed75c
aco: assume no unreachable blocks
...
These shouldn't happen anymore.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
306a72db1f
aco/tests: add control flow tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
ae63d967d7
aco/tests: add isel test helpers
...
Having NIR-based instruction selection tests instead of GLSL lets us be
more precise with the input NIR.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
543ca160a5
nir,aco: add test intrinsics
...
These don't really do anything. They're just a source and user of SSA
defs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
0a25af1d4e
aco: save/reset/combine has_divergent_continue in uniform branches
...
For
if (uniform) {
if (divergent)
continue
} else {
break
}
we don't need to consider the continue to be divergent.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
46c734ff02
aco: ensure loop exits exist in NIR
...
This simplifies instruction selection and fixes the case where the loop
ends with a continue instruction.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
842191e9ba
aco: remove unreachable merge blocks
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Rhys Perry
863718d62e
nir: add nir_remove_after_cf_node helper
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28301 >
2024-04-08 18:38:39 +00:00
Paulo Zanoni
b0653370d0
vulkan: don't zero-initialize STACK_ARRAY()'s stack array
...
STACK_ARRAY() is used in a lot of places. When games are running we
see STACK_ARRAY() arrays being used all the time: each queue
submission uses 6, WaitSemaphores and syncobj waiting also uses them:
they're constantly present in Vulkan runtime.
There's no need for STACK_ARRAY()'s stack array to be initialized,
callers cannot not depend on it. If the number of elements is greater
than STACK_ARRAY_SIZE, then STACK_ARRAY() will just malloc() the array
and return it not initialized: anybody depending of
zero-initialization is going to break when the array is big.
The reason why we're zero-intializing STACK_ARRAY()'s stack array is
to silence -Wmaybe-uninitialized warnings: see commit d7957df318
("vulkan: fix uninitialized variables"). I don't think that commit is
the ideal way to deal with the problem, so this patch proposes a
better solution.
The problem here is that zero-initializing it adds code we don't need
for every single caller. STACK_ARRAY() already has 63 callers and only
3 of them are affected by the -Wmaybe-uninitialized warining. So here
we undo what commit d7957df318
did and instead we fix the 3 cases
that actually generate the -Wmaybe-uninitialized warnings.
Gcc is only emitting those warinings because it knows that the number
of elements in the array may be zero, so the loops we have that set
elements to the array may end up do nothing, and then we pass the
array uninitialized to other functions.
For the cases related to vk_sync this is just returning VK_SUCCESS
earlier, instead of relying on the check that eventually happens at
__vk_sync_wait_many(). For the vkCmdWaitEvents() function, the Vulkan
spec says that "eventCount must be greater than 0", so the early
return doesn't hurt anybody either. In both cases we make the zero
case faster by not defining an 8-sized array, zero-initializing it,
then returning success without using it.
Reference: d7957df318
("vulkan: fix uninitialized variables")
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28288 >
2024-04-08 17:23:25 +00:00
Sergi Blanch Torne
856db21acd
Revert "ci: disable Collabora's farm due to maintance"
...
This reverts commit fe53d85273
.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28624 >
2024-04-08 16:37:33 +00:00
Lucas Stach
34b6ae96c0
etnaviv: use correct blit box sizes when copying resource
...
The padded width/height is stored in samples, while the blit box
dimensions need to be specified in pixels. Use the unpadded
width/height of the resource levels to generate the blit box
dimensions used to copy a resource. The blit code already extends
those sizes to the padded sizes when necessary and possible.
This commit needed to be reverted previously, as it triggered
a bug in the RS blit path. This bug has been fixed so now we
can reapply this change to get the blit dimensions corrected.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28598 >
2024-04-08 16:19:18 +00:00
Lucas Stach
2964812aac
etnaviv: rs: take src dimensions into account when increasing height alignment
...
When trying to increase the height alignment to unlock multi-pipe resolve for
better performance we need to be careful to not overstep the source dimensions
as this would cause the blit to be rejected.
Do so and also rearrange the code a bit to make it more obvious what is being
done.
Fixes: 797454edfc
("etnaviv: rs: fix blits with insufficient alignment for dual pipe operation")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28598 >
2024-04-08 16:19:18 +00:00
Samuel Pitoiset
7a69d78ba2
aco: use SPDX-License-Identifier
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28622 >
2024-04-08 15:49:25 +00:00
Eric Engestrom
bd68c39f65
mr-label-maker: be explicit about the various CI files
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28596 >
2024-04-08 13:33:51 +00:00
Eric Engestrom
b2f3835d00
mr-label-maker: include */gitlab-ci-inc.yml in GitLab CI changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28596 >
2024-04-08 13:33:51 +00:00
Lionel Landwerlin
2dd321963f
isl: set NullPageCoherencyEnable for depth/stencil sparse surfaces
...
Not setting this bits, it seems we get incorrect depth values (i.e
not zero) for null depth/stencil tiles.
Fixes vkd3d-proton's test_sparse_depth_stencil_rendering
CTS doesn´t seem to exercise any depth/stencil format.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28611 >
2024-04-08 09:03:41 +00:00
Samuel Pitoiset
74955dbed7
radv: enable VK_EXT_shader_object by default
...
This has been a long and painful extension to implement but finally
RADV has support for it on all supported generations. It's passing
VKCTS and GLCTS through Zink but the number of application using ESO
is currently very limited.
This adds RADV_DEBUG=noeso to disable it for debugging purposes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28374 >
2024-04-08 08:36:14 +00:00
Erik Faye-Lund
6bf80841a8
panfrost: add tiler-heap driconfs
...
We currently allocate 10 MB up-front for tiler heaps. That can sometimes
be a lot, depending on the system. So let's add some DRIconf variables to
allow tweaking these.
Until we have incremental-rendering implemented, it's a bit risky to lower
these too much. Be warned.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28594 >
2024-04-08 08:17:08 +00:00
Erik Faye-Lund
d55f85491c
panfrost: silence compiler warning
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28595 >
2024-04-08 07:55:15 +00:00
Samuel Pitoiset
87fde606cf
radv: use SPDX-License-Identifier
...
Only files under src/amd/vulkan/** are concerned.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28599 >
2024-04-08 07:17:31 +00:00
Lionel Landwerlin
c3d30d9e65
anv: mark descriptors & pipeline dirty after blorp compute
...
All of those are used by blorp, we need to reemit it when doing the
next compute dispatch.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 37fca614b8
("anv/blorp: Split blorp_exec into a render and compute")
Fixes: 6823ffe70e
("anv: try to keep the pipeline in GPGPU mode when buffer transfer ops")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10972
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28617 >
2024-04-08 06:55:54 +00:00
Sergi Blanch Torne
fe53d85273
ci: disable Collabora's farm due to maintance
...
Planned downtime in the farm:
* Start: 2024-04-08 07:00 UTC
* End: 2024-04-08 13:00 UTC
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28391 >
2024-04-08 08:34:29 +02:00
Hyunjun Ko
2bd3674679
anv/video: Fix to set correct offset and size for parsing h265 slice header.
...
Fixes: 8d519eb5
("anv: add initial video decode support for h265")
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28591 >
2024-04-08 04:12:07 +00:00
M Henning
e808a1ead4
nvk: Early-out impossible descriptor allocations
...
Also, return VK_ERROR_FRAGMENTED_POOL when appropriate.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28494 >
2024-04-08 03:10:08 +00:00
Faith Ekstrand
aac2a31b3d
vulkan: Add a bunch of -Wpadded errors
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28615 >
2024-04-06 23:54:36 -05:00
Faith Ekstrand
6ea591d372
nvk: Add a bunch of -Wpadded errors
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28615 >
2024-04-06 23:54:34 -05:00
Faith Ekstrand
987cbaee2a
nvk: Add a _pad field to nvk_fs_key
...
Fixes: ae17145882
("nak: Rewrite nir_intrinsic_load_sample_pos...")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28615 >
2024-04-06 23:54:28 -05:00
Eric R. Smith
0cb852050d
gallium: handle copy_image of depth textures
...
copy_image calls blit now for multisampled images, including
depth. But blit explicitly uses only PIPE_MASK_RGBA, so it is
incapable of copying depth buffers.
This patch checks the destination format and uses PIPE_MASK_ZS if
it is a depth or stencil. Ideally we would simply use PIPE_MASK_RGBAZS
always, but not all drivers actually handle getting this mask
(they probably should, but that's another story).
The change to copy_image was in 5027b5aa2
, so in some sense this
patch "fixes" that. In fact though the issue wasn't in the copy_image
change, it was always latent in blit().
Fixes: 5027b5aa28
("gallium: stop calling resource_copy_region for multisampled copy_image")
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28585 >
2024-04-06 22:50:10 +00:00
Eric Engestrom
d5aefb7a16
meson: auto-enable glvnd when libglvnd is installed
...
We've talked about flipping the default value of `glvnd` to `true`
a bunch of times but never actually went through with it because some
don't want to use glvnd, so let's instead go for the middle ground of
"enabled glvnd by default if it's installed".
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26367 >
2024-04-06 18:40:47 +00:00
Eric Engestrom
f39b8154c1
ci: explicitly disable glvnd to avoid regression when making it auto
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26367 >
2024-04-06 18:40:46 +00:00
Eric Engestrom
4f25b84b24
meson: turn glvnd
option into a feature
...
Makes for nicer code, and allows the next commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26367 >
2024-04-06 18:40:46 +00:00
Eric Engestrom
3a4a16e9e8
meson: regroup glvnd lines to get an easier-to-review diff in the next commit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26367 >
2024-04-06 18:40:46 +00:00
Eric Engestrom
a6392c06c0
gallium/dri: reuse existing meson variables
...
This avoid having to duplicate the logic there in the next commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26367 >
2024-04-06 18:40:46 +00:00
Lionel Landwerlin
fe36cf6cad
anv: add missing data flush out of L3 for transform feedback writes
...
Fixes zink's piglit.spec.arb_shader_image_load_store.host-mem-barrier on TGL
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28492 >
2024-04-06 07:33:29 +00:00
Timothy Arceri
f60956d002
glsl: move check_explicit_uniform_locations() to NIR linker
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
2a5ae739ea
glsl: move link_assign_subroutine_types() to the nir linker
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
baf13bff29
nir: add subroutine fields to nir_function
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
5ea15ded2f
glsl: switch verify_subroutine_associated_funcs() to nir
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
1a78e9a7e8
glsl: move some linking calls to gl_nir_link_glsl()
...
This is a more logical place for them and will avoid us adding more
function validtion calls to the st glsl to nir file in future
patches.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
dbaa90200c
glsl: remove now unused glsl ir block validation
...
We now use a NIR based implementation instead.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
07078d4b8e
glsl: remove now unused resize_tes_inputs()
...
This has be replaced by a NIR based implementation of this function.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
c2066d4685
glsl: call new nir resize_tes_inputs() pass
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
d1c11d957a
glsl: switch to NIR block validation
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
aea1265470
glsl: add nir implemenation of block validation
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
20978004a7
glsl: don't remove redefined per vertex block
...
Commit 719bf30165
added this removal code with the following
justification:
"The GLSL 4.10 rules for redeclaration of built-in interface blocks
(which we've chosen to regard as clarifications of GLSL 1.50) only
require gl_PerVertex blocks to match in shaders that actually use
those blocks. The easiest way to implement this is to detect
situations where a compiled shader doesn't refer to any elements of
gl_PerVertex, and remove all the associated ir_variables from the
shader at the end of ast-to-ir conversion."
However the intention is to avoid matching a redeclared block with
gl's default block if unused. We are still required to do block
matching in the shader should the block be redeclared, even if unused.
So with this change we only remove the block if it is both unused
and not redeclared.
The existing glsl IR code managed to avoid failing CTS tests for this
due to seemingly magical or hacky use of the symbol table but fixing
it will make things much clearer, and also allow a nir version of
this validation in a following patch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
c46827d52a
nir: add variable field from_ssbo_unsized_array
...
This will be used for validation in following patches
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Timothy Arceri
ab801a1a27
glsl: add resize_tes_inputs() to the nir linker
...
We will switch from the GLSL IR version to this in a following patch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Timothy Arceri
a18e06f694
nir: add implicit_sized_array data field
...
Will be used in following patches for glsl linking validation.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Timothy Arceri
f24e6a5062
nir: add max_array_access data field
...
Will be used in following patches for glsl linking validation.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Jesse Natalie
acbf3ad1fb
glsl: Use a stable attr sort for VS in / FS out
...
This is a perpetual bug that hits Windows. In the MSVC CRT, qsort
is unstable, where the glibc qsort is stable. So apps run fine on
Windows IHV drivers, and on Linux Mesa drivers, and only break down
when running on Windows Mesa drivers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10922
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28586 >
2024-04-05 20:35:05 +00:00
Lionel Landwerlin
6a7e576017
intel/fs: fixup instruction scheduling last grf write tracking
...
When I bumped the max size of VGRFs, I should have bumped the values
in the scheduler too.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: d33aff783d
("intel/fs: add support for sparse accesses")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28188 >
2024-04-05 19:46:40 +00:00
Lionel Landwerlin
d59612f5e5
intel/fs: printout a couple of more late compile steps
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28188 >
2024-04-05 19:46:40 +00:00
Gert Wollny
012c696561
zink/ntv: pull result out of cases and use a common store_def
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
fa581c7020
zink/ntv: extract emit_tex_readop as function that reads texture pixel data
...
These calls need a different preparation and result type handling than
the calls that query resource info, so we move this to an extra
function that can then be called from the default case of the
texop switch.
v2: drop ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
13f8a462c5
zink/ntv: extract picking the image to load from
...
v2: remove ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
2678f7a554
zink/ntv: replace if-chain with switch in emit_tex
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
cadbf72076
zink/ntv: Extract move_tex:proj_into_coord
...
v2: - drop ALWAYS_INLINE (zmike)
- move test whether projection must be applied out of function,
this makes it clearer at the call site when this change
is applied
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
1850cd9a82
zink/ntv: extract get_texop_dest_type
...
v2: drop ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
94bef5a182
zink/ntv: extract get_texture_load
...
v2: drop ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
7f1a4624f8
zink/ntv: simplify evaluation of sampled_type
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
6c5193368b
zink/ntv: extract find_sampler_and_texture_index
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
cca3f1de56
zink/ntv: use new struct to pass texture parameters
...
v2: pass struct spirv_tex_src as const ptr (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
f19d22ed7f
zink/ntv: extract get_tex_srcs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
881b2b1192
zink/ntv: introduce structure using the source params
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
David Heidelberg
5b69cbb80a
ci/amd: drop old PIGLIT_REPLAY_DESCRIPTION_FILE surpassed by PIGLIT_TRACES_FILE
...
This got probably accidentally in, as Eric MR changing this was just
before this change got in.
Fixes: 16af090908
("ci/lava: separate HW definitions from SW")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28600 >
2024-04-05 18:51:48 +00:00
David Heidelberg
9c104d2158
ci/amd: meld radv-traces into radv-raven-traces
...
Most of it is one workload specific.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28600 >
2024-04-05 18:51:48 +00:00
Mike Blumenkrantz
38c5a722c2
microsoft/compiler: set compact_arrays in compiler options
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Mike Blumenkrantz
695cde484e
zink: set compact_arrays in compiler options
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Mike Blumenkrantz
a9d366085c
nir/gather_info: fix gathering for compact arrayed builtins
...
these are treated as vecs, but depending on driver caps num_slots
may or may not equal the array size
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Mike Blumenkrantz
843614f45a
nir: add compact_arrays to nir_shader_compiler_options
...
this is used to inform passes about semantics for compact array builtins
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Eric Engestrom
6e2c3a70d3
ci: add nightly full run of lavapipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
5650107c28
ci: add nightly full run of llvmpipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
581f60def1
ci/lavapipe: skip test that sometimes times out
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
69023c461f
ci/lavapipe: fix out of date fails list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
60977b2efb
ci/llvmpipe: fix out of date fails list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
207f45e098
ci/llvmpipe: make sure manual jobs don't auto-retry
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Mary Guillemard
ab6118361b
nvk: Allow various alu op to be vectorized for 2xfp16
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
001540bad2
nvk: Advertise shaderFloat16
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
567cae69c3
nak: Add 16-bits float operations
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
6b2ce802b7
nak: Improve copy propagation pass to handle F16
...
Allow to optimize away prmt rX 0xXX01 rY and prmt rX 0x32XX rY.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
bad23ddb48
nak: Add F16 and F16v2 sources
...
This also add a swizzle information in Src for F16v2.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
791c2b604a
nak: move folding logic to Src::fold_imm
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
02873c4745
nak: Support unaligned swizzles in 8/16 bits vec srcs
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:03 +00:00
Lucas Fryzek
c2ec0111b2
venus/ci: Add patch for modifiers test to check import/export bits
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
e84b6255d8
docs: update lavapipe features
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
0507988f41
lavapipe: EXT_image_drm_format_modifier
...
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
d6cb3c5793
lavapipe: handle drm image imports
...
this creates the unbacked image with the metadata expected for use
with imports, then applies the import offset when binding memory
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
bd4f69a0fe
lavapipe: check drm modifier info during image create
...
not doing anything except validation
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
97331d1ed4
lavapipe: handle drm image format queries
...
only LINEAR is supported, so this is easy
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
a4290558df
lavapipe: include drm_fourcc.h
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
18c345d840
lavapipe: rework mem handle type assert to handle dmabuf
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
6df7cf4cfc
lavapipe: EXT_queue_family_foreign
...
no-op for us
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
b3d3239fc1
llvmpipe: make it possible to import and bind unbacked resources
...
this reworks the existing import to just set some metadata and then
apply the memory region during bind with the assumption that something
else is doing the import
Also adjust ci failures for llvmpipe to represent multiplanar surfaces as
not supported
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
bfd8c12406
winsys: add more stride members to winsys_handle
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
3727457884
winsys: add WINSYS_HANDLE_TYPE_UNBACKED
...
for use with lavapipe imports
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
07f25aa785
lavapipe: EXT_external_memory_dma_buf
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
c1657de63c
lavapipe: support VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
...
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
eb64f56b59
lavapipe: add a function for asserting external memory handle types
...
easier to expand upon
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
ce3851d469
llvmpipe: conditionally export PIPE_CAP_DMABUF
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
715b29d032
drisw: reuse kopper image extension vtable if modifiers/dmabuf is supported
...
this is handier than copying the same vtable again
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
d74ea2c117
llvmpipe: Implement dmabuf handling
...
For export this is handled through the use of the udmabuf driver to
allocate a dmabuf we can control from userspace. For import this is
handled through mmap-ing a dmabuf handle. Please note that you can
only mmap a dmabuf handle if its linear and the dmabuf handle was
created with matching read and write permissions.
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
7e5c5d313b
gallium: Add dmabuf arg to memory fd allocation API
...
Modify the memory fd allocation API to provide an argument to specify
if the allocating fd should be a dmabuf.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
e4ae665f93
winsys/drisw: implement dmabuf handling
...
this comes in two variants:
* util/memfd stuff with a header for metadata
* raw fd passing
for imports, both have to be tried since the import might be from a hw
device, but only the latter needs to be handled in winsys here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
17abe3ecbd
winsys/drisw: implement displaytarget_create_mapped
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
73d75971ab
winsys/null: implement displaytarget_create_mapped
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
23206844eb
sw_winsys: add displaytarget_create_mapped
...
this is for creating displaytargets from already-imported fds
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
6e43fbdb11
drisw: reorder image extensions
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
2b4e56ca27
llvmpipe: explicitly reject (most) yuv formats
...
use gallium fallbacks here
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Gert Wollny
0f97c2ec51
ntv: simplify increasing the number of dest componnets for sparse tex
...
store_def doesn't use the number of components, so we can drop the
checks for is_shador and simpliy increment the number of components.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Gert Wollny
0aa6c4437c
ntv: pass def->index to store_def
...
The full definition is not needed, only the index.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Gert Wollny
f73dc77cc7
ntv: remove store_ssa_def
...
move the code to store_def and drop store_ssa_def.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Gert Wollny
5415abe396
ntv: remove store_def_raw
...
it was only forwarding to store_ssa_def
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
José Roberto de Souza
77c004f7ca
anv: Create protected engine context when i915 supports vm control
...
When has_vm_control is supported it takes a different code path and
creates one context per engine and in this code path we were not
setting the protected context flag.
The lack of this is not causing any test to fail in our CI but it is
better do what we are supposed to do.
Fixes: fd40134487
("anv: allow protected GEM context creation")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28299 >
2024-04-05 15:00:24 +00:00
Timur Kristóf
f0a354a7a5
radv: Don't set driver locations for last pre-rasterization stage.
...
They were already unused, just don't set them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:25:32 +02:00
Timur Kristóf
0dbf6e7582
radv: Don't set driver locations for FS outputs.
...
They were already unused, just don't set them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:25:24 +02:00
Timur Kristóf
450c8f159b
radv: Don't set driver locations for mesh shaders.
...
They were already unused, just don't set them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:25:15 +02:00
Timur Kristóf
a554e44eae
radv: Use NIR IO semantics for VS input location mapping.
...
The IO semantics already contain all the information needed
for VS inputs, so there is no need use driver locations.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:24:43 +02:00
Timur Kristóf
124202469f
ac/nir/ngg: Rename confusing driver_location variable in mesh shader lowering.
...
Mesh shader lowering never used the actual driver location
because it uses custom mapping for the I/O variables, but
it had some variables with this name, which is confusing.
Rename them to mapped_location.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:24:37 +02:00
Timur Kristóf
580baaf1e1
ac/nir/ngg: Use IO semantics for determining instance rate inputs.
...
This used the driver location by accident, which is wrong.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:24:14 +02:00
Timur Kristóf
11ced35e0a
ac/nir/ngg: Don't create dummy output variable for primitive ID.
...
This was needed by RADV in the past, but not anymore.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28553 >
2024-04-05 15:23:28 +02:00
Samuel Pitoiset
14ba56718f
radv: make sure the heap budget is less than or equal to the heap size
...
Reported by Hans-Kristian.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28575 >
2024-04-05 12:43:09 +00:00
Samuel Pitoiset
a29fda1ba0
radv: move radv_printf_data to radv_printf.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28592 >
2024-04-05 12:18:38 +00:00
Samuel Pitoiset
9223b80086
radv: remove old comment in radv_cs.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28592 >
2024-04-05 12:18:38 +00:00
Samuel Pitoiset
6428270408
radv: move radv_queue_family_to_ring() to radv_queue.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28592 >
2024-04-05 12:18:38 +00:00
Samuel Pitoiset
6e4f26827c
radv: move radv_get_user_sgpr() to radv_shader.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28592 >
2024-04-05 12:18:38 +00:00
Samuel Pitoiset
80683c220b
radv: make radv_get_vgt_index_size() static
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28592 >
2024-04-05 12:18:38 +00:00
Rhys Perry
be8b8722f9
radv: memset radv_pipeline_cache_object data
...
This silences Valgrind warnings.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28549 >
2024-04-05 11:56:25 +00:00
Rhys Perry
c3c138b10f
radv: optimize msad_4x8 to mqsad_4x8
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26251 >
2024-04-05 11:01:39 +00:00
Rhys Perry
e5976bebed
amd: set has_shfr32=true
...
This appears in some FSR3 shaders and will be used for the MQSAD
optimization.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26251 >
2024-04-05 11:01:39 +00:00
Rhys Perry
35f9318cee
ac/llvm: implement mqsad_4x8 and shfr
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26251 >
2024-04-05 11:01:39 +00:00
Rhys Perry
6b301eae36
aco: implement mqsad_4x8 and shfr
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26251 >
2024-04-05 11:01:39 +00:00
Rhys Perry
08903bbe89
nir: add mqsad_4x8, shfr and nir_opt_mqsad
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26251 >
2024-04-05 11:01:39 +00:00
Georg Lehmann
be93e38152
aco/vn: remove instruction hash templates
...
This reuses the instruction data size helper used for creating instruction.
It also removes the hashing of the aco::spans used for operands and definitions,
which was redundant with hash finalization.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28527 >
2024-04-05 10:23:16 +00:00
Lionel Landwerlin
ea84b36592
anv: fix incorrect blorp dynamic state heap usage
...
Found with valgrind :
==253563== Invalid free() / delete / delete[] / realloc()
==253563== at 0x6EEBB88: anv_state_pool_free (anv_allocator.c:962)
==253563== by 0x6EFB563: anv_device_finish_blorp (anv_blorp.c:143)
==253563== by 0x6F204F8: anv_DestroyDevice (anv_device.c:4063)
==253563== by 0x6DE1CD7: loader_layer_destroy_device (loader.c:4387)
==253563== by 0x6DF1D5E: vkDestroyDevice (trampoline.c:1025)
==253563== by 0x407C54: vk::refdetails::Deleter<vk::VkDevice_s*>::operator()(vk::VkDevice_s*) const (vkRef.hpp:131)
==253563== by 0x42C016: vk::refdetails::RefBase<vk::VkDevice_s*>::reset() (vkRef.hpp:303)
==253563== by 0x40B385: vk::refdetails::RefBase<vk::VkDevice_s*>::~RefBase() (vkRef.hpp:296)
==253563== by 0x40A95D: vk::refdetails::Unique<vk::VkDevice_s*>::~Unique() (vkRef.hpp:376)
==253563== by 0x402501: vkt::DefaultDevice::~DefaultDevice() (vktTestCase.cpp:658)
==253563== by 0x444807: de::DefaultDeleter<vkt::DefaultDevice>::operator()(vkt::DefaultDevice*) const (deDefs.hpp:112)
==253563== by 0x43922D: de::details::UniqueBase<vkt::DefaultDevice, de::DefaultDeleter<vkt::DefaultDevice> >::reset() (deUniquePtr.hpp:90)
==253563== Address 0xd3df000 is 0 bytes inside a block of size 272 client-defined
==253563== at 0x6EEBA0B: anv_state_pool_alloc (anv_allocator.c:940)
==253563== by 0x6EFA610: anv_state_pool_emit_data (anv_private.h:852)
==253563== by 0x6EFB206: upload_dynamic_state (anv_blorp.c:106)
==253563== by 0x6FC8C31: blorp_init_dynamic_states (blorp_genX_exec_brw.h:2211)
==253563== by 0x6FCD02D: gfx9_blorp_init_dynamic_states (genX_blorp_exec.c:507)
==253563== by 0x6EFB47E: anv_device_init_blorp (anv_blorp.c:129)
==253563== by 0x6F1FBBA: anv_CreateDevice (anv_device.c:3908)
==253563== by 0x840B669: vk_tramp_CreateDevice (vk_dispatch_trampolines.c:78)
==253563== by 0x6DE663A: terminator_CreateDevice (loader.c:5836)
==253563== by 0x6DE3E39: loader_create_device_chain (loader.c:4940)
==253563== by 0x6DE1AC5: loader_layer_create_device (loader.c:4320)
==253563== by 0x6DF1CBF: vkCreateDevice (trampoline.c:1005)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fe1baa6481
("anv: reduce blorp dynamic state emissions")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28578 >
2024-04-05 09:50:41 +00:00
Corentin Noël
0624130933
zink: Remove ctx from zink_gfx_program
...
It is already available in the base structure.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28567 >
2024-04-05 08:01:01 +00:00
Corentin Noël
b0d680f54c
zink: Removed unused push_valid member
...
This member is only set but never used.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28567 >
2024-04-05 08:01:01 +00:00
Gert Wollny
6a0f3b1aa5
zink: another fence that is better off as a batch state
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28560 >
2024-04-05 07:29:04 +00:00
Gert Wollny
d862cb0024
zink: ctx->last_fence really wants to be a batch_state, so accomodate it
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28560 >
2024-04-05 07:29:03 +00:00
Jordan Justen
98f3d072b4
intel/dev: Add 0x56be and 0x56bf DG2 PCI IDs
...
Ref: bspec 44477
Backport-to: 24.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28584 >
2024-04-05 06:36:44 +00:00
Lionel Landwerlin
9b0f028c7e
anv: update protection fault property
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 794b0496e9
("anv: enable protected memory")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26540 >
2024-04-05 09:07:21 +03:00
Lionel Landwerlin
d2e490dc4d
anv: disable generated draws in protected command buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 794b0496e9
("anv: enable protected memory")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26540 >
2024-04-05 09:07:21 +03:00
Lionel Landwerlin
034a1cdb58
anv: disable protected content around surface state copies
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 794b0496e9
("anv: enable protected memory")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26540 >
2024-04-05 09:07:21 +03:00
Lionel Landwerlin
27a3771227
anv: pull surface state copies for secondary in one loop
...
It'll be easier for the next commit.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26540 >
2024-04-05 09:07:21 +03:00
Lionel Landwerlin
07bf480856
anv: fix protected memory allocations
...
Using the wrong flag field...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 5f2c77a10a
("anv: handle protected memory allocation")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26540 >
2024-04-05 09:07:21 +03:00
Ian Romanick
0e817ba548
intel/brw/xe2+: Implement Wa 22016140776
...
HF sources to math instructions cannot be scalar. This is very similar
to an old Gfx6 restriction on POW, so let's fix it in a similar way.
As an extra bit of saftey, lower any occurances that might slip through
in brw_fs_lower_regioning.
The primary change is to prevent copy propagation from violating the
restriction. With that change, nothing should be able to generate these
invalid source strides. The modification to fs_visitor::validate should
detect potential problems sooner rather than later.
Previous attempts to implement this Wa when emitting the math
instruction (in brw_eu_emit.c gfx6_math) didn't work for several
reasons. The lowering happens after the SWSB pass, so the scoreboarding
was incorrect (thanks to Curro for finding that). In addition, the
lowering happens after register allocation, so it's impossible to
allocate a non-scalar register to expand the scalar value.
Fixes 113 tests in the dEQP-VK.spirv_assembly.* group on LNL.
v2: Add changes to brw_fs_lower_regioning. Suggested by Curro.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28480 >
2024-04-04 21:04:09 -07:00
Jordan Justen
50c7d25a9e
intel/dev/mesa_defs.json: Add LNL WA entries
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28480 >
2024-04-04 21:03:51 -07:00
Jesse Natalie
c891a384e7
dzn: Don't copy app indirect args if we don't need to
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
db16dcf0f9
dzn: Add a hash table of command signatures with non-default strides
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
d7bd87aa27
dzn: Rework indirect drawing keys for shaders and command signatures
...
When we don't need emulation of first vertex, base instance, draw ID
sysvals, or triangle fans, we can have very simple command signatures
and indirect arg buffer generation shaders. The next step is to handle
the case where everything can be supported straight from the app's
buffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
ccf439629f
dzn: Update pipeline cache params to take all options into account
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
4de88025cc
dzn: Understand whether first-vertex and base-instance are needed for a pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
fbd4e5d8aa
dzn: Query options21
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
ed465bf738
dzn: Delete dzn structs for indirect draw args and use D3D ones
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
f6c3d73700
spirv2dxil: Output more specific metadata for whether draw sysvals are needed
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
30b1a6750c
spirv2dxil: Support passing first vertex / base instance to DXIL backend
...
These values now have 3 modes of operation so switch from a bool to an enum:
1. Zero
2. Native DXIL sysvals
3. "Runtime data" via a constant buffer or root constants
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
607720151f
microsoft/compiler: Handle base vertex/instance sysvals as DXIL intrinsics
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Jesse Natalie
349c4d84c0
ci/windows: Bump Agility SDK to 1.613.2 for ExecuteIndirect validation fix
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28383 >
2024-04-05 00:25:41 +00:00
Ian Romanick
0b67d3d909
intel/elk: Delete stray nir_opt_dce
...
No shader-db changes on any Intel platform.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28136 >
2024-04-04 23:42:28 +00:00
Ian Romanick
24cdbbdaa2
intel/brw: Delete stray nir_opt_dce
...
No shader-db or fossil-db changes on any Intel platform.
Fixes: f76f4be301
("intel/compiler: move gen5 final pass to actually be final pass")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28136 >
2024-04-04 23:42:27 +00:00
Ian Romanick
44fb57b827
intel/elk: Don't call nir_opt_remove_phis before nir_convert_from_ssa
...
shader-db:
All platforms had similar results. (Ivy Bridge shown)
total instructions in shared programs: 15831424 -> 15831637 (<.01%)
instructions in affected programs: 38880 -> 39093 (0.55%)
helped: 0 / HURT: 179
total cycles in shared programs: 432140353 -> 432170199 (<.01%)
cycles in affected programs: 11798080 -> 11827926 (0.25%)
helped: 77 / HURT: 123
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28136 >
2024-04-04 23:42:27 +00:00
Ian Romanick
6377e8fd29
intel/brw: Don't call nir_opt_remove_phis before nir_convert_from_ssa
...
Per discussion in #10727 , removing phis breaks LCSSA form which in turn
invalidates divergence analysis.
shader-db:
All Skylake and newer platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 20299612 -> 20299695 (<.01%)
instructions in affected programs: 20829 -> 20912 (0.40%)
helped: 6 / HURT: 13
total cycles in shared programs: 842149085 -> 842148399 (<.01%)
cycles in affected programs: 15146222 -> 15145536 (<.01%)
helped: 40 / HURT: 45
fossil-db:
All Intel platforms had similar results. (Ice Lake shown)
Totals:
Instrs: 165505077 -> 165505603 (+0.00%); split: -0.00%, +0.00%
Cycles: 15144183575 -> 15144235695 (+0.00%); split: -0.00%, +0.00%
Spill count: 45213 -> 45220 (+0.02%)
Fill count: 74166 -> 74184 (+0.02%)
Totals from 94 (0.01% of 656116) affected shaders:
Instrs: 263079 -> 263605 (+0.20%); split: -0.00%, +0.20%
Cycles: 28411487 -> 28463607 (+0.18%); split: -0.18%, +0.37%
Spill count: 3474 -> 3481 (+0.20%)
Fill count: 6713 -> 6731 (+0.27%)
Fixes: 6dbb5f1e07
("intel/fs: rerun divergence analysis prior to convert_from_ssa")
Closes : #10727
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28136 >
2024-04-04 23:42:27 +00:00
Ian Romanick
87101e7d83
intel/compiler: Ensure load_barycentric_at_sample and load_interpolated_input remain together
...
This previously worked by luck because we were incorrectly calling
nir_opt_remove_phis before calling nir_convert_from_ssa. See also #10727 .
No shader-db or fossil-db changes on any Intel platform.
v2: Handle the load_interpolated_input and load_barycentric_at_sample as
separate passes. Based on discussion with Ken starting at
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28136#note_2330424 .
Fixes: 74a40cc4b6
("intel/fs: move lower of non-uniform at_sample barycentric to NIR")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28136 >
2024-04-04 23:42:27 +00:00
Erico Nunes
49217c2547
ci: enable shader-db on lima
...
Run shader-db on CI with the lima drm_shim as done for other drivers.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Acked-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24357 >
2024-04-04 22:48:10 +00:00
Samuel Pitoiset
69b911bc53
radv: remove radv_private.h
...
This file was a giant mess and I'm very happy to remove it entirely.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
367cf70a29
radv: move RADV_USE_WSI_PLATFORM define to radv_wsi.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
28eefbadeb
radv: move CLOCK_MONOTONIC_RAW define to radv_physical_device.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
e8269c01cb
radv: move RADV_API_VERSION to radv_instance.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
e25882352b
radv: move RADV_SUPPORT_CALIBRATED_TIMESTAMPS to radv_physical_device.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
cc1526eeac
radv: replace radv_is_aligned() by util_is_aligned()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
81e3c46d06
util: add util_is_aligned()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
5cc3258533
radv: replace radv_float_to_{u,s}fixed() by util_{un}signed_fixed()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:46 +00:00
Samuel Pitoiset
6a27c5e9a8
radv: replace align_u32_npot() by ALIGN_NPOT
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
e75fdac533
radv: replace align_{u32,u64}() by align{64}()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
ba153fc06b
radv: replace radv_minify() by u_minify()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
799e99fe21
radv: rename remaining phys_dev occurrences to pdev
...
Missed those.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
b409936e97
radv: add missing endif comment for some headers
...
For consistency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
0388df3d08
radv: replace RADV_FROM_HANDLE by VK_FROM_HANDLE
...
It was exactly the same thing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
67ac6e75c6
radv: remove remaining forward declarations and comments in radv_private.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
8ade8f28a8
radv: remove pre-declarations needed for WSI entrypoints
...
Probably a very old thing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Samuel Pitoiset
46515292a3
radv: remove unused radv_printflike()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28568 >
2024-04-04 21:57:45 +00:00
Jesse Natalie
05b66efb43
d3d12: Add a debug flag for loading WinPixGpuCapturer.dll
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28476 >
2024-04-04 21:37:41 +00:00
Jesse Natalie
116d0bf76b
d3d12: Set fractional var masks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
c21355260b
microsoft/compiler: Add a fractional var mask for variable sorting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
760effefc6
d3d12: Don't compile useless variants during shader creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
6928686df9
d3d12: Remove variables instead of adding them for linking
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
dedbd6eea3
d3d12: Gather info less and before the final compilation steps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
c1e7d0598d
d3d12: Add primitive ID sysval to input bitmask (for GS in)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
c8d435373e
d3d12: Use TES inputs rather than VS outputs for TCS variant key
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
580f801bac
d3d12: Capture always_active_io in varying data
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
5d0c77658c
d3d12: Forward front-facing for passthrough GS
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
d28a552e2a
d3d12: Explicitly add tess factor vars to tess signatures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
5c3e96f257
d3d12: Fix var splitting pass writemasks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
4a01ac1aa7
d3d12: Minor logging improvements
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
33735585a9
d3d12: Lower uniforms to UBO by nir options
...
Ubo0 is tricky. It exists if there were any uniforms when
lower_uniforms_to_ubo was run. If we try to run that ourselves,
it might be too late and DCE/remove_dead_variables might've been run,
which removed the uniforms and their accesses, without decrementing
num_uniforms. So we have no good way of knowing whether to declare
ubos from [0, N] or [1, N]. In practice this probably doesn't make
much of a difference but the logic is there so ¯\_(ツ)_/¯
If we use the nir option, then dead code isn't run, and num_uniforms
is a true indicator of whether ubo0 exists or not.
Note that this means we are no longer running this pass for internal
shaders that don't come from the GLSL compiler, so various places are
updated to query the nir info bit that's set by running this pass.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
e80cda0512
d3d12: Move some lowering passes to pre-variant
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
9702ddccc2
microsoft/compiler: Don't duplicate work from gather_info in var sorting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Jesse Natalie
ed757b010a
microsoft/compiler: Improve linking helpers
...
* Take masks instead of shaders
* Be more aggressive at removing sysvals
* Handle loading from outputs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Jesse Natalie
d4a15a048b
microsoft/compiler: Expect front-facing var as an input
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Jesse Natalie
4180cf39f0
microsoft/compiler: Simplify I/O component type enum handling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Jesse Natalie
230bed221e
microsoft/compiler: Move kill-unused/undefined varying pass from spirv to common
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Jesse Natalie
b6b5514a5b
microsoft/compiler: When sorting variables, put unused variables last
...
These variables will only be used for xfb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Job Noorman
c37e9c1e29
ir3-disasm: add option to disassemble hex number
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28457 >
2024-04-04 19:37:25 +00:00
Job Noorman
7eeb781c8b
ir3-disasm: add options to specify GPU by chip ID or name
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28457 >
2024-04-04 19:37:25 +00:00
Job Noorman
86468ab8af
ir3-disasm: remove unused #includes
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28457 >
2024-04-04 19:37:25 +00:00
Job Noorman
b9d2dd0788
ir3-disasm: run clang-format
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28457 >
2024-04-04 19:37:25 +00:00
Mike Blumenkrantz
56cda23459
nir/dominance: fix comment
...
this function doesn't exist
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:43 +00:00
Mike Blumenkrantz
0851c30d16
nir/texcoord_replace: fix scalarized io handling
...
if a texcoord load only loads some components, only those components
should be replaced
cc: mesa-stable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:43 +00:00
Mike Blumenkrantz
f3d9a2e607
nir/lower_point_size_mov: fix for lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
0faeeb6347
nir/lower_point_size_mov: rework.
...
this was weirdly complex
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
30415fe835
nir/lower_clip_disable: fix for lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
eb190a4e8b
nir/lower_drawpixels: fix for lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
c48f580a49
nir/lower_two_sided_color: rework for lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
9af9446127
nir/lower_alpha_test: fix use with lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
842ac5059a
nir/lower_flatshade: fix with lowered io
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
712bf98dd8
nir/lower_flatshade: break out location checking
...
no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
56d7dad19c
nir/lower_clamp_color_outputs: fix use with lowered io
...
if io is lowered, variables cannot be used
cc: mesa-stable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Mike Blumenkrantz
056fe1dc6a
glsl: set PSIZ bit in outputs_written when injecting a 1.0 psiz write
...
gather_info may not be called before something checks this value
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28463 >
2024-04-04 18:58:42 +00:00
Samuel Pitoiset
f090f7186b
radv: rename si_cmd_buffer.c to radv_cs.c
...
This file now mostly contain CS related functions. Also move prototypes
while we are at it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:16 +00:00
Samuel Pitoiset
e133fb7c3b
radv: move code related to sample positions to radv_device.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:16 +00:00
Samuel Pitoiset
7ea12d6ace
radv: move radv_emit_{compute,graphics}() to radv_queue.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:16 +00:00
Samuel Pitoiset
5baa1c4c1c
radv: move radv_create_gfx_config() to radv_device.c
...
Also rename to radv_create_gfx_preamble().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:16 +00:00
Samuel Pitoiset
d844d73fb4
radv: move radv_get_viewport_xform() to radv_pipeline_graphics.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:16 +00:00
Samuel Pitoiset
fa0ec3af88
radv: merge radv_write_scissors() with radv_emit_scissor()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
16b6b17889
radv: merge radv_write_guardband() with radv_emit_guardband_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
eb1f9da0a0
radv: move more cmd buffer related code to radv_cmd_buffer.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
1d5f434108
radv: move CP DMA related code to radv_cp_dma.c/h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
b171bc2809
radv: add radv_shader_info.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
fb73ccea56
radv: add radv_android.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
d1d04cfeaa
radv: add radv_nir_to_llvm.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
58cd24a636
radv: move radv_queue_ring() to radv_queue.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
f606efe62d
radv: move radv_get_tdr_timeout_for_ip() to radv_query.h
...
Missed that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
9a7afbfa13
radv: add radv_printf.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
d1adbf0e53
radv: add radv_cp_reg_shadowing.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
195383a5ec
radv: add radv_rmv.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
e677b642bc
radv: add radv_cmd_buffer.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
7196b9cc0b
radv: add radv_spm.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
2061168461
radv: add radv_shader_object.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Samuel Pitoiset
c1414a9799
radv: add radv_sqtt.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28551 >
2024-04-04 16:35:15 +00:00
Timur Kristóf
a313d5f82a
radv: Remove unused gfx_level from gfx10_emit_ge_pc_alloc.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27751 >
2024-04-04 16:09:18 +00:00
Timur Kristóf
8d97c3bd06
radv: Increase maximum allowed PS params for enabling NGG culling.
...
The original limits were chosen very conservatively because at
that time we didn't have a good understanding on the perf impact
of shader culling.
Since then, we've seen some use cases that have a higher amount
of PS params but still benefit from shader culling.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27751 >
2024-04-04 16:09:18 +00:00
Timur Kristóf
4464e6baff
radv: Slightly refactor the determination of max_ps_params.
...
It now uses has_dedicated_vram and gfx_level to detect GFX10.3+
discrete GPUs, which should also include GFX11 now.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27751 >
2024-04-04 16:09:18 +00:00
Timur Kristóf
dbfb96f08f
radv: Remove I/O variables after nir_lower_io.
...
They are not needed anymore.
Both NIR and RADV shader info can be fully deduced from I/O
intrinsics, so there is no need to keep the variables.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28506 >
2024-04-04 15:43:56 +00:00
Timur Kristóf
b188561df5
radv: Use NIR IO semantics to determine FS input info.
...
This commit does two things at once, which cannot be split
into two commits because otherwise the driver would regress
in-between the two.
Change radv_nir_shader_info_pass so that it uses I/O intrinsics
instead of I/O variables for determining FS information.
Also eliminate gaps between input slots caused by unused input
variables. To this end, we use nir_recompute_io_bases after
nir_lower_io instead of assigning driver locations before it.
As part of this, we can now omit a clip/cull input when only
the second one is used.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28506 >
2024-04-04 15:43:56 +00:00
Nanley Chery
c6686fda28
intel/isl: Use Tile64 to align images for CCS WA
...
See HSD 22015614752. We have issues when multiple engines access the
same CCS cacheline in parallel. This can happen in a Vulkan application
that uses different queues to operate on different subresources.
To resolve this, this patch prefers Tile64 when an image has multiple
subresources and disallows CCS if such an image lacks that tiling.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8614
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28284 >
2024-04-04 15:17:50 +00:00
Nanley Chery
b092124186
intel/isl: Enable a 64KB alignment WA for flat-CCS
...
WA 22015614752 applies to gfx125 platforms, but the alignment
requirement was only enabled for the subset that has an aux-map. Adjust
the condition to apply it where appropriate.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28284 >
2024-04-04 15:17:50 +00:00
Nanley Chery
d7bfa8051e
intel/isl: Remove a CCS_D check from gfx12+ code
...
This aux usage isn't used on gfx12+.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28284 >
2024-04-04 15:17:50 +00:00
Nanley Chery
8845f1e439
intel/isl: Remove inconsistency when encoding Tile64
...
We guard surface state encoding of tilings by macros when the encoded
value is not present on certain platforms. For gfx20 however, we added
these macros even when the existing ones for gfx125 were sufficient.
Remove the extra macros.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28284 >
2024-04-04 15:17:50 +00:00
Nanley Chery
81d8c071ac
intel/isl: Remove inconsistency when choosing Tile64
...
We don't check the gfx version when choosing the tiling except when
choosing Tile64. Drop the version check for consistency and to remove
doubts about the order of operations occuring as expected within the
CHOOSE macro.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28284 >
2024-04-04 15:17:50 +00:00
Dave Airlie
f8e48b561e
mesa: reorder st context teardown
...
some gnome tests are seeing this:
==4579== Invalid read of size 4
==4579== at 0x161B28FB: UnknownInlinedFun (simple_mtx.h:106)
==4579== by 0x161B28FB: st_save_zombie_sampler_view (st_context.c:213)
==4579== by 0x161D762A: st_texture_release_all_sampler_views.part.0 (st_sampler_view.c:272)
==4579== by 0x161D7CB6: st_texture_release_all_sampler_views (st_sampler_view.c:258)
==4579== by 0x161D7CB6: st_delete_texture_sampler_views (st_sampler_view.c:292)
==4579== by 0x16191B9E: _mesa_delete_texture_object (texobj.c:523)
==4579== by 0x16191CDC: _mesa_reference_texobj_ (texobj.c:637)
==4579== by 0x1619632F: _mesa_reference_texobj (texobj.h:92)
==4579== by 0x1619632F: _mesa_free_texture_data (texstate.c:1114)
==4579== by 0x162EEE1D: _mesa_free_context_data (context.c:1155)
==4579== by 0x161B3C0F: st_destroy_context (st_context.c:999)
==4579== by 0x160F155A: dri_destroy_context (dri_context.c:277)
==4579== by 0x1603C371: dri2_destroy_context (egl_dri2.c:1592)
==4579== by 0x1602EBF5: eglDestroyContext (eglapi.c:918)
==4579== by 0x502DF3C: gdk_gl_context_dispose (gdkglcontext.c:211)
==4579== Address 0x34dc9b08 is 7,016 bytes inside an unallocated block of size 10,336 in arena "client"
==4579==
It appears we destroy the mutex and zombie objects, but freeing
context data seems to add them back.
This might not be the complete answer.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28565 >
2024-04-04 14:40:57 +00:00
Faith Ekstrand
067bbf9301
nvk: Delete dead descriptor code
...
We never use nir_address_format_64bit so this is all dead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28564 >
2024-04-04 14:11:46 +00:00
Faith Ekstrand
f30ce26569
nvk: Add a _pad field to nvk_cbuf
...
We use nvk_cbuf as a key in a hash table in nvk_nir_lower_descriptors()
so we want to make sure it always gets fully initialized.
Fixes: f1c909edd5
("nvk/nir: Add cbuf analysis to nvi_nir_lower_descriptors()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10956
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28564 >
2024-04-04 14:11:46 +00:00
Mike Blumenkrantz
cfa955ed78
glx/egl: fix LIBGL_KOPPER_DISABLE
...
when set, this disables the use of vk swapchains and lets the dri frontend
manage buffers like any other driver
also document some kopper env vars
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28137 >
2024-04-04 13:18:00 +00:00
Mike Blumenkrantz
d3730fcd2d
egl/x11: disable swapbufferswithdamage for zink without kopper
...
this is broken
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28215 >
2024-04-04 12:48:49 +00:00
Mike Blumenkrantz
9fe9681db1
zink: assert that ntv interp handling isn't doing implicit component expansion
...
the number of components that ntv loads should always be the number of components
that the nir shader thinks it's loading
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28530 >
2024-04-04 12:13:44 +00:00
Mike Blumenkrantz
a7509a09ec
zink: fix add_derefs for partial interp loads of derefs
...
this needs to load the full deref and then swizzle, not interp a partial
deref
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28530 >
2024-04-04 12:13:44 +00:00
Mike Blumenkrantz
7deef8d7d2
zink: delete some maintenance5 psiz pruning
...
now that gallium is no longer adding these all over, they don't need
to be deleted
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28162 >
2024-04-04 11:26:17 +00:00
Mike Blumenkrantz
24453579ad
gallium: rework PIPE_CAP_POINT_SIZE_FIXED
...
this adds modes to the cap which allow drivers to opt out of the
frontend injecting gl_PointSize=1.0 into shaders while still getting
the uniform value uploaded
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28162 >
2024-04-04 11:26:17 +00:00
Jesse Natalie
201053bac1
d3d12: Fix d3d12_lower_triangle_strip if multiple vars are in a single location
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28562 >
2024-04-04 10:37:30 +00:00
Rob Clark
c17ef8c196
freedreno+virgl: Add missing driconf
...
Probably a sign that we need a better long term approach for dealing
with vdrm native context drivers driconf.
Fixes: 850267ef99
("freedreno/a6xx: Add dual_color_blend_by_location")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28531 >
2024-04-04 09:38:57 +00:00
Rob Clark
6d17577b64
freedreno/drm/virtio: Fix deadlock on exit
...
We don't want the retire work to be the one to drop the last reference
to the pipe, as that would result in trying to free the retire_queue
from the retire_queue thread.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28531 >
2024-04-04 09:38:57 +00:00
Eric Engestrom
145a5cd414
ci: fix nightly build (v2)
...
Scheduled pipelines don't have `changes`, so the rule I added in
fa4dd110986083105604 won't match; re-do that but as its own rule,
without the additional `changes` condition.
Fixes: 7c0b19a607
("ci: run python-test automatically only in merge pipelines")
Fixes: fa4dd110986083105604 ("ci: fix nightly build")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28561 >
2024-04-04 08:48:54 +00:00
Mike Blumenkrantz
37be4bf1b7
mesa: clamp binary pointer in ShaderBinary if length==0
...
this pointer is only valid if length is valid
fixes dEQP-GL45-ES3.functional.negative_api.shader.shader_binary with
glthread enabled
fixes #10915
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28501 >
2024-04-04 07:01:21 +00:00
Yiwei Zhang
6e91c88036
venus: use STACK_ARRAY to simplify sync wait
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
30824a1183
venus: use STACK_ARRAY to simplify set layout creation
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
bece318296
venus: use STACK_ARRAY to simplify physical device enumeration
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
630f4a5b92
venus: use STACK_ARRAY to simplify render pass creation
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
36f639375b
venus: use STACK_ARRAY to simplify BindImageMemory2
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
7f75ebfda7
venus: use STACK_ARRAY to simplify BindBufferMemory2
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
02985e37ed
venus: use STACK_ARRAY to simplify modifier query
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
c3edd6b555
venus: remove obsolete TODOs
...
The ring cs shmem cache is already there. The external fence/sempahore
support will be eventually via adopting mesa common drm syncobj support.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:54 +00:00
Yiwei Zhang
93421ef3d3
venus: cleanup 2 TODOs from 1.3 support
...
The two extensions are implemented natively but allow to leak structs to
renderer side to avoid deep copying huge driver side pNext chain. It
doesn't make things more robust if we hide the two behind core 1.3 and
drop the two from the protocol so that venus-protocol filters out the
leaked structs. e.g. we'd still have to flip some bits in the core
feature structs.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28532 >
2024-04-04 06:35:53 +00:00
Job Noorman
1e983c4360
ir3: fix finding uses of reloaded defs in predicates RA
...
While looking for the first use of a def for spilling, we used to
iterate all sources of a use to determine which one refers to the def.
However, when the def was reloaded before, we would fail to find it
since the source was updated to refer to the reloaded def while we
searched the uses of the original def.
This patch fixes this by simply not iterating the sources of a use
anymore. We don't need to know which source exactly uses the def, the
instruction is enough.
Fixes: 21cd9b9557
("ir3: implement RA for predicate registers")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28148 >
2024-04-04 05:39:45 +00:00
Job Noorman
dbcbf61726
ir3: calculate SSA uses at the start of predicates RA
...
When calculating SSA uses after reloading a def for the first time, the
uses of the original def would not be complete anymore (since some of
its uses may be replaced by a reloaded def). This causes problems when
calculating the furthest first use to determine a value to be spilled.
For example, something like:
ssaX = foo # No free regs so this one is ignored
...
bar ssaX, ssaY So
Let's say we arrive at bar and neither ssaX nor ssaY are live and we
have one free register. First, ssaX will get reloaded. Then, since there
are no free registers left, we need to spill one. If we calculate SSA
uses now, the ones for ssaX will not include bar which might cause us to
select ssaX for spilling which shouldn't happen because it's used by the
current instruction.
This patch fixes this by calculating SSA uses at the start of RA. I
haven't been able to measure a significant performance improvement when
trying to postpone calculating the SSA uses.
Fixes: 21cd9b9557
("ir3: implement RA for predicate registers")
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28148 >
2024-04-04 05:39:45 +00:00
Job Noorman
22f64a1fe3
zink: print shaderdb info via debug message callback
...
shaderdb expects to receive shader info via a glDebugMessageCallback
callback. This patch updates print_pipeline_stats to use the
zink_context::dbg callback.
The format of the shader info is also updated to match what the shaderdb
report.py script expects. In particular, we use what report.py calls
"nv_format" since that is the closest to the current format.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28542 >
2024-04-04 02:59:10 +00:00
Rohan Garg
57209a0c7a
isl: allow CCS on single sampled TILE64 surfaces
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23030 >
2024-04-04 02:17:34 +00:00
Rohan Garg
afb63443a0
intel/blorp: add fast clear rectangle dimensions for single sampled TILE64 CCS surfaces
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23030 >
2024-04-04 02:17:34 +00:00
Rohan Garg
8670fd6ac4
iris: slow clear higher miplevels on single sampled 8bpp resources that have TILE64
...
This helps fix a number of piglit tests that exercise this
functionality, such as:
- piglit.spec.arb_texture_rg.fbo-clear-formats
- piglit.spec.ext_framebuffer_object.fbo-clear-formats
- piglit.spec.ext_texture_snorm.fbo-clear-formats
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23030 >
2024-04-04 02:17:34 +00:00
Marek Olšák
772149b15a
nir/opt_varyings: handle load_input_vertex
...
Explicit interpolation just loads raw vertex data as-is and lets the FS do
the interpolation manually.
This adds handling of nir_intrinsic_load_input_vertex, which has 2 different
behaviors: undefined vertex ordering and strict vertex ordering.
- dead IO removed correctly
- constants and uniform expressions are propagated normally
- outputs are deduplicated within their own category (strict and non-strict)
- outputs used by explicit interpolation are never treated as "convergent"
- backward inter-shader code motion is skipped
- compaction has 2 new types of vec4 slots:
- mixed 32-bit and 16-bit explicit strict (sharing the same vec4)
- mixed 32-bit and 16-bit explicit non-strict (sharing the same vec4)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28247 >
2024-04-04 01:25:06 +00:00
Timur Kristóf
b9b557f2e7
aco/optimizer_postRA: Remove a check from SCC no-compare optimization.
...
Not all code paths of this optimization depend on there being only
one user of the first operand; and those code paths already have
their own check for this.
Fossil DB stats on Navi 21:
Totals from 477 (0.60% of 79395) affected shaders:
Instrs: 995901 -> 995341 (-0.06%); split: -0.06%, +0.00%
CodeSize: 5218856 -> 5216816 (-0.04%); split: -0.04%, +0.00%
Latency: 16340256 -> 16338799 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 3044975 -> 3044871 (-0.00%); split: -0.00%, +0.00%
Copies: 95047 -> 95071 (+0.03%)
SALU: 150345 -> 149785 (-0.37%); split: -0.38%, +0.01%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28545 >
2024-04-04 00:50:11 +00:00
Ganesh Belgur Ramachandra
5b301e74ed
compiler,glsl: fix warning when -finstrument-functions is used
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28411 >
2024-04-04 00:03:53 +00:00
Timur Kristóf
5fa70730da
radv: Use IO semantic location for shader output info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
f23795e78c
radv: Use NIR IO semantics to determine VS input info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
9fd67c84da
radv: Remove unused VS input usage mask.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
0ddecb3f0e
radv: Add helper to determine usage of VS prologs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
5156d3097b
radv: Add helper for determining per-attribute vertex buffer descriptors.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
e04f66ae33
radv: Use NIR IO semantics to determine GS output info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
7276bea52d
radv: Record PS input clip/cull mask instead of number.
...
Keeping the mask instead of the actual number will make it easier
later to transition to basing the information on I/O intrinsics
instead of I/O variables.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
cbc8f5216a
radv: Slightly refactor gather_intrinsic_store_output_info.
...
No functional changes.
Use const more, and rename some variables to make them clearer.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
d10e458df0
radv: Extract gather_load_vs_input_info function.
...
No functional changes.
Make the code look cleaner by handling the various stages
by different functions.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
4e2eeab90d
radv: Pass key structures to gather intrinsic info.
...
No functional changes.
The information in these structures will be needed
in a later commit. Done separately to help keep that
other commit cleaner.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28172 >
2024-04-03 23:40:33 +00:00
Timur Kristóf
c27877cff9
radv: Only add extra dword to LS-HS stride when there are LS outputs.
...
Fixes: d116272689
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28544 >
2024-04-03 23:15:01 +00:00
Eric R. Smith
ad7457fe20
panfrost: mark indirect compute buffer as read
...
When we dispatch an indirect compute job, the buffer containing
the indirect parameters should be marked as read (since the GPU
will read the parameters from there). Without this there's a
race condition if the CPU later updates the buffer.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28512 >
2024-04-03 22:54:28 +00:00
Connor Abbott
fb1c3f7f5d
tu: Implement CCHE invalidation
...
We need invalidate CCHE when we optimize out an invalidation of UCHE,
for example a storage image write to texture read. We missed this
earlier because of the blob's tendency to always over-flush, but the
blob does use this when building acceleration structures.
Fixes: 95104707f1
("tu: Basic a7xx support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28445 >
2024-04-03 21:10:25 +00:00
Connor Abbott
abe9bd38ff
freedreno/a7xx: Add CP_CCHE_INVALIDATE
...
Fixes: 95104707f1
("tu: Basic a7xx support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28445 >
2024-04-03 21:10:25 +00:00
José Roberto de Souza
a47a65c1c2
intel/genxml/xe2: Update definition of INTERFACE_DESCRIPTOR_DATA
...
This maches specification and better matches the gfx 125 definition.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28505 >
2024-04-03 20:21:04 +00:00
José Roberto de Souza
0f29b780e1
intel/genxml/gfx125: Fix definition of INTERFACE_DESCRIPTOR_DATA::Thread group dispatch size
...
It was using the wrong platform definition that only had 1 bit,
filtering by DG2/ACM it shows the correct definition.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28505 >
2024-04-03 20:21:04 +00:00
José Roberto de Souza
c00c685f84
intel/genxml: Add more instdone registers
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28505 >
2024-04-03 20:21:04 +00:00
José Roberto de Souza
2f3dc31876
anv: Set STATE_COMPUTE_MODE mask bit when zeroing compute mode
...
Justing setting all zeroes to STATE_COMPUTE_MODE will do nothing,
the mask of each register must be set for it to change.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28505 >
2024-04-03 20:21:04 +00:00
Mike Blumenkrantz
ba52fb0eca
glsl: handle xfb resources for spirv before running varying opts
...
this otherwise breaks lowered io
cc: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28529 >
2024-04-03 19:28:18 +00:00
daoxiang.gong
6cadf5cc2d
zink - Fix for minLod and maxLod when mipmap filter is disabled
...
According to spec 4.6 section 8.14 (TEXTURE MINIFICATION), λ(x, y) is clamped to minLod and maxLod first and then used to choose minification or magnification: “If λ(x, y) is less than or equal to zero the texture is said to be magnified; if it is greater, the texture is minified. “
Prior to this change, Zink hard-coded minLod and maxLod to be [0.0, 0.25]. Some problems can be seen here:
If lambda originally is 0.3, and app sets minLod = 0.0f, maxLod = 0.0f, and minFilter = Linear, magFilter = Nearest:
According to the spec, lambda is clamped to 0.0 first, so magnification should be chosen, but on Zink lambda was clamped to 0.25, minification was chosen incorrectly.
Similarly if app sets minLod = 3.0f and maxLod = 3.0f
According to the spec, minification should be used regardless of lambda, but Zink would allow magnification if lambda was less than or equal to zero.
This is fixed by individually clamping minLod and maxLod to [0, 0.25].
Signed-off-by: daoxiang.gong <daoxiang.gong@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26933 >
2024-04-03 18:53:58 +00:00
Corentin Noël
ebfd3f2a78
zink: Removed unused num_texel_buffers member
...
This member is only set but never used.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28540 >
2024-04-03 18:27:26 +00:00
Timur Kristóf
cff24443fd
ac/nir/tess: Clarify when VS-TCS I/O can use registers.
...
And cleanup some old ugly code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
9faabdd5dd
ac/nir/tess: Remove superfluous args for reserved TCS outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
ae8a954048
ac/nir/tess: Calculate reserved LDS outputs based on IO info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
c61eb54806
ac/nir/tess: Map TCS LDS IO locations without gaps.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
a167cb9ba3
ac/nir/tess: Return undef when loading an unwritten TCS output.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
a1c821e911
ac/nir/tess: Clarify when a TCS output is stored in LDS or VRAM.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
08baefe18c
ac/nir/tess: Load tess factors from variable when they are passed in registers.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
10acebf88f
ac/nir: Introduce ac_nir_calc_io_offset_mapped.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Mike Blumenkrantz
3d43f8c1a1
nir/lower_wpos_ytransform: fix for lowered io
...
this should now handle scalarized+lowered io correctly
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
1c527dab96
nir/lower_wpos_ytransform: scalarize emit_wpos_adjustment
...
should be no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
a9e023ed94
nir/lower_wpos_ytransform: update comment to reflect variable usage
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
e871424b5e
nir/lower_wpos_ytransform: reuse input zw components for fragcoord rewrite
...
no functional changes, these are just unchanged
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
e848d9b9cc
nir/lower_wpos_ytransform: move new value load to start of function, reuse
...
should be no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
356d88d1e8
llvmpipe: fix DRAW_USE_LLVM=0
...
this only supports 16 UBOs
fixes #9346
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28335 >
2024-04-03 16:08:12 +00:00
Sil Vilerino
5bb72e05d1
vl_win32_screen_create: Take ownership of winsys injected to created d3d12_screen
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28546 >
2024-04-03 14:50:28 +00:00
Sil Vilerino
37cafd53ef
d3d12: Fix util_blitter_destroy destruction ordering
...
Fixes: 55e377e965
("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28546 >
2024-04-03 14:50:28 +00:00
Sil Vilerino
0dd871442b
d3d12: Fix leak dxil_module::serialized_dependency_table
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28546 >
2024-04-03 14:50:28 +00:00
Mike Blumenkrantz
24197aeb2b
zink: only use location_frac for deref array indexing for compact variables
...
not sure why I did this or how it ever worked?
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
2185da6c89
zink: fix add_derefs case for compact arrays
...
only compact arrays use the aoa size as the vector length
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
baf96518fa
zink: fix io slot calculation for vertex inputs in add_derefs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
460cd99ea5
zink: don't clobber indirect array reads with missing components
...
this breaks interfaces where the consumer reads its input indirectly
and only some of the components are written by clobbering all
the components, even if the unwritten components are never accessed
Fixes: 459b49a174
("zink: add a new linker pass to handle mismatched i/o components")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
a64f5ae9d7
zink: always check patch io during rework_io_vars
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
11e988fa80
zink: call gather_info during shader creation
...
this is totally out of sync at this point
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
562cb8381e
zink: track a mask of arrayed io locations on shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
364a6ac1a3
zink: check for arrayness rather than tess io vars for indirect array vars
...
this is a bit more accurate since it includes clip/cull dist
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
720a43858d
zink: fix generated variable expansion
...
this fixes a case where the found variable might be an array of a
smaller vector
not currently possible to reach
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
404e9f1134
zink: always use shader sizes for clip/cull dist variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
316470920a
zink: add a helper to detect clip/cull dist locations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
665755720a
zink: manually calc clip/cull distance sizes
...
the current frontend handling for this is too unreliable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
cf4953d184
zink: apply component offset for CLIP/CULL DIST1 location derefs
...
cannot currently be reached
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
332c24774c
zink: run scan_nir before variable rework
...
this will enable using its heuristics when generating variables
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
88792b9ea3
zink: update xfb info after lower_to_scalar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Mike Blumenkrantz
23ce5696d6
zink: use outputs_written mask to detect edge flag usage
...
fixes lowered io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Mike Blumenkrantz
b8bf82133a
zink: always sort io variables by location after re-creating them
...
this otherwise breaks linking
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Mike Blumenkrantz
5fd03efda0
zink: delete some ntv dead code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Samuel Pitoiset
cefbfe6597
radv: add radv_wsi.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
bfaa674583
radv: add radv_pipeline_graphics.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
987f3351b3
radv: add radv_pipeline_rt.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
7807d49f82
radv: add radv_pipeline_compute.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
f07a639801
radv: add radv_pipeline.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
8e9b41641a
radv: add radv_pipeline_cache.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
150ce13273
radv: add radv_device.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
1c590cbd28
radv: add radv_rra.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
6849305a86
radv: add radv_physical_device.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
0fb19b8331
radv: add radv_queue.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
30eb0ef45a
radv: add radv_instance.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
83841b0b78
radv: add radv_device_memory.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Samuel Pitoiset
bcfac61468
radv: move radv_shader_{layout,stage} to radv_shader.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Samuel Pitoiset
0df9270997
radv: move radv_userdata_locations to radv_shader_args.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Samuel Pitoiset
d058264f55
radv: move radv_prim_vertex_count to si_cmd_buffer.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Sil Vilerino
74ac72ceb2
d3d12: Fix leak of batch->bos on video-only builds
...
Fixes: 55e377e965
("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28543 >
2024-04-03 12:51:16 +00:00
Iago Toral Quiroga
bdf2a470d3
v3dv: fix job suspend with command buffer simultaneous use flag
...
With the simultaneous use flag we can reuse the same command
buffer multiple times. That means, for example, that we can
have an instance of a job running in the GPU while we are
submitting another one for execution to a queue.
This scenario is problematic with dynamic rendering and job
suspension because suspended jobs need to be patched with the
resume address at queue submit time, and thus, if we have another
instance of the same job currently executing in the GPU we could
stomp its resume address, which could be different.
To fix this, at queue submission time, when we detect a suspending
job in a command buffer with the simultaneous use flag, we clone the
job and create its own copy of the BCL so we can patch the resume
address into it safely without conflicting with any other instance
of the job that may be running.
We need to flag these clones as having their own BCL since
we would have to free it when the job is destroyed, unlike other
clones that don't own any resources of their own. Also, because
this job is created at queue submit time, it won't be in the
execution list of the command buffer, so it won't be automatically
destroyed with it, so we need to add it to the command buffer
as a private object.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 13:35:54 +02:00
Iago Toral Quiroga
ff8d72ba22
v3dv: store the offset of the BRANCH instruction in a CL
...
This will be useful to know which is the actual executable
size of a BO in a CL that branches into a another BO. We
will need this soon to implement deep clones of the BCL
for suspending jobs with the command buffer simultaneous
use flag.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 12:57:56 +02:00
Iago Toral Quiroga
c874caf33d
v3dv: fix job pointers from cloned CLs
...
We had these pointing to the original job instead of pointing
to the cloned job. This can be confusing, particularly, if we
then emit commands that include references to new BOs into the
cloned jobs, since we would then try to insert these BOs in the
original jobs instead of the clones, which was the situation
we had when we implemented resume address patching with dynamic
rendering.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 12:57:56 +02:00
Iago Toral Quiroga
e6efee3b40
v3dv: add a v3dv_job_clone helper
...
This will clone the job but it won't automatically put it in the
job list of a command buffer. This will come in handy to handle
the required job cloning for suspending jobs with the command buffer
reuse flag in a follow-up patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 12:57:56 +02:00
Iago Toral Quiroga
16c96b0e93
v3dv: drop single sync kernel interface
...
Since we are now requiring a multisync kernel interface there is
no reason to continue supporting the legacy interface.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28541 >
2024-04-03 10:34:17 +00:00
Iago Toral Quiroga
25e45b85c2
v3dv: require multisync kernel
...
Multisync has been available in kernel releases for a long time
now and Raspberry Pi OS kernels have been supporting it for a
while too.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28541 >
2024-04-03 10:34:17 +00:00
Mary Strodl
7a8771f7b5
NirShader: don't fail on null constant_buffer
...
On iris (and probably other platforms too), an empty buffer could be a
null pointer. This is problematic, because even empty slices can't have
a null pointer. When we encounter an empty buffer, send an empty
static slice instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28309 >
2024-04-03 09:26:38 +00:00
Samuel Pitoiset
f9b3e32440
radv: advertise VK_EXT_device_address_binding_report
...
This extension can be very useful for debugging VM faults with AMDGPU
because it's possible to associate VA ranges with Vulkan objects. Also
useful for detecting use-after-free.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28373 >
2024-04-03 08:48:36 +00:00
Samuel Pitoiset
db736ebf53
radv: implement VK_EXT_device_address_binding_report
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28373 >
2024-04-03 08:48:36 +00:00
Samuel Pitoiset
34e8e5d76f
vulkan/debug_utils: add a helper for reporting address binding
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28373 >
2024-04-03 08:48:36 +00:00
Patrick Lerda
24a5165cdf
r300: fix constants_remap_table memory leak related to the dummy shader path
...
A last memory leak related to constants_remap_table is happening.
This memory leak is triggered by two deqp-gles2 tests.
For instance, this issue is triggered with
"deqp-gles2 --deqp-case=dEQP-GLES2.functional.uniform_api.random.13":
Direct leak of 336 byte(s) in 1 object(s) allocated from:
#0 0x7f1b4a5de7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f1b401a2cdf in rc_remove_unused_constants ../src/gallium/drivers/r300/compiler/radeon_remove_constants.c:101
#2 0x7f1b40185386 in rc_run_compiler_passes ../src/gallium/drivers/r300/compiler/radeon_compiler.c:476
#3 0x7f1b40185625 in rc_run_compiler ../src/gallium/drivers/r300/compiler/radeon_compiler.c:498
#4 0x7f1b401c14d2 in r3xx_compile_fragment_program ../src/gallium/drivers/r300/compiler/r3xx_fragprog.c:172
#5 0x7f1b401b669a in r300_translate_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:516
#6 0x7f1b401baf73 in r300_pick_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:592
#7 0x7f1b40128db7 in r300_create_fs_state ../src/gallium/drivers/r300/r300_state.c:1071
#8 0x7f1b3e67799d in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1073
#9 0x7f1b3e680285 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1119
#10 0x7f1b3e6812fa in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1284
#11 0x7f1b3e6812fa in st_finalize_program ../src/mesa/state_tracker/st_program.c:1363
#12 0x7f1b3f13d501 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:754
#13 0x7f1b3f13d501 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:990
#14 0x7f1b3efeef75 in link_program ../src/mesa/main/shaderapi.c:1336
#15 0x7f1b3efeef75 in link_program_error ../src/mesa/main/shaderapi.c:1445
Fixes: 29df85788a
("r300: fix constants_remap_table memory leak")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28522 >
2024-04-03 08:28:42 +00:00
Erik Faye-Lund
dfc6330b85
panvk: use integers instead of strings
...
There's no good reason to use strings here instead of integers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28533 >
2024-04-03 08:08:00 +00:00
Mike Blumenkrantz
3352803510
zink: fix shaderdb pipeline compile
...
this assert is always triggered with shaderdb, but it's not relevant there
Fixes: 0ebd6f52a2
("zink: reuse rast_prim for line-rasterization check")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28525 >
2024-04-03 06:37:31 +00:00
Mike Blumenkrantz
18fbe63ff2
zink: make descriptor pool creation more robust
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28467 >
2024-04-03 05:48:19 +00:00
Mike Blumenkrantz
c2e0c2c67f
zink: don't use set_foreach_remove with dmabuf_exports
...
foreach_remove cannot be used if the set ever has members deleted,
and this set may have deleted members
Fixes: 7b7a581a52
("zink: prune dmabuf export tracking when adding resource binds")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28464 >
2024-04-03 05:22:43 +00:00
Yonggang Luo
3114917986
util: Turn futex_wake parameter to int32_t for consistence across platforms
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28473 >
2024-04-03 00:55:24 +00:00
Yonggang Luo
ca9738cd7a
util: futex_wait use TIME_MONOTONIC on win32 for consistence with other platform
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28473 >
2024-04-03 00:55:24 +00:00
Yonggang Luo
54e3fde5ca
util: Fixes futex_wait on win32
...
The timeout compute is invalid
Fixes: 095dfc6caa
("util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28473 >
2024-04-03 00:55:24 +00:00
Timur Kristóf
8a24610477
nir/recompute_io_bases: Sort per-primitive PS inputs last.
...
Some hardware requires that per-primitive FS inputs are
sorted last, and nir_assign_io_var_locations can already
take care of this.
Add the same consideration to nir_recompute_io_bases.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28489 >
2024-04-02 23:00:01 +00:00
Timur Kristóf
ecbf3464f6
nir: Record per-primitive inputs without variables.
...
Previously, this information would have been lost when the
shader has no I/O variables.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28489 >
2024-04-02 23:00:01 +00:00
Timur Kristóf
b085248819
nir/gather_info: Record per-primitive outputs without variables.
...
Previously, this information would have been lost when the
shader has no I/O variables.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28489 >
2024-04-02 23:00:01 +00:00
Eric Engestrom
185e9b4a75
ci: fix nightly build
...
Fixes: 7c0b19a607
("ci: run python-test automatically only in merge pipelines")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28517 >
2024-04-02 22:10:43 +00:00
Samuel Pitoiset
a535425fb6
radv: enable radv_zero_vram for Red Dead Redemption 2
...
This fixes some very rare glitches that are unrelated to DCC.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8719
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28393 >
2024-04-02 21:31:46 +00:00
Samuel Pitoiset
89182faee8
radv: add radv_device_generated_commands.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
c4e83026af
radv: add radv_perfcounter.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
bccaeab503
radv: add radv_query.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
bbb2e82e9a
radv: add radv_image_view.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
d7141bbf79
radv: add radv_image.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
ce54440af3
radv: add radv_video.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
c925f03712
radv: add radv_buffer.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
4ba5ba8017
radv: add radv_buffer_view.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
9a09954637
radv: add radv_event.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Samuel Pitoiset
0c8f0c3918
radv: add radv_sampler.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28510 >
2024-04-02 21:04:53 +00:00
Eric Engestrom
e4aa095c6e
ci/deqp: backport fix for dEQP-VK.pipeline.*.render_to_image.*.huge.*
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28498 >
2024-04-02 19:49:09 +00:00
Georg Lehmann
80652de67b
aco/ra: use SDWA for 16bit instructions when the second byte is blocked
...
Found by inspection, I think this can happen with pack_32_4x8(f2u8(a@16)),
which will use v_cvt_u16_f16 (a 16bit instruction) with a v1b definition.
No Foz-DB changes on Navi21.
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28443 >
2024-04-02 19:03:14 +00:00
Eric Engestrom
e215200617
ci: use the new VK_DRIVER_FILES env var
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:52 +00:00
Eric Engestrom
09e5b3da76
ci: drop unused VK_ICD_FILENAMES passthrough from jobs to tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:52 +00:00
Eric Engestrom
ff37f68740
meson: add VK_DRIVER_FILES to devenv, alongside the old VK_ICD_FILENAMES
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:52 +00:00
Eric Engestrom
364ef85a8e
docs/zink: format the envvar value as code instead of plain text
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:52 +00:00
Eric Engestrom
96e8648b32
docs: replace references to the deprecated VK_INSTANCE_LAYERS with the new VK_LOADER_LAYERS_ENABLE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:52 +00:00
Eric Engestrom
5a8ce84c92
docs: replace references to the deprecated VK_ICD_FILENAMES with the new VK_DRIVER_FILES
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:51 +00:00
Eric Engestrom
4e746c90a4
docs/envvars: document some vulkan loader env vars
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:51 +00:00
Eric Engestrom
4b8735cd4e
ci: raise the log level threshold of spirv logs
...
Avoid the wall of "Unsupported SPIR-V capability" warnings in CI job
log, hiding away useful output:
ERROR - dEQP error: SPIR-V WARNING:
ERROR - dEQP error: In file ../src/compiler/spirv/spirv_to_nir.c:4779
ERROR - dEQP error: Unsupported SPIR-V capability: SpvCapabilityDrawParameters (4427)
ERROR - dEQP error: 28 bytes into the SPIR-V binary
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28503 >
2024-04-02 17:25:42 +00:00
Timur Kristóf
3223650bad
radv: Reuse TCS offchip layout between TCS and TES.
...
Using the same SGPR bitfield in TCS and TES will simplify driver
code and make RADV consistent with RadeonSI.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28490 >
2024-04-02 16:54:09 +00:00
Timur Kristóf
4b0b0e675c
radv: Include output patch size in TCS offchip layout.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28490 >
2024-04-02 16:54:09 +00:00
Timur Kristóf
2a76f821af
radv: Change number of patches in TCS offchip layout to match RadeonSI.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28490 >
2024-04-02 16:54:09 +00:00
Timur Kristóf
820370ca08
radv: Change input patch size in TCS offchip layout to match RadeonSI.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28490 >
2024-04-02 16:54:08 +00:00
Timur Kristóf
d116272689
radv: Add number of LS and HS outputs to tcs_offchip_layout.
...
And calculate the LS-HS per-vertex stride in shader code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28490 >
2024-04-02 16:54:08 +00:00
Rob Clark
5a45077d84
egl/android: Fix gl_config dereference
...
Fixes: 273e54391a
("egl/android: Remove hard-coded color-channel data")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28509 >
2024-04-02 15:52:23 +00:00
Samuel Pitoiset
eb4036a4be
radv: move some VK_DEFINE_NONDISP_HANDLE_CASTS to radv_descriptor_set.h
...
Use that right after the structures are declared.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28519 >
2024-04-02 13:55:52 +00:00
Samuel Pitoiset
964f1ed023
radv: move radv_device_supports_etc() to radv_physical_device.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28519 >
2024-04-02 13:55:52 +00:00
Samuel Pitoiset
57dd6691df
radv: pass a radv_physical_device to radv_use_llvm_for_stage()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28519 >
2024-04-02 13:55:52 +00:00
Samuel Pitoiset
1a48e57a3d
radv: declare format related functions in radv_formats.h
...
They are all defined in radv_formats.c.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28519 >
2024-04-02 13:55:52 +00:00
Samuel Pitoiset
20963fbba5
radv: declare radv_cmd_update_descriptor_xxx() in radv_descriptor_set.h
...
They are defined in radv_descriptor_set.c.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28519 >
2024-04-02 13:55:52 +00:00
Joshua Ashton
5f7a5a27ef
wsi: Implement linux-drm-syncobj-v1
...
This implements explicit sync with linux-drm-syncobj-v1 for the
Wayland WSI.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:38 +00:00
Joshua Ashton
dd16c28b78
meson: Bump wayland-protocols requirement to 1.34
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:38 +00:00
Joshua Ashton
d9eb69182d
meson: Update wayland-protocols wrap to 1.34
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
cee642af36
ci: Bump DEBIAN_BASE_TAG for now
...
We should not have to do this... but the arm64 builder does not respect DEBIAN_BUILD_TAG.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
19607c9ff4
ci: Bump wayland-protocols version to 1.34
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
59813ae468
wsi: Add common infrastructure for explicit sync
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
4bf8f96b3e
wsi: Get timeline semaphore exportable handle types
...
We need to know this for explicit sync
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
6a72ea01d3
wsi: Track CPU side present ordering via a serial
...
We will use this in our hueristics to pick the most optimal buffer in AcquireNextImageKHR
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
7467f29af1
wsi: Add acquired member to wsi_image
...
Tracks whether this wsi_image has been acquired by the app
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
a50ce3df71
wsi: Track if timeline semaphores are supported
...
This will be needed before we expose and use explicit sync.
Even if the host Wayland compositor supports timeline semaphores, in the
case of Venus, etc the underlying driver may not.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
efa6fac0d7
build: Add linux-drm-syncobj-v1 wayland protocol
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
72240780f2
wsi: Add explicit_sync to wsi_drm_image_params
...
Allow the WSI frontend to request explicit sync buffers.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
c30c969c24
wsi: Add explicit_sync to wsi_image_info
...
Will be used in future for specifying explicit sync for Vulkan WSI when supported.
Additionally cleans up wsi_create_buffer_blit_context, etc..
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
eae948332a
wsi: Pass wsi_drm_image_params to wsi_configure_prime_image
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
d6345250ca
wsi: Pass wsi_drm_image_params to wsi_configure_native_image
...
No need to split this out into function parameters, it's just less clean.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Eric Engestrom
55ac1bfc57
ci: add missing rule to disable vmware farm
...
Fixes: 54050d8844
("svga/ci: land vmware mesa-ci lava farm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28515 >
2024-04-02 12:18:01 +00:00
Kai Wasserbäch
50783351bc
fix(FTBFS): clover: adapt to new LLVM 19 DiagnosticHandlerTy
...
LLVM 19 changed DiagnosticHandlerTy. Adapt to that.
Reference: 44d037cc25
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28520 >
2024-04-02 11:27:31 +00:00
Kai Wasserbäch
1c3cce2fff
fix(FTBFS): clc: adapt to new LLVM 19 DiagnosticHandlerTy
...
LLVM 19 changed DiagnosticHandlerTy. Adapt to that.
Reference: 44d037cc25
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10928
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28520 >
2024-04-02 11:27:31 +00:00
Eric Engestrom
1b6c9a8f68
ci: mark vmware farm as offline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28514 >
2024-04-02 10:05:05 +00:00
Tapani Pälli
a87d888546
anv: disable fcv optimization on >= gfx125
...
Earlier strategy was to enable always on DG2 but there has been bunch of
issues that indicate this feature is not working correctly. Disable
until we figure out issues with it.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28184 >
2024-04-02 09:28:18 +00:00
Sergi Blanch Torne
35a9e8577c
ci: Nightly run expectations update
...
Reviewer the results from the last nightly run completed using ci-collate tool
(gl.fd.o/gfx-ci/ci-collate) with the 'patch' feature and a bit of human
intervention, these are the changes in the expectations.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28350 >
2024-04-02 07:52:42 +00:00
Zan Dobersek
ca6779f3cb
fd: enable prefixing the RD output filename
...
When using Freedreno's RD output facilities, enable prefixing any output or
trigger file with the string specified in the FD_RD_DUMP_TESTNAME environment
option. This is similar to how the TESTNAME env can be used with libwrap to
provide a more descriptive name for the output RD file.
These prefixes can be quite long, e.g. the longest test case name in Vulkan CTS
is above 250 characters. For that reason the output name string in the
fd_rd_output struct is now allocated on the heap, and any path building using
the output name has its on-stack string buffer enlarged.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28442 >
2024-04-02 07:49:36 +02:00
Kenneth Graunke
9e0d0190ea
intel/brw: Drop align16 support in brw_broadcast()
...
align16 support is only used on Gen9 for 3-source instructions, quad
swizzling, and dPdy calculations. We don't need it for broadcast.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28458 >
2024-04-02 00:00:59 +00:00
Kenneth Graunke
a520c976a5
intel/brw: Drop dead CHV checks.
...
This compiler no longer supports Cherryview.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28458 >
2024-04-02 00:00:59 +00:00
Kenneth Graunke
e3d12cf72f
intel/brw: Don't mention gfx7 limitations in shuffle comments
...
We don't support gfx7 here anymore, so we needn't consider it.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28458 >
2024-04-02 00:00:59 +00:00
Kenneth Graunke
1d9e2b761a
intel/brw: Update comments for indirect MOV splitting
...
brw_broadcast and generate_mov_indirect both had similar comments, both
with typos ("insead"). One still referred to IVB bugs, while the other
dropped that during the compiler split. The one that dropped the
comment mentioned "both of these" issues, while citing only one issue;
there was in fact a third issue (no-Q/UQ) that wasn't mentioned in
either comment. One also had some bad grammar in the comments.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28458 >
2024-04-02 00:00:59 +00:00
Kenneth Graunke
7a24f29fbb
intel/brw: Fix lower_regioning for BROADCAST, MOV_INDIRECT on Q types
...
For BROADCAST and MOV_INDIRECT, required_exec_type was returning
brw_int_type(type_sz(t), false), which is an unsigned type. However,
get_exec_type(inst) returns the original type for either Q or UQ.
This meant that has_invalid_exec_type would detect a mismatch and
trigger lowering.
That lowering would insert new 64-bit MOVs, which would need to be
lowered on platforms which don't support Q/UQ. Except, we already
ran that lowering pass earlier. So, the unlowered Q/UQ MOVs would
reach the software scoreboarding pass, and trigger failures in the
inferred_exec_pipe() function, as no pipe is available to handle
64-bit integer operations.
It turns out that we don't need the region lowering pass to do
anything for these opcodes. The generator code for both BROADCAST
and MOV_INDIRECT already handle decomposing Q/UQ operations into
32-bit MOVs when they're not supported. And, it also implicitly
converts to integer types, even for floating point sources. The
inferred_exec_pipe function already special cases them to note
that they'll always be handled on the integer pipe, so that matches.
Just drop the region lowering code for these opcodes.
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28458 >
2024-04-02 00:00:59 +00:00
Kenneth Graunke
a90edad9f7
intel/brw: Fix generate_mov_indirect to check has_64bit_int not float
...
We are overriding the type to Q/UQ, so we need to split to two MOVs
if 64-bit integer math is not supported. For reference, Meteorlake
does support 64-bit floats but would still not work correctly here.
See also brw_broadcast(), which does similar indirects but correctly
checks has_64bit_int instead of has_64bit_float.
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28458 >
2024-04-02 00:00:59 +00:00
Paulo Zanoni
817f74748f
anv/xe: don't overwrite the result from vk_sync_wait()
...
The vk_sync_wait() function is already capable of returning some nice
VkResult errors, don't lose information by replacing everything with
vk_queue_set_lost.
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/28455 >
2024-04-01 23:36:12 +00:00
Paulo Zanoni
38af7254e2
anv/xe: don't leak xe_syncs during trtt submission
...
==134077== 96 bytes in 1 blocks are definitely lost in loss record 1 of 3
==134077== at 0x4840808: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==134077== by 0x6D6F690: vk_default_alloc (vk_alloc.c:26)
==134077== by 0x52EEEBE: vk_alloc (vk_alloc.h:48)
==134077== by 0x52EEEEE: vk_zalloc (vk_alloc.h:56)
==134077== by 0x52EF47E: xe_exec_process_syncs (anv_batch_chain.c:132)
==134077== by 0x52EF8F6: xe_execute_trtt_batch (anv_batch_chain.c:215)
==134077== by 0x5301670: anv_queue_submit_trtt_batch (anv_batch_chain.c:1697)
==134077== by 0x603D135: gfx125_write_trtt_entries (genX_cmd_buffer.c:6091)
==134077== by 0x5370B44: anv_sparse_bind_trtt (anv_sparse.c:595)
==134077== by 0x5370CFC: anv_sparse_bind (anv_sparse.c:629)
==134077== by 0x5370E6E: anv_init_sparse_bindings (anv_sparse.c:670)
==134077== by 0x5328037: anv_CreateBuffer (anv_device.c:5071)
Note to backporters: this is only for when xe.ko is being used and
ANV_SPARSE_USE_TRTT=1 is exported. This is not the regular code path.
Fixes: 18bd00c024
("anv/trtt: don't wait/signal syncobjs using the CPU anymore")
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/28455 >
2024-04-01 23:36:12 +00:00
Eric Engestrom
4cf272364b
docs/nvk: fix envvar documentation
...
It was accidentally trying to link to an envvar definition instead of creating said definition.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
7c637c20d9
docs/anv: fix envvar documentation
...
It was accidentally trying to link to an envvar definition instead of creating said definition.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
8e7703a455
nir: add missing stdint include
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
51c589234d
isl: fix inline c identifier reference -> inline code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
13b88747d4
docs: fix inline c identifier reference -> inline code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
7668cb54dd
docs/isl: fix enum references
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
a38d6547a5
docs/isl: VK_FORMAT_xxx_PACKEDn is not a real format, don't try to link to it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Eric Engestrom
dfc211ed43
docs/isl: stop trying to link to classic drivers code
...
It doesn't exist anymore since cdde031ac2
("classic/i965: Remove driver").
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:36 +00:00
Eric Engestrom
643cc8be7f
docs/isl: fix references to ISL_AUX_USAGE_CCS_*
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:36 +00:00
Eric Engestrom
db810a0644
docs/envvars: fix reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:36 +00:00
Eric Engestrom
f6702bb91f
docs/nir: vec4 reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:36 +00:00
Eric Engestrom
c7da4a97fb
docs/macos: drop reference to former github mirror
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:36 +00:00
Eric Engestrom
7c0b19a607
ci: run python-test automatically only in merge pipelines
...
In particular, fork and pre-merge pipelines should not automatically run
it (and `debian/x86_64_build` and `debian/x86_64_build-base`).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28452 >
2024-04-01 20:21:44 +00:00
Eric Engestrom
891e2e42c6
ci: run python-test when editing the CI itself
...
Every job should have this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28452 >
2024-04-01 20:21:44 +00:00
Eric Engestrom
182ff5dada
ci: fold .test-check into its only user, python-test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28452 >
2024-04-01 20:21:44 +00:00
Sathishkumar S
c34cfc1a3b
ac/gpu_info: update multimedia info
...
update multimedia info to show num_instances and firmware version when valid
and video codec capabilities are shown if the query is supported and valid.
Multimedia info: from Navi21 ASIC is shown below.
Multimedia info:
vcn_decode = 2
vcn_encode = 2
vcn_enc_major_version = 1
vcn_enc_minor_version = 30
vcn_dec_version = 3
jpeg_decode = 1
codec dec max_resolution enc max_resolution
mpeg2 * 4096x4096 - -
mpeg4 * 4096x4096 - -
vc1 * 4096x4096 - -
h264 * 4096x4096 * 4096x2160
hevc * 8192x4352 * 7680x4352
jpeg * 4096x4096 - -
vp9 * 8192x4352 - -
av1 * 8192x4352 - -
v2: fix build error with _WIN32 builds
v3: rebase on 76425cdf23
(ac/gpu_info: Add vcn dec and enc version query)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28252 >
2024-04-01 18:05:21 +00:00
Sathishkumar S
eb693cfec6
radeonsi/vcn: use num_instances from radeon_info
...
num_instances is used to track ip count not num_queues.
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28252 >
2024-04-01 18:05:21 +00:00
Sathishkumar S
583921b2e7
ac/gpu_info: fix regression in vulkan hw decode
...
commit f3ab454f07
breaks vulkan hardware decoding. num_queues must
not be more than 1 for vcn ip since vcn has to retain context among
dependent jobs. use num_instances variable to track ip count.
Fixes: f3ab454f07
("ac/gpu_info: query the number of ip instance")
v2: rebase on 76425cdf23
(ac/gpu_info: Add vcn dec and enc version query)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28252 >
2024-04-01 18:05:21 +00:00
Eric Engestrom
9329f2c15b
radv/ci: simplify tahiti flakes list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28478 >
2024-04-01 17:27:45 +00:00
Eric Engestrom
4e625fa161
ci: restore kws farm
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28508 >
2024-04-01 17:00:29 +00:00
Samuel Pitoiset
b35b2718be
radv: remove radv_physical_device::instance
...
Get the instance object using the base object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
e2c29c9bb6
radv: remove radv_device::instance
...
Use the physical device to access the instance.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
675d7f4bd0
radv: remove radv_cmd_buffer::device
...
Get the logical device object using the base object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
29bae070d1
radv: remove radv_queue::device
...
Get the logical device object using the base object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
896c9cf486
radv: remove radv_device::physical_device
...
Get the logical device object using the base object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
310597cab6
radv: rename radv_physical_device::rad_info to info
...
The extra rad_ prefix isn't necessary and it's longer to type.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
2686cd59df
radv: rename radeon_info variables to gpu_info everywhere
...
Sometimes we might have other info struct, so renaming to gpu_info
removes the confusion.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
52663ec80f
radv/winsys: rename gpu_info to pci_ids in the null winsys
...
To avoid a conflict in the next commit.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Samuel Pitoiset
ce1c32e358
radv: rename radv_physical_device variables to pdev everywhere
...
Shorter and more consistent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28500 >
2024-04-01 16:35:09 +00:00
Eric Engestrom
f674fdee72
ci: take kws farm offline
...
Planned maintenance, will revert when we're done.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28507 >
2024-04-01 17:28:41 +01:00
Samuel Pitoiset
fcb568a5d5
docs: add alpha-to-one features for RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28434 >
2024-04-01 10:50:52 +00:00
Samuel Pitoiset
f463901983
radv: advertise extendedDynamicState3AlphaToOneEnable with ACO
...
PS epilogs aren't supported with LLVM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28434 >
2024-04-01 10:50:52 +00:00
Samuel Pitoiset
850605eba1
radv: advertise alphaToOne
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28434 >
2024-04-01 10:50:52 +00:00
Samuel Pitoiset
e7206bcdb2
radv: implement alpha-to-one
...
This was missing and it's useful for Zink.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28434 >
2024-04-01 10:50:51 +00:00
Eric Engestrom
a5f1f39bf7
docs/egl: various wording improvements
...
Drop mention of the option for classic drivers, be clearer about which
options enable gles1 and 2+, mention that it's 2+ and not just 2, be
clearer when we say "main library" that we're talking about the EGL lib,
and some grammar fixes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28497 >
2024-04-01 10:33:09 +00:00
Eric Engestrom
57ceedfc3e
docs: mesa also implements gles 3.0+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28496 >
2024-04-01 10:11:43 +00:00
David Heidelberg
28a1cdf7e0
docs: we support EGL 1.5 for a long time
...
Cc: mesa-stable
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28495 >
2024-04-01 09:52:36 +00:00
Iago Toral Quiroga
9fad2922fb
broadcom/compiler: fix workaround for GFXH-1602
...
In this scenario drivers are adding a dummy attribute with a size
of 1, so we should account for it here.
Fixes missing window decorations with GTK4+.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10853
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28414 >
2024-04-01 09:22:39 +00:00
Iago Toral Quiroga
ad647e2c90
v3d: implement fix for GFXH-1602
...
Same fix as implemented for v3dv.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28414 >
2024-04-01 09:22:38 +00:00
Rohan Garg
3d68dd78d0
intel/eu/validate: Allow SIMD16 for mixed mode float operations on xe2+
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Rohan Garg
a368d234c8
intel/brw: Lower DWORD scattered read writes to lsc
...
Rework:
* Francisco Jerez: Rebase on 07b9bfacc7
("intel/compiler: Move
logical-send lowering to a separate file")
* Jordan: Move SHADER_OPCODE_DWORD_SCATTERED_*_LOGICAL from previous
patch, as it seems to make more sense here.
* Jordan: Change `devinfo->has_lsc` ?: to if/else as suggested by idr
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Rohan Garg
b5040bfc3f
intel/brw: Handle typed surface and atomic messages for xe2+
...
Reworks:
* Francisco: Rebase on 07b9bfacc7
("intel/compiler: Move
logical-send lowering to a separate file")
* Jordan: Rebase on 952a523abb
("intel: switch over to unified
atomics")
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Francisco Jerez
74efde7663
intel/brw/xehp+: Drop redundant arguments of lsc_msg_desc*().
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Francisco Jerez
f1812437e8
intel/eu/xehp+: Don't initialize mlen and rlen descriptor fields from lsc_msg_desc*().
...
These fields are overlapping with the ones set by brw_message_desc(),
so the latter should be used instead. This fixes corruption of the
LSC message descriptors when inconsistent values are specified through
both helpers, which can happen if the 'inst->mlen' field is modified
during optimization (e.g. by opt_split_sends()).
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Francisco Jerez
fa96274a87
intel/brw/xehp+: Replace lsc_msg_desc_dest_len()/lsc_msg_desc_src0_len() with helpers to do the computation.
...
We cannot rely on the immediate message descriptor having accurate
values for mlen and rlen at the IR level, since they are updated at
codegen time via 'inst->mlen' and 'inst->size_written', which could
end up with values inconsistent with the message descriptor if
e.g. the split sends optimization had an effect. Instead, define
helpers that do the computation without relying on the message
descriptor, and use the pre-existing
brw_message_desc_mlen()/brw_message_desc_rlen() helpers (fully
equivalent to the lsc helpers deleted here) during disassembly.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Ian Romanick
5f9ab41457
intel/brw/xe2: Update uniform handling to account for 512b physical registers
...
Rework:
* Jordan: Drop FINISHME (s-b Caio)
* Jordan: Use reg_unit() in asserts rather than a ver check (s-b Caio)
* Ian: Make use of reg_unit() in round_components_to_whole_registers()
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Ian Romanick
8587ef172c
intel/brw/xe2: Update brw_nir_analyze_ubo_ranges to account for 512b physical registers
...
Rework:
* Jordan: Use `REG_SIZE * reg_unit` (Suggested by Caio)
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28484 >
2024-04-01 00:00:03 +00:00
Faith Ekstrand
d5a8940812
nvk: Use a linked list for descriptor sets in a pool
...
There's no real benefit to all this fixed size array nonsense. We're
heap allocating all of the nvk_descriptor_set structs anyway so having
an array-of-pointers walk instead of a linked list is no faster. Also,
this gets rid of another fixed-size array that can overflow.
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28482 >
2024-03-31 20:42:59 +00:00
Faith Ekstrand
5c1683c9b9
nvk: Use a VMA heap for descriptor memory
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28482 >
2024-03-31 20:42:59 +00:00
Faith Ekstrand
6cbd3a18d4
nvk: Use the page-aligned BO size for the descriptor pool
...
The BO may have more space in it than requested since it's aligned to
64K. We may as well make that available to the client.
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28482 >
2024-03-31 20:42:59 +00:00
David Heidelberg
a2d3cdd5f2
r300: add missing copyright header
...
Missed copyright header in newly added file.
Fixes: 024491f60f
("r300: nir fcsel/CMP lowering pass for R500")
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28384 >
2024-03-31 13:03:01 +00:00
David Heidelberg
b2ae73b27e
r300: add missing licence to the r300_public.h
...
Hardly a copyrightable file, though it should inherit the MIT
license as the code originate from MIT licensed r300_winsys.h.
Fixes: 6e3fc2de2a
("r300g: Move bootstrap code to targets")
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28384 >
2024-03-31 13:03:00 +00:00
David Heidelberg
95eefce4d8
r300: convert to SPDX license block and fix small typos
...
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28384 >
2024-03-31 13:03:00 +00:00
Marek Olšák
b6a93058b9
nir/opt_varyings: simplify nir_io_semantics::num_slots of directly-indexed slots
...
Compaction only moves directly-indexed slots. This prevents unnecessary
num_slots > 1 from appearing in random slots.
Fixes: c66967b5cb
- nir: add nir_opt_varyings, new pass optimizing and compacting varyings
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28431 >
2024-03-31 03:02:51 +00:00
Marek Olšák
71becd1b44
nir/opt_varyings: don't generate IO with unsupported bit sizes
...
Backward inter-shader code motion turns ALU results into outputs,
which led to getting IO with unsupported bit sizes. This prevents
that.
There is a new NIR option flag that indicates 16-bit support.
Fixes: c66967b5cb
- nir: add nir_opt_varyings, new pass optimizing and compacting varyings
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28431 >
2024-03-31 03:02:51 +00:00
Marek Olšák
5c543f4a02
tgsi_to_nir: translate TG4
...
Tested-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28349 >
2024-03-30 22:25:19 -04:00
Timur Kristóf
96ee0d6711
ac/nir/tess: Remove dead code that was meant for epilogs.
...
We no longer need to emit store_output intrinsics at the
end of the shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:51 +01:00
Timur Kristóf
b34e99d021
radeonsi: Use one more bit for number of patches in TCS offchip layout.
...
There was 1 more bit left, may as well use it for something.
In the future, this may allow increasing the maximum number of
patches per workgroup.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:48 +01:00
Timur Kristóf
04dea4aef2
radeonsi: Remove tess bits from VS state.
...
These parts are not used anymore, therefore we no longer need to
change the VS state when tessellation states change.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:45 +01:00
Timur Kristóf
b82614e06b
radeonsi: Add number of VS outputs to TCS output layout.
...
Use tcs_offchip_layout instead of VS state to determine the
number of LS outputs.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:42 +01:00
Timur Kristóf
8883b88dd4
aco: Delete all TCS epilog code.
...
Now that neither RADV nor RadeonSI uses TCS epilogs, we don't
need to keep the code to compile them in ACO either.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:39 +01:00
Timur Kristóf
078a23cde4
radeonsi: Delete TCS epilogs entirely.
...
Always emit the tessellation factor writes in the main shader,
which is doable now that the necessary information is in the
tcs_offchip_layout SGPR.
This eliminates the need for TCS epilogs, so delete them
entirely from RadeonSI.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:35 +01:00
Timur Kristóf
71f9d4b9eb
radeonsi: Implement dynamic TCS intrinsics for non-monolithic shaders.
...
Put the primitive mode and whether TES reads tess factors into
the tcs_offchip_layout SGPR, so they can be used by the main
shader instead of needing the epilog.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:32 +01:00
Timur Kristóf
05dda3d6e7
radeonsi: Put HS output count in TCS offchip layout, not patch data offset.
...
The intention is to free up enough bits in tcs_offchip_layout so
that it can contain information for more dynamic states.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:29 +01:00
Timur Kristóf
e68ab8651e
ac/llvm, radeonsi: Handle tess_rel_patch_id in common code.
...
We'll need to clean this up later, but for now it's better to
have it in common code than in RadeonSI.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28425 >
2024-03-30 21:56:20 +01:00
Zan Dobersek
3ee81ffe14
tu: fix memory leaks in tu_shader
...
When tu_shader object is destroyed through vk_pipeline_cache, the relevant
destroy callback should relay to the general tu_shader_destroy function
that will also clean up owned resources.
During shader creation, the ir3_shader object should be destroyed once the
shader variants are retrieved. Since those variants are owned by tu_shader
they should be freed up in tu_shader_destroy.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Fixes: a03525d8db
("tu: Split program draw state into per-shader states")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27847 >
2024-03-30 08:56:03 +01:00
Alyssa Rosenzweig
fcf1a8062b
asahi: switch to VS/FS prolog/epilog system
...
With the exception of some variants for framebuffer fetch (to be addressed in a
follow up MR, this is big enough as it is) -- this switches us to a shader
precompile path for VS & FS. VS prologs let us implement vertex buffer fetch
with dynamic formats, FS prologs let us implement misc emulation like API sample
masking and cull distance, while FS epilogs handle blending and tilebuffer
stores. This should cut down shader recompile jank significantly in the GL
driver. It also prepares us with most of what we need for big ticket Vulkan
extensions like ESO, GPL, and EDS3.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:20 +00:00
Alyssa Rosenzweig
742a842811
asahi/clc: stop padding binaries
...
we're going to switch away from the dynarray soon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
3a2d13f59e
asahi: add fast linker
...
to stitch together programs from separate parts
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
66862fa160
agx: add main_size info
...
so we can fastlink when there are preambles
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
0298c5d905
agx: add agx_shader_part data structure
...
for fastlinking.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
e6105cdf0c
asahi: static assert blend key size
...
need to make sure it's padded because C
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
b0698b796e
agx: drop shader stage assertion
...
we'll reuse these for SW VS too which is HW compute
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
57fa9a2b8e
nir: add intrinsics for non-monolithic agx shaders
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
99a4d0fcad
asahi: don't allocate tib space for gaps
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
eadf4cfe1c
asahi: constify agx_build_tilebuffer_layout
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
5d375e6143
asahi: add agx_usc_push_packed helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
9974f68bb9
agx: document non-monolithic ABI
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
a9ccd72265
agx: implement exports
...
translate export/load_exported instructions into moves to/from the requested
GPRs at shader part boundaries, with coalescing in RA for perf.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
c6839cfd69
agx: generalize preloaded cache
...
we'll need it for more regs
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
61a4414bf6
agx: wire up samples_log2 sr
...
details determined by trial & error.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
e536b4973f
nir: add export/load_exported_agx intrinsics
...
for lowering non-monolithic ABI
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
df8e52a795
nir: add samples_log2_agx sysval
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
fbd6182549
asahi: fix bit sizes in point sprite lower
...
not sure how this wasn't caught before. ati_fragment_shader-error05-passes
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
caad4703aa
agx: always reserve sampler #0 for txf
...
this is a lot simpler for non-monolithic programs and is unlikely to be a
meaningful performance problem.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
be81812a4b
agx: inline sampler states
...
to avoid regresisng code gen next commit
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
781dcc8ef8
agx: optimize out wait_pix in some cases
...
noticed in prop driver asm
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
c955845891
asahi: don't set writes_memory for tib spilling
...
we don't want the zs_emit dance emitted, all we care about is making sure tag
writes are enabled as if we had a regular tib store
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
70395c1ac1
asahi: delete layer id code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
6a63fffeaa
asahi: fix _packed USC structs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
b3fdede75b
asahi: use ht derive more
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
a108b21d4c
asahi: drop dead linked_so code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
ad2f096a8b
agx/lower_vbo: dce as we go
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
acc1fd3a8a
asahi: stop using GLSL indirect lowering
...
we typically don't need it, and where we do, NIR does better.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
5c7ce24896
asahi: make point size replacement dynamic
...
I'm not measuring a significant perf difference in
-bshading:shading=phong:model=bunny -bideas -brefract so this seems Good Enough
For Me.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
7595dc9036
asahi: drop now-empty base key
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
f0e1ccc8d4
asahi: rewrite varying linking
...
Lower store_output to store_uvs_agx + math. Link UVS indices at draw-time
instead of compile-time to get efficient separate shaders. Also picks up varying
compaction along the way.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
3764adbef1
agx: inline imm into st_vary
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
a25e8de180
agx: pack indirect st_vary
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
78ede839f7
agx: rm unnecessary iter hack
...
I added this hack to avoid WaW hazards with iter instructions. Now that we know
about the iter elide bit and are not setting it improperly, we can drop the
complexity and just allow the hazard.
total instructions in shared programs: 2039480 -> 2038792 (-0.03%)
instructions in affected programs: 123441 -> 122753 (-0.56%)
helped: 811
HURT: 124
Instructions are helped.
total bytes in shared programs: 13983802 -> 13977870 (-0.04%)
bytes in affected programs: 806882 -> 800950 (-0.74%)
helped: 823
HURT: 117
Bytes are helped.
total regs in shared programs: 590670 -> 592862 (0.37%)
regs in affected programs: 8585 -> 10777 (25.53%)
helped: 29
HURT: 398
Regs are HURT.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
0d9ab6f7c7
asahi: advertise indirect fs inputs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
a17b350a3d
agx: handle indirect varyings
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
87551ba3eb
agx: pack indirect CF
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
ea9ddf1b96
agx: explicitly assign coeff registers
...
prereq to doing FS indirect inputs nicely
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
70277f8ff7
asahi: extract agx_cf_binding
...
for convenience
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
a2265ff588
asahi: drop =varyings debug
...
hasn't been relevant.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
9c2df9e814
asahi: add agx_push_packed
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
499d091208
nir: add intrinsics for lowered VS outputs
...
handling VS indirects will require some driver cooperation.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
1773eb329c
nir: add offset to load_coefficients_agx
...
for indirect varyings
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
a1f6e2818d
docs/asahi: document UVS
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
43613314ab
agx/opt_preamble: improve rewrite cost est
...
this keeps us from hoisting piles of iadd for no benefit withthe new vertex
path. results on shaderdb without HW VS:
total bytes in shared programs: 13975632 -> 13975666 (<.01%)
bytes in affected programs: 3298 -> 3332 (1.03%)
helped: 0
HURT: 3
total uniforms in shared programs: 1516540 -> 1516522 (<.01%)
uniforms in affected programs: 234 -> 216 (-7.69%)
helped: 3
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
fd76caf5d3
agx/opt_preamble: preamble cycle estimates
...
total instructions in shared programs: 2038338 -> 2038217 (<.01%)
instructions in affected programs: 32658 -> 32537 (-0.37%)
helped: 9
HURT: 4
Instructions are helped.
total alu in shared programs: 1593474 -> 1593094 (-0.02%)
alu in affected programs: 110828 -> 110448 (-0.34%)
helped: 315
HURT: 9
Alu are helped.
total fscib in shared programs: 1589634 -> 1589254 (-0.02%)
fscib in affected programs: 110828 -> 110448 (-0.34%)
helped: 315
HURT: 9
Fscib are helped.
total ic in shared programs: 477960 -> 477948 (<.01%)
ic in affected programs: 12 -> 0
helped: 3
HURT: 0
total bytes in shared programs: 13975162 -> 13975632 (<.01%)
bytes in affected programs: 978988 -> 979458 (0.05%)
helped: 14
HURT: 313
Inconclusive result (value mean confidence interval includes 0).
total uniforms in shared programs: 1516534 -> 1516540 (<.01%)
uniforms in affected programs: 4278 -> 4284 (0.14%)
helped: 5
HURT: 6
Inconclusive result (value mean confidence interval includes 0).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
4c77f59e8a
agx/opt_preamble: restrain ourselves
...
hoisting EVERYTHING is counterproductive now that we can remat constants.
total instructions in shared programs: 2038818 -> 2038338 (-0.02%)
instructions in affected programs: 33002 -> 32522 (-1.45%)
helped: 9
HURT: 3
Instructions are helped.
total alu in shared programs: 1594051 -> 1593474 (-0.04%)
alu in affected programs: 22012 -> 21435 (-2.62%)
helped: 12
HURT: 0
Alu are helped.
total fscib in shared programs: 1590211 -> 1589634 (-0.04%)
fscib in affected programs: 22012 -> 21435 (-2.62%)
helped: 12
HURT: 0
Fscib are helped.
total bytes in shared programs: 13978022 -> 13975162 (-0.02%)
bytes in affected programs: 219746 -> 216886 (-1.30%)
helped: 12
HURT: 0
Bytes are helped.
total regs in shared programs: 592854 -> 592758 (-0.02%)
regs in affected programs: 954 -> 858 (-10.06%)
helped: 6
HURT: 0
Regs are helped.
total uniforms in shared programs: 1516579 -> 1516534 (<.01%)
uniforms in affected programs: 4605 -> 4560 (-0.98%)
helped: 9
HURT: 0
Uniforms are helped.
total threads in shared programs: 20329216 -> 20329600 (<.01%)
threads in affected programs: 3840 -> 4224 (10.00%)
helped: 6
HURT: 0
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
cae914978b
agx/opt_preamble: improve preamble cost function
...
save lots of uniforms by no longer pushing silly things.
total instructions in shared programs: 2039473 -> 2039480 (<.01%)
instructions in affected programs: 28335 -> 28342 (0.02%)
helped: 51
HURT: 47
Inconclusive result (value mean confidence interval includes 0).
total bytes in shared programs: 13983778 -> 13983802 (<.01%)
bytes in affected programs: 451678 -> 451702 (<.01%)
helped: 151
HURT: 79
Inconclusive result (value mean confidence interval includes 0).
total regs in shared programs: 590373 -> 590670 (0.05%)
regs in affected programs: 2354 -> 2651 (12.62%)
helped: 13
HURT: 65
Regs are HURT.
total uniforms in shared programs: 1532271 -> 1516549 (-1.03%)
uniforms in affected programs: 295709 -> 279987 (-5.32%)
helped: 2302
HURT: 0
Uniforms are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
b9a359e9bd
agx: start a crude cycle model
...
based on notes by Dougall Johnson and Philip Turner.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
85f7310ba7
agx: vectorize uniform_store
...
this makes preambles shorter.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:19 +00:00
Alyssa Rosenzweig
703e5385eb
agx: split select opt into its own pass
...
so it runs on the results of b2f lowering.
total instructions in shared programs: 2039862 -> 2039473 (-0.02%)
instructions in affected programs: 12348 -> 11959 (-3.15%)
helped: 84
HURT: 0
Instructions are helped.
total bytes in shared programs: 13986278 -> 13983778 (-0.02%)
bytes in affected programs: 141748 -> 139248 (-1.76%)
helped: 84
HURT: 122
Bytes are helped.
total regs in shared programs: 590371 -> 590373 (<.01%)
regs in affected programs: 195 -> 197 (1.03%)
helped: 5
HURT: 6
Inconclusive result (value mean confidence interval includes 0).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
90b4e27bb2
agx: use funop short form
...
noticed comparing asm with the blob
total bytes in shared programs: 14112726 -> 13986278 (-0.90%)
bytes in affected programs: 10848000 -> 10721552 (-1.17%)
helped: 9115
HURT: 0
Bytes are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
42a43bbdad
libagx: parallelize prefix sum over 1024 threads
...
instead of 32. small % win on a synthetic GS benchmark
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
3319d4fdba
libagx: deal with silly NIR
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
13ecef56d0
libagx: accelerate prim restart unroll across wg
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
890a96e2a7
libagx: accelerate restart unroll across a subgroup
...
before implementing hard stream compaction algorithms, let's do the easy
accelleration.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
b51282500d
libagx: polyfill glsl ballot()
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
4a586c7e87
agx: implement load_subgroup_id
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
c274566bbf
agx: test constant compaction
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
fb785a5503
agx: compact 32-bit constants
...
we can convert f16->f32 for free on read, so we can compact constants to reduce
register pressure. this makes constant promotion more effective.
this saves a few instructions in "wall and chimney".
total instructions in shared programs: 2039709 -> 2039862 (<.01%)
instructions in affected programs: 12585 -> 12738 (1.22%)
helped: 0
HURT: 3
total bytes in shared programs: 14111800 -> 14112726 (<.01%)
bytes in affected programs: 102778 -> 103704 (0.90%)
helped: 7
HURT: 4
Inconclusive result (value mean confidence interval includes 0).
total uniforms in shared programs: 1533232 -> 1532271 (-0.06%)
uniforms in affected programs: 60255 -> 59294 (-1.59%)
helped: 481
HURT: 0
Uniforms are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
61b74894a9
agx: promote constants to uniforms
...
Add an optimization pass to promote constants loaded in the shader to dedicated
uniform registers preloaded before the shader. This is beneficial for two
reasons:
* fewer mov_imm instructions
* less GPR pressure (uniforms have dedicated registers)
The latter can significantly improve occupancy since we don't remat constants
for occupancy. We do remat to avoid spilling so it won't affect spilling,
although it can still be a win by reducing remat when a shader would otherwise
spill.
The problem is that we have limited uniform registers so can't promote
everything that we would want to. We model this as a 0-1 knapsack problem and
use the well-known heuristic to prioritize frequently used constants. This is
not optimal but works quite well in practice.
This gives a nice fps win in some complex shaders, including:
* Dolphin ubers from 10.25fps to 10.85fps at 4K in MMG.
* "Wall and chimney" shadertoy from 24.8fps to 29.5fps at 1188x658.
shader-db results are excellent as well.
total instructions in shared programs: 2088290 -> 2039709 (-2.33%)
instructions in affected programs: 1478061 -> 1429480 (-3.29%)
helped: 8246
HURT: 85
Instructions are helped.
total bytes in shared programs: 14321004 -> 14111800 (-1.46%)
bytes in affected programs: 10108742 -> 9899538 (-2.07%)
helped: 7999
HURT: 1416
Bytes are helped.
total regs in shared programs: 602415 -> 590371 (-2.00%)
regs in affected programs: 92177 -> 80133 (-13.07%)
helped: 1887
HURT: 209
Regs are helped.
total uniforms in shared programs: 1457531 -> 1533232 (5.19%)
uniforms in affected programs: 835522 -> 911223 (9.06%)
helped: 0
HURT: 11042
Uniforms are HURT.
total threads in shared programs: 20325824 -> 20329216 (0.02%)
threads in affected programs: 29632 -> 33024 (11.45%)
helped: 41
HURT: 0
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
2a97657792
agx: extract agx_is_float_src
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
6e2cc790eb
agx: model 64-bit uniform restriction on ALU
...
this one is annoying!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
5b6640d013
agx: extract "accepts uniform?" ISA query
...
we'll want this in a second place, so invert it and export it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
51d3a376bc
agx: restrict high uniforms with textures
...
seems to cause brokenness in blender, guess this is a new ISA corner we just
found.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
51eba1c38e
agx: fix lowering uniforms with abs/neg
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
17e05c2f21
agx: add more shaderdb stats
...
relevant to spilling and promotion
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
36491b6e0b
asahi: use less bindless samplers
...
before/after:
wanderer/386.shader_test - MESA_SHADER_FRAGMENT shader: 16404 inst, 111604 bytes, 255 halfregs, 384 threads, 5 loops, 444:736 spills:fills
wanderer/386.shader_test - MESA_SHADER_FRAGMENT shader: 16268 inst, 110728 bytes, 255 halfregs, 384 threads, 5 loops, 436:720 spills:fills
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
55d7267d6c
agx: implement get_sr remat
...
wanderer/386.shader_test - MESA_SHADER_FRAGMENT shader: 16268 inst, 110728 bytes, 255 halfregs, 384 threads, 5 loops, 436:720 spills:fills
wanderer/386.shader_test - MESA_SHADER_FRAGMENT shader: 16255 inst, 110670 bytes, 255 halfregs, 384 threads, 5 loops, 435:719 spills:fills
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
03000030d0
agx: generalize remat code
...
so we can remat more things
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
e2ce64d013
agx: enable indirect temps
...
we support scratch now.
total spills in shared programs: 32764 -> 990 (-96.98%)
spills in affected programs: 32764 -> 990 (-96.98%)
total fills in shared programs: 38694 -> 639 (-98.35%)
fills in affected programs: 38694 -> 639 (-98.35%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
e80d451e55
agx: move spill/fills accounting to shaderdb
...
don't bother the compiler proper about it. this now counts NIR scratch access as
spills/fills, which I think is probably the right call
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
43e804b0e4
agx: add tests for SSA repair
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
0dbf1b48d1
agx: add helpers for multiblock unit tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
a181f3caf4
agx: make add_successor public
...
for unit testing
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
7c147ae448
agx: use dense reg_to_ssa map
...
ssa_to_reg is necessarily sparse, and since it's allocated per block, it's
tremendously memory intensive for shaders with thousands of blocks (which
can easily happen with if-ladders)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
034f369ddf
agx: switch to Braun-Hack spiller
...
instructions in affected programs: 771842 -> 261686 (-66.10%)
bytes in affected programs: 5286320 -> 1981896 (-62.51%)
spills in affected programs: 134070 -> 32764 (-75.56%)
fills in affected programs: 341356 -> 38694 (-88.66%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
fe8b245cc4
agx: add Braun-Hack spiller pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
a6e9f707f4
agx: add SSA repair pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
450e79c1e6
agx: add SSA reindexing pass
...
spilling and SSA repair will generate piles of dead SSA defs. add a reindexing
pass to keep memory usag emanagable on large shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
20409b6bae
agx: validate phi sources for consistency
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
d553af7f8b
agx: drop scratch regs for spilling
...
remnant of an old approach.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
b48f2d0ebc
agx: try to coalesce moves
...
No shader-db changes but meh.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
fe612acb8f
agx: coalesce phi webs
...
This massively improves our coalescing of phis by considering not just single
phi instructions but entire webs of phi-related SSA values. We do this with a
union-find data structure, which is effectively constant time thanks to union by
rank and path compression. Phi related SSA values are unioned and we try to
assign the same register to everything in the union. Boissinot might be better
but this is delightfully simple.
total instructions in shared programs: 2910655 -> 2883792 (-0.92%)
instructions in affected programs: 1295671 -> 1268808 (-2.07%)
helped: 1129
HURT: 34
Instructions are helped.
total bytes in shared programs: 19417970 -> 19255234 (-0.84%)
bytes in affected programs: 8790112 -> 8627376 (-1.85%)
helped: 1129
HURT: 34
Bytes are helped.
total halfregs in shared programs: 517813 -> 517867 (0.01%)
halfregs in affected programs: 751 -> 805 (7.19%)
helped: 2
HURT: 15
Halfregs are HURT.
total spills in shared programs: 135918 -> 134070 (-1.36%)
spills in affected programs: 135918 -> 134070 (-1.36%)
helped: 6
HURT: 0
total fills in shared programs: 343204 -> 341356 (-0.54%)
fills in affected programs: 343204 -> 341356 (-0.54%)
helped: 6
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
afdcee6a0a
agx: add limit for max sources per non-phi
...
used to bound stack allocations.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
3684c9ebbd
agx: add before_function cursor
...
needs care around preloads.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
6bff596505
agx: add temp_like helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
ffd2b846c4
agx: add more iterator macros
...
will be used for spiller.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
645f5187ed
agx: don't leak shuffle copies
...
==42579==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 9408 byte(s) in 147 object(s) allocated from:
#0 0xffff244c4828 in __interceptor_realloc.part.0 (/usr/lib64/libasan.so.8.0.0+0xc4828) (BuildId: 3109905b64795755dad05d7bb29ad23633a06660)
#1 0xffff1fc71fe0 in util_dynarray_ensure_cap ../src/util/u_dynarray.h:109
#2 0xffff1fc71fe0 in util_dynarray_grow_bytes ../src/util/u_dynarray.h:157
#3 0xffff1fc71fe0 in assign_regs_by_copying ../src/asahi/compiler/agx_register_allocate.c:440
#4 0xffff1fc73858 in find_regs ../src/asahi/compiler/agx_register_allocate.c:648
#5 0xffff1fc77d3c in pick_regs ../src/asahi/compiler/agx_register_allocate.c:1010
#6 0xffff1fc77d3c in agx_ra_assign_local ../src/asahi/compiler/agx_register_allocate.c:1098
#7 0xffff1fc77d3c in agx_ra ../src/asahi/compiler/agx_register_allocate.c:1355
#8 0xffff1fc3b6c4 in agx_compile_function_nir ../src/asahi/compiler/agx_compile.c:2840
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
106da137e3
agx: implement live range splits of phis
...
this requires some special handling but closes the last soundness gap (I hope)
in our RA. with later patches in this series, we actually hit this (50+ tests on
the CTS even) so I can be sure this actually works ^^
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
a7f01d8ca5
agx: sink harder
...
cuts a few spills in blender
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
4024a82aa3
agx: fix bogus implicit cast with 2d msaa arrays
...
causes heartburn for spiller with KHR-GL46.multi_bind.dispatch_bind_image_textures
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
c41c6ff27f
agx: assert phis don't have .kill set
...
it's meaningless for phis but would cause soundness problems.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
6b878c5b57
agx: allow vector phis to pass validation
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
f2b344a041
agx: scalarize vector phis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
2fc2a45c8f
agx: fix 16-bit mem swaps
...
don't clobber r1l
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
5bfdb20dac
agx: add num_successors helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
da18ac5dfa
agx: add more asserts
...
sigh, C
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
c0d47d827a
agx: fix allocating phi sources past the reg file
...
count can differ.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
3a3f9de486
agx: fix stack smash with spilling
...
ASAN saves the day! Was stuck on this for hours.
==37495==ERROR: AddressSanitizer: stack-buffer-overflow on address 0xfffff29ecdbc at pc 0xffff7c0751f4 bp 0xfffff29eca30 sp 0xfffff29eca48
READ of size 4 at 0xfffff29ecdbc thread T0
#0 0xffff7c0751f0 in __bitset_set_range ../src/util/bitset.h:249
#1 0xffff7c0751f0 in find_regs ../src/asahi/compiler/agx_register_allocate.c:642
#2 0xffff7c077d2c in pick_regs ../src/asahi/compiler/agx_register_allocate.c:1008
#3 0xffff7c077d2c in agx_ra_assign_local ../src/asahi/compiler/agx_register_allocate.c:1096
#4 0xffff7c077d2c in agx_ra ../src/asahi/compiler/agx_register_allocate.c:1353
#5 0xffff7c03b6c4 in agx_compile_function_nir ../src/asahi/compiler/agx_compile.c:2840
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
9ca5778f3e
agx/opt_cse: alloc less
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
114f858440
asahi/clc: fix mem leaks
...
needed to build mesa with asan enabled
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
2e28998017
libagx: improve static assert message
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:18 +00:00
Alyssa Rosenzweig
b01ccc13e9
asahi: drop asahi_vs_next_stage
...
now we use the same vs for vs->gs and vs->tcs
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
6c497d41c7
asahi: drop TCS key
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
72ef80dfc8
asahi: stop merging VS and TCS
...
unfortunately, shader stage merging is bogus when coherent images are used, so
we need an unmerged path. i'd rather not maintain two paths, so let's just
stop merging. as a bonus this makes ESO a lot easier, and lets us reuse the same
VS for both VS->GS and VS->TCS.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
351698d165
asahi: be robust against tess batch changes
...
fixes faults in arb_shader_image_load_store-coherency
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
20089a681a
asahi: implement CDM stream linking for GS
...
fixes crash with massive #s of geometry shader draws, as seen in
arb_shader_image_load_store-coherency
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
69dc5bed89
asahi: fix depth bias interactions with points/lines
...
we need to apply depth bias for tris with point/line poly mode (according to
offset_point/offset_line), but we need to NOT apply depth bias for API-level
points/lines. weirdly the hw is sensitive to that last part.
fixes z-fighting with FreeCAD.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
2c40768207
asahi: accelerate QBO copies
...
using a compute shader to avoid a stall.
doubles/triples perf in smo metro in ryu
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
6f642e9bb9
asahi: add helper to classify queries
...
to share query/qbo code
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
7bc904cb4a
asahi: add flush_query_writers helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
c0582fcd8e
asahi: export build_meta_shader
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
83737cca5c
asahi: fix stage accounting for meta compute shaders
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
f2a1d38096
asahi: fix unit mismatch with unroll path
...
Fixes GS line/point expansion in Dolphin, as well as corruption in Blender when
the dancing ants show up
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
1dee26b61f
asahi: zero more in the unroll path
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
2f1b50d8bc
asahi: clarify how unroll index buffers are offsetted
...
it's a little inconsistent
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
e952189443
asahi: fix overread with samplers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
007a440a33
asahi/lib: fix overread with stateful
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
0a8d0217c9
asahi: move more code out of agx_preprocess_nir
...
we need to gather tex masks / lower mediump io before lowering textures for our
detection to work ... also we want driver-side i/o soon lowering for Marek's
thing anyway. do some code motion / pass reordering to make this doable.
in doing so, we get rid of agx_uncompiled_shader_info which is probably good.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
d6800d5cc6
asahi: allow more samplers for shaderdb
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Isaac Marovitz
ff6722814a
asahi: Add >16 Sampler Access for Ryujinx
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Alyssa Rosenzweig
4779e9d574
asahi: bump maximum samplers for Blender
...
Blender needs more samplers to render the "wanderer" scene. While our binding
table is limited, we can get additional samplers by downshifting to the bindless
sampler heap, at a performance penalty. That mechanism is already in place for
merged VS/TCS, so we can reuse it for this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483 >
2024-03-30 00:26:17 +00:00
Faith Ekstrand
0e4b5e0b00
nil: Drop unneeded types from formats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28453 >
2024-03-30 00:03:46 +00:00
Faith Ekstrand
4c59398615
nil: Remove 2-bit SNORM from the format table
...
Initially I left it in place because I didn't want to disturb the table
beyond what was in nv50_formats.c. However, we've moved past that now
and these formats are permanently broken so it's easiest to just remove
them from the table rather than have them in the table and then have C
code which disables them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28453 >
2024-03-30 00:03:46 +00:00
Faith Ekstrand
4ca6ad7f8c
nil: Drop bogus color formats from non-renderable luminance/alpha formats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28453 >
2024-03-30 00:03:46 +00:00
Faith Ekstrand
7b6b5aa0c6
nil: Switch to using the CSV generated table
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28453 >
2024-03-30 00:03:45 +00:00
Faith Ekstrand
bc0ce3848f
nil: Re-organize the format table
...
For normal color formats, sort them by largest component size then by
number of components. This should make things easier to find.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28453 >
2024-03-30 00:03:45 +00:00
Faith Ekstrand
70843be321
nil: Add a CSV version of the format table
...
This is much more readable than the macro mess we had before. Most
notably because we no longer have this mess of #defines for format
support flags and instead have a character per flag and every every
supported flag is there every time. This makes it way easier to figure
out what we're actually claiming a format can do.
This conversion was tested with a patch that did a memcmp() of this
table against the old one to ensure that the two tables are bit-for-bit
identical. Later commits may modify the table in various ways but this
conversion to a CSV file is lossless.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28453 >
2024-03-30 00:03:45 +00:00
Faith Ekstrand
3f50d72ec5
nak: Don't do a scope break cascade for nir_jump_halt
...
Fixes: 9312356d99
("nak/nir: Add a control-flow lowering pass")
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28456 >
2024-03-29 23:08:50 +00:00
Faith Ekstrand
b593de2c49
nir: Delete the rest of the CF list when adding a halt
...
In nir_lower_terminate_to_demote(), we were deleting the rest of the
block contents when we added a halt instruction but left any subsequent
CF nodes in the list. While this may be technically okay, that much
dead code makes the rest of NIR pretty grumpy. It's better to delete
everything to the end of the CF list, not just everything to the end of
the block.
Fixes: 75861c64b8
("nir: Add a lower_terminate_to_demote pass")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28456 >
2024-03-29 23:08:50 +00:00
Caio Oliveira
d9e737212d
intel/brw: Add a src array for the common case in fs_inst
...
In the common case, fs_inst will have up to 4 sources (the HW
instructions have up to 3, and our representation of SENDs have 4).
Embed such array into the fs_inst, and use it whenever applicable
instead of allocating a new array.
Also change the code to reuse the allocated src array when resizing to
a smaller length.
Between the changes above and the reduced amount of initializing
fs_regs, this reduces fossil-db time by around 2% for Borderlands 3
and Rise of the Tomb Raider, and around 1.5% for Total War Warhammer 3.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28379 >
2024-03-29 22:44:01 +00:00
Caio Oliveira
dae9795628
intel/brw: Remove vestiges of sources on IF opcode, only valid on Gfx6
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28379 >
2024-03-29 22:44:01 +00:00
Kenneth Graunke
816a33849a
intel/brw: Rearrange fs_inst fields
...
For better packing, and to make all the small fields easier to hash
and compare en masse.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28379 >
2024-03-29 22:44:01 +00:00
Eric Engestrom
814017103c
rpi/ci: another batch of flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28481 >
2024-03-29 22:22:21 +00:00
Faith Ekstrand
6f395d44b1
nvk: Advertise VK_KHR_maintenance6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27796 >
2024-03-29 22:03:25 +00:00
Valentine Burley
16397c10c7
nvk: Add support for version 2 of all descriptor binding commands
...
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27796 >
2024-03-29 22:03:25 +00:00
Faith Ekstrand
3a88e3f18b
nvk: Support VkBindMemoryStatusKHR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27796 >
2024-03-29 22:03:25 +00:00
Ian Romanick
5e9c01dfe4
intel/brw/xe2+: Use phys_nr and phys_subnr in DPAS encoding
...
Suggested-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28404 >
2024-03-29 21:12:32 +00:00
Ian Romanick
6d85f7129a
intel/brw/xe2+: DPAS must be SIMD16 now
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28404 >
2024-03-29 21:12:32 +00:00
Ian Romanick
a8115221e5
nir: intel/brw: Change the order of sources for nir_dpas_intel
...
It was by pure luck that all sources (and the result) of nir_dpas_intel
had the same number of components. It is possible to support matrix
sizes where the accumlator matrix and the result matrix are larger
(e.g., 16x8 * 8x16 = 16x16).
This breaks all of the assumptions of NIR's infrastructure for code
generating intrinsics. Fix the by making the accumulator matrix be the
first source. The accumulator and the result will always have the same
dimensions (due to rules of matrix multiplication) and the same type
(due to restructions of the cooperative matrix extension). This forces
them to have the same number of components.
This doesn't fix all the potential problems. NIR expects that all
0-sized sources will have the same number of components. This just
ensures that the result has the correct number of components.
Fixes: 6b14da33ad
("intel/fs: nir: Add nir_intrinsic_dpas_intel")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28404 >
2024-03-29 21:12:32 +00:00
Ian Romanick
c6bd6f2a41
intel/brw: Use enums for DPAS source regioning
...
Was previously passing 1, 1, 0 as the regioning. This generated
incorrect disassembly because the encoding for a width of 1 is 0. Use
the enums to ensure the correct values are used.
Fixes: 1c92dad5cb
("intel/disasm: Disassembly support for DPAS")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28404 >
2024-03-29 21:12:32 +00:00
Ian Romanick
be4fa59a72
intel/brw: Clear write_accumulator flag when changing the destination
...
If the destination was the accumulator but is no longer, having the flag
set is not correct. On Xe2 this also causes a validation error.
v2: Reword the comment to be more clear. Suggested by Jordan.
Fixes: efa4e4bc5f
("intel/fs: Introduce regioning lowering pass.")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28404 >
2024-03-29 21:12:32 +00:00
Faith Ekstrand
b5f4b16811
nak: Implement load_ubo with an indirect cbuf index
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28474 >
2024-03-29 19:30:16 +00:00
Faith Ekstrand
f4ac517cc8
nak: Plumb through LDC modes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28474 >
2024-03-29 19:30:16 +00:00
Eric Engestrom
189b4193ee
ci_run_n_monitor: explain how to pass multiple targets without having to use regexes
...
Fixes: 6825c67c99
("ci_run_n_monitor: allow passing multiple targets")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28461 >
2024-03-29 19:23:24 +00:00
Eric Engestrom
48566d00b1
ci: don't run rustfmt on every core change
...
Only keep the two parts we want: disabling the job in the nightly
pipeline, and running the job if the CI itself is modified.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28468 >
2024-03-29 18:43:38 +00:00
Jesse Natalie
4f310b04f0
wgl: The default swap interval is supposed to be 1
...
Per WGL_EXT_swap_control:
> The default swap interval is 1.
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28471 >
2024-03-29 17:29:18 +00:00
Eric Engestrom
cc5e9def56
radv/ci: dEQP-VK.spirv_assembly.type.vec4.i8.mod_geom Fail -> Crash on tahiti
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28472 >
2024-03-29 16:36:10 +00:00
Eric Engestrom
64293c5aa3
radv/ci: another batch of flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28472 >
2024-03-29 16:36:10 +00:00
Mike Blumenkrantz
edeb3fec4d
zink: only check that CUBE_COMPATIBLE for images doesn't subtract flags
...
the flags may change if e.g., HOST_TRANSFER is enabled by adding CUBE
fixes #10924
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28460 >
2024-03-29 13:09:40 +00:00
Rhys Perry
03938804f1
aco: avoid breaking clauses with waitcnt
...
fossil-db (navi31):
Totals from 3573 (4.50% of 79395) affected shaders:
Instrs: 6172096 -> 6170009 (-0.03%); split: -0.04%, +0.01%
CodeSize: 31448052 -> 31439660 (-0.03%); split: -0.03%, +0.01%
Latency: 37317302 -> 37307935 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 6820967 -> 6819930 (-0.02%); split: -0.02%, +0.00%
VClause: 163424 -> 157705 (-3.50%)
SClause: 135441 -> 135295 (-0.11%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28433 >
2024-03-29 12:04:13 +00:00
Karol Herbst
88a9576a3e
meson: fix link failure with llvm-18
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10739
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10775
cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28267 >
2024-03-29 07:31:02 +00:00
Timur Kristóf
3fd002f6d5
radv, aco: Remove the code that jumped to RADV's TCS epilogs.
...
The actual TCS epilog selection code is kept unchanged for now,
we'll delete it when RadeonSI also gets rid of TCS epilogs.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
e421923692
radv: Completely delete TCS epilogs.
...
TCS epilogs are not needed anymore because the TCS can implement
dynamic states by itself now.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
508f293b14
ac/nir/tess: Emit tess factor stores based on new intrinsics.
...
This allows the TCS to read the primitive mode and whether
TES reads the tess factors, from an SGPR arg, which lets it
decide how to store them at runtime.
For linked shaders, the conditions will be constant and
NIR optimizations can delete the dead CF.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
476a42c02c
radv: Call nir_opt_dead_cf in radv_optimize_nir_algebraic.
...
In case lowering passes added dead CF.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
315cacddbd
radv: Implement new tess intrinsics.
...
For linked shaders, the information is available as constant,
while for unlinked shaders, the info is in a SGPR arg.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
5a43f33426
radv: Copy TES primitive mode to TCS info.
...
Will be needed by the ABI lowering of the new intrinsic that
tells the TCS the primitive type, if it's known.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
f646b05737
radeonsi: Implement new intrinsics for monolithic shaders.
...
For now, only monolithic shaders will hit the code path that will
generate these intrinsics.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Timur Kristóf
411de8488c
nir: Add two new AMD specific tess intrinsics.
...
These will be needed to implement some tessellation dynamic
states within the TCS as opposed to using an epilog.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28408 >
2024-03-28 23:44:03 +00:00
Sil Vilerino
8a8fae2520
d3d12: Support HEVC slice L0/L1 active number override
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28424 >
2024-03-28 21:31:25 +00:00
Sil Vilerino
33336a2766
d3d12: Support H264 slice L0/L1 active number override
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28424 >
2024-03-28 21:31:25 +00:00
Sil Vilerino
cc04a04f13
d3d12: Bump directx-headers dependency to v613
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28424 >
2024-03-28 21:31:25 +00:00
Rhys Perry
66153f7bfe
aco: always emit float mode for merged shaders compiled separately
...
We don't know what the float mode was by the end of the previous shader,
so we should always set it.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28392 >
2024-03-28 21:02:29 +00:00
Rohan Garg
df3a1348d1
intel/brw: minor rework to de duplicate variable assignment
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27235 >
2024-03-28 19:53:40 +00:00
Rohan Garg
a715512177
intel/brw: adjust the copy propgation pass to account for wider GRF's on Xe2+
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27235 >
2024-03-28 19:53:40 +00:00
Rohan Garg
7d425913f7
intel/brw: update disassembly for MATH pipe
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27235 >
2024-03-28 19:53:40 +00:00
Rohan Garg
467ee9d27a
intel/brw: Xe2+ can do SIMD16 for extended math on HF types
...
BSpec 56797:
Math operation rules when half-floats are used on both source and
destination operands and both source and destinations are packed.
The execution size must be 16.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27235 >
2024-03-28 19:53:40 +00:00
Rohan Garg
c4b38c717d
intel/brw: account for sources when determining if a operation uses half floats
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27235 >
2024-03-28 19:53:40 +00:00
Eric Engestrom
07f0825c03
radv/ci: another batch of flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28450 >
2024-03-28 18:59:10 +00:00
Eric Engestrom
d92db5e14a
v3dv/ci: another batch of flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28449 >
2024-03-28 18:37:22 +00:00
Juston Li
d6978b1af2
Revert "zink: store last pipeline directly for zink_gfx_program::last_pipeline"
...
This reverts commit be8b7980e6
.
Store the cache entry so that the fast path picks up the optimized
pipeline when its available from a background optimized_compile_job().
Observed traces where it would take the fast path back and forth using
an unoptimized pipeline and never pick up the optimized pipeline leading
to >50% fps drop.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28440 >
2024-03-28 17:06:39 +00:00
Hans-Kristian Arntzen
5eb0dec525
wsi/x11: Return OUT_OF_DATE on sw resize.
...
This is more in line with DRI3 path, and fixes a regression
since SUBOPTIMAL was not considered correctly.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 19dba854be
("wsi/x11: Rewrite implementation to always use threads.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10878
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28413 >
2024-03-28 14:22:19 +00:00
Daniel Schürmann
a4231d4f56
aco/spill: use average use distances to spill loop variables
...
Totals from 83 (0.10% of 79395) affected shaders: (GFX11)
Instrs: 3429510 -> 3427917 (-0.05%); split: -0.05%, +0.01%
CodeSize: 17587884 -> 17570224 (-0.10%); split: -0.11%, +0.01%
SpillSGPRs: 4660 -> 4630 (-0.64%); split: -1.07%, +0.43%
Latency: 20054145 -> 20054454 (+0.00%); split: -0.00%, +0.01%
InvThroughput: 4989606 -> 4989740 (+0.00%); split: -0.00%, +0.01%
VClause: 90844 -> 90843 (-0.00%)
SClause: 69534 -> 69535 (+0.00%); split: -0.04%, +0.04%
Copies: 283288 -> 283415 (+0.04%); split: -0.11%, +0.15%
Branches: 113543 -> 113409 (-0.12%); split: -0.12%, +0.01%
VALU: 1888933 -> 1887489 (-0.08%); split: -0.08%, +0.00%
SALU: 423548 -> 423609 (+0.01%); split: -0.07%, +0.09%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
c371882060
aco/spill: use average use distances in init_live_in_vars() for merge blocks
...
Totals from 18 (0.02% of 79395) affected shaders: (GFX11)
Instrs: 726400 -> 726409 (+0.00%); split: -0.00%, +0.00%
CodeSize: 3750396 -> 3750420 (+0.00%); split: -0.00%, +0.00%
Latency: 4363014 -> 4363039 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 1483486 -> 1483485 (-0.00%)
SClause: 13393 -> 13392 (-0.01%); split: -0.01%, +0.01%
Copies: 70236 -> 70254 (+0.03%); split: -0.01%, +0.03%
Branches: 23811 -> 23810 (-0.00%)
VALU: 404250 -> 404247 (-0.00%); split: -0.00%, +0.00%
SALU: 92208 -> 92226 (+0.02%); split: -0.01%, +0.02%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
c2ac4f1917
aco/spill: use average use distances in process_block()
...
Totals from 128 (0.16% of 79395) affected shaders: (GFX11)
Instrs: 672936 -> 672086 (-0.13%); split: -0.40%, +0.28%
CodeSize: 3574396 -> 3565540 (-0.25%); split: -0.55%, +0.30%
SpillSGPRs: 6254 -> 6636 (+6.11%); split: -0.32%, +6.43%
SpillVGPRs: 967 -> 839 (-13.24%)
Latency: 6489362 -> 6469427 (-0.31%); split: -0.36%, +0.05%
InvThroughput: 2216723 -> 2212417 (-0.19%); split: -0.24%, +0.05%
VClause: 11670 -> 11517 (-1.31%); split: -1.50%, +0.19%
SClause: 15711 -> 15754 (+0.27%); split: -0.29%, +0.57%
Copies: 85185 -> 84155 (-1.21%); split: -2.14%, +0.93%
Branches: 18706 -> 18708 (+0.01%); split: -0.05%, +0.06%
VALU: 386892 -> 386204 (-0.18%); split: -0.40%, +0.23%
SALU: 85754 -> 86211 (+0.53%); split: -0.46%, +1.00%
VMEM: 18777 -> 18524 (-1.35%); split: -1.37%, +0.02%
VOPD: 670 -> 628 (-6.27%); split: +0.75%, -7.01%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
9833120e91
aco/spill: gather information about average use distances
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
b6e56ab356
aco/spill: use live variables instead of next_use_distances in add_coupling_code()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
7b96482ec9
aco/spill: maintain valid live vars at any point
...
In order to do so, we need to process blocks unconditionally.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
fab8757831
aco/spill: compute live-in variables from live-out
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
bfb62fa70d
aco/spill: pass live_vars to spill_ctx
...
We will use them in future commits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Daniel Schürmann
66616f0862
aco/spill: Fix assertion for nested loops
...
Fixes: 898fd9227a
('aco/spill: keep loop variables spilled during nested loops')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27799 >
2024-03-28 13:57:36 +00:00
Boyuan Zhang
c38a2ab993
radeonsi/vcn: mark rc_per_pic as obsoleted
...
Rename parameters in rc_per_pic to emphasize that the method is obsoleted
Add warning to recommend users to update VCN FW for the correct rate control
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28234 >
2024-03-28 13:09:18 +00:00
Boyuan Zhang
b61ffe2151
radeonsi/vcn: choose rc_per_pic by encode verison
...
Using VCN FW encode version to check if the current FW support the new
rate control per picture method (ex). If not, roll back to use the previous
rate control per picture method.
Fixes: 5ecf83e9adcd652e6159 ("radeonsi/vcn: Implement separate QP for I/P/B frames")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10793
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28234 >
2024-03-28 13:09:18 +00:00
Boyuan Zhang
76425cdf23
ac/gpu_info: Add vcn dec and enc version query
...
So that driver can query the current VCN FW decode version and encode
major and minor version.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28234 >
2024-03-28 13:09:18 +00:00
Georg Lehmann
51a5ebbd01
aco: don't combine mul+add_clamp to mad_clamp
...
The result is not the same if the multiplication overflows, mad_clamp
does not truncate between the mul and the add.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28421 >
2024-03-28 12:41:49 +00:00
Daniel Schürmann
db29984c25
aco: move create_instruction() to aco_ir.cpp
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
a863c7951e
aco: remove create_instruction() template parameter
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
4cb73cb5f3
aco: defer instruction size from aco::Format in create_instruction()
...
rather than using the template argument.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
9b0ebcc39b
aco: change return type of create_instruction() to Instruction*
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
cd62f97719
aco/builder: use accessor functions instead of casting to subtypes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
1187189235
aco: unify different SALU types into single struct SALU_instruction
...
This removes
- SOP1_instruction
- SOP2_instruction
- SOPC_instruction
- SOPK_instruction
- SOPP_instruction
and their corresponding methods.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
5d265257a0
aco: remove SOPP_instruction::block member
...
Re-use SOPP_instruction::imm instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Daniel Schürmann
cef01e817d
aco: use instr_class::branch to identify SOPP branches
...
Also changes the instr_class of s_trap to instr_class::other.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28370 >
2024-03-28 11:25:43 +00:00
Samuel Pitoiset
c2d189380c
radv: remove useless RADV_DEBUG=nomemorycache
...
This is a leftover from the cache changes few months ago.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28441 >
2024-03-28 10:36:58 +00:00
Timur Kristóf
fcf574f4c1
radv, aco: Delete now dead TCS epilog code.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
53ab164234
radv: Always pass tess factors to epilogs in registers.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
542992d037
radv: Declare tess_lvl_in/out args for TCS epilogs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
023d7fc76d
aco: Use tess factors when TCS jumps to epilog.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
3422084026
aco: Use common helper for counting tess level components.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
524c4fa5ad
ac/nir/tess: Refactor how the end of HS is emitted.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
96998b448c
ac/nir/tess: Emit tess factor output independently of whether it can be passed by registers.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
7a5a462a75
ac/nir/tess: Split tess factor write into multiple functions.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
d53e836d55
ac/nir/tess: Don't record mapped tess level location.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
b7d5d7629a
ac/nir/tess: Always record tess level info and use it at the end.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Timur Kristóf
02f6a2591c
compiler: Add helper for counting tess level components.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371 >
2024-03-28 09:41:08 +00:00
Danylo Piliaiev
74a1564aed
freedreno/replay: Allocated maximum available size for cs overriding
...
We pessimistically allocate 1MB per IB when overriding cs. There could
be lots of small IBs, so we should allocate as much space as possible
for overriding.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28276 >
2024-03-28 08:50:39 +00:00
Danylo Piliaiev
df3ba95a24
util/vma: Add function to get max continuous free size
...
Useful to find out what's the biggest allocation we could make.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28276 >
2024-03-28 08:50:38 +00:00
Samuel Pitoiset
bcf793306f
radv: fix conditional rendering with mesh+task and multiview (again)
...
ViewIndex isn't allowed with task shaders and the whole thing was just
wrong.
Fixes GPU hangs with
dEQP-VK.mesh_shader.ext.conditional_rendering.*_multiview.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28157 >
2024-03-28 07:27:55 +00:00
Yonggang Luo
46127a4ba7
pvr: Add pvr_ prefix for vk_format_* functions in pvr_formats.h
...
Also rename vk_format_is_normalized to pvr_vk_format_is_fully_normalized for good function name
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28266 >
2024-03-28 04:11:52 +00:00
Yonggang Luo
86c88369c6
pvr: Merge imagination/vulkan/vk_format.h into imagination/vulkan/pvr_formats.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28266 >
2024-03-28 04:11:52 +00:00
Yonggang Luo
a4a42eb652
pvr: inline and remove vk_format_get_channel_width
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28266 >
2024-03-28 04:11:52 +00:00
Yonggang Luo
49f6270e7d
vulkan: Move vk_format_is_alpha and vk_format_is_alpha_on_msb into vk_format.h from pvr
...
The vk_format_description moved to front because it's referenced by vk_format_is_alpha_on_msb
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28266 >
2024-03-28 04:11:52 +00:00
Yonggang Luo
df3d37d7d6
radv: Rename src/amd/vulkan/vk_format.h to src/amd/vulkan/radv_formats.h
...
vk_format.h is resident under src/vulkan/util/vk_format.h, so do the rename to avoid
conflict
Only include radv_formats.h when needed.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28266 >
2024-03-28 04:11:52 +00:00
Eric Engestrom
0173825278
docs: add sha256sum for 24.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28438 >
2024-03-28 03:29:31 +00:00
Eric Engestrom
8372991400
docs: add release notes for 24.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28438 >
2024-03-28 03:29:31 +00:00
Eric Engestrom
7a538dcc57
docs: update calendar for 24.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28438 >
2024-03-28 03:29:31 +00:00
Eric Engestrom
5cf3260de8
docs: update calendar for 24.0.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28438 >
2024-03-28 03:29:31 +00:00
Lionel Landwerlin
65e2b37ade
anv: optimize emission of dynamic state with blorp
...
There are a few structures located in the dynamic state heap that
blorp also emits. Instead of repacking them after a blorp operation,
just reemit the old dynamic state heap offset.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28368 >
2024-03-28 02:41:50 +00:00
Lionel Landwerlin
fe1baa6481
anv: reduce blorp dynamic state emissions
...
Just enable the work done in the previous commit.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28368 >
2024-03-28 02:41:50 +00:00
Lionel Landwerlin
a147ccaa5c
blorp: add support for cached dynamic states
...
Of the dynamic states we have blorp reemit for each operations, a few
actually never change :
* BLEND_STATE (it looks like it does, but actually for anv no)
* COLOR_CALC_STATE
* CC_VIEWPORT
* SAMPLER_STATE
We add infrastructure here to upload into the driver and retrieve the
state offset later.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28368 >
2024-03-28 02:41:50 +00:00
Yonggang Luo
bdc3d75431
radv: Remove redundant inc_gallium
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28230 >
2024-03-28 01:24:33 +00:00
Yonggang Luo
6c4705d4cf
intel/meson: Remove redundant inc_gallium
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28230 >
2024-03-28 01:24:33 +00:00
Eric Engestrom
aaf81bd069
v3dv/ci: add more flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28437 >
2024-03-28 01:01:05 +00:00
David Stern
82ed8aadea
vulkan/wsi/x11: Explicitly discard errors from xcb_present_pixmap.
...
Errors produced by the call to `xcb_present_pixmap` should be explicitly
discarded to ensure they don't leak into the application event loop.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: 2b885b23
("vk/wsi/x11: stop roundtripping on presentation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28402 >
2024-03-28 00:23:38 +00:00
Mike Blumenkrantz
b5877e0501
nir/opt_varyings: update alu type when rewriting src/dest for moved ops
...
this otherwise retains the old bit size
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28304 >
2024-03-27 23:29:36 +00:00
Timur Kristóf
c32401f49b
radv: Allow NGG culling with LLVM.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28430 >
2024-03-27 23:02:26 +00:00
Timur Kristóf
af2a0ea452
radv/llvm: Remove dead code.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28430 >
2024-03-27 23:02:26 +00:00
Lucas Stach
3a10d1be0e
etnaviv: fix depth writes without testing
...
Depth writes are only gated by the depth writemask. The state object
member depth_enabled must only affect depth testing.
Fixes: b29fe26d43
("etnaviv: rework ZSA into a derived state")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28403 >
2024-03-27 21:36:40 +00:00
Mike Blumenkrantz
2b2f74ab35
nir/divergence: add zink intrinsics
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28429 >
2024-03-27 20:55:07 +00:00
Erik Faye-Lund
0ab81efefc
gallium: remove always-false parameter
...
We always pass false to util_map_texcoords2d_onto_cubemap function, which
allows us to avoid the dodgy case of using a close-to-one scaling factor
in an attempt to avoid sampling on the edges.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27759 >
2024-03-27 20:00:24 +00:00
Mary Guillemard
9ea8249e55
nouveau: Fix NINC TERT handling in vk_push_print
...
This was an oversight from the previous changes but that codepath
shouldn't really be taken on G80+.
Fixes: 9e133c4000
("nouveau: Add support for TERT opcodes in vk_push_print")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28427 >
2024-03-27 19:37:18 +00:00
Eric Engestrom
382a53979b
radv/ci: add more flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28426 >
2024-03-27 18:53:51 +00:00
Job Noorman
b75d65dfb2
freedreno/registers: fix installation of schema
...
A previous cleanup erroneously removed the installation of the schema
and copyright files. This caused tools like cffdump to fail when the
source directory was not available. This patch re-enables the
installation of these files.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Fixes: bf89f777f8
("freedreno/registers: fix generation dependencies")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28422 >
2024-03-27 18:21:08 +00:00
Eric Engestrom
c0875d2156
rpi/ci: add flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28423 >
2024-03-27 17:59:18 +00:00
Mike Blumenkrantz
2c4625c887
ci: bump VVL to v1.3.281
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28400 >
2024-03-27 17:02:44 +00:00
Mike Blumenkrantz
739d45d5d4
radv: inline radv_device_fault_detection_enabled
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28394 >
2024-03-27 16:28:19 +00:00
Philipp Zabel
f4199a9b21
rusticl: work around reference-to-mutable-static warnings
...
Creating mutable or shared references to mutable static variables is
discouraged, but still possible by taking a detour to a raw pointer
via the addr_of! / addr_of_mut! macros.
For details, see: https://github.com/rust-lang/rust/issues/114447
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10887
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28415 >
2024-03-27 14:58:08 +00:00
Corentin Noël
437e0cb3cb
zink: Removed unused function
...
zink_program_get_descriptor_usage is not used anywhere.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28412 >
2024-03-27 14:33:36 +00:00
Eric Engestrom
8b707e0301
v3dv/ci: track regression
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28420 >
2024-03-27 13:29:43 +00:00
Christian Gmeiner
dac3b9ac26
ci/etnaviv: Remove duplicates
...
cat src/etnaviv/ci/etnaviv-gc2000-flakes.txt | sed 's/[ \t]*$//' | sort | uniq -d
spec@arb_depth_texture@depth-level-clamp
spec@arb_depth_texture@fbo-depth-gl_depth_component24-blit
spec@arb_pixel_buffer_object@texsubimage-depth-formats pbo
spec@arb_texture_storage@texture-storage
spec@arb_texture_storage@texture-storage@2D mipmap rendering
spec@ext_packed_depth_stencil@fbo-depth-gl_depth24_stencil8-copypixels
spec@nv_copy_image@nv_copy_image-simple --tex-to-tex
spec@!opengl 1.1@depthstencil-default_fb-copypixels
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28416 >
2024-03-27 13:12:16 +00:00
David Heidelberg
1ea357a7d7
ci/svga: add missed test and gl-rules include
...
Fixes: 54050d8844
("svga/ci: land vmware mesa-ci lava farm")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28418 >
2024-03-27 13:07:31 +01:00
Martin Krastev
3d348e632e
svga/ci: workaround vmware farm's inability to use public DNS 8.8.8.8
...
This workaround is termporary and will be dropped once the
farm is moved to its permament location.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28261 >
2024-03-27 10:30:23 +00:00
Martin Krastev
54050d8844
svga/ci: land vmware mesa-ci lava farm
...
* add vmware farm, jobs and local rules
* add qemu lava deploy and boot actions
* add vmware-qemu traces job for llvmpipe device, as manual
* add vmware-vmx piglit job for svga device, as automatic
* add llvmpipe device piglit skip/fail lists
* add svga to GALLIUM_DRIVERS in debian-testing job
* add svga device fails/skips/flakes lists
* switch KERNEL_REPO/FORCE_KERNEL_TAG to own fork
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28261 >
2024-03-27 10:30:23 +00:00
Vlad Schiller
8dde690a5b
pvr: Implement VK_KHR_index_type_uint8
...
This commit will also add a helper function to simplify the code
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28361 >
2024-03-27 10:09:42 +00:00
Boris Brezillon
d7517afa81
panvk: Make panvk_pipeline_layout per-gen
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
ea98467a2d
panvk: Make panvk_queue per-gen
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
4253ad9999
panvk: Make panvk_pipeline per-gen
...
It's already per-gen, but DestroyPipeline() was defined globally.
Let's move this function to panvk_vX_pipeline.c so we can get
rid of panvk_pipeline.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
f912b075dd
panvk: Make panvk_descriptor_set_layout per-gen
...
Forbid inclusion of panvk_descriptor_set_layout.h from non per-gen
compilation units.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
52abe6e921
panvk: Make panvk_descriptor_set per-gen
...
Merge panvk_descriptor_set.c and panvk_vX_descriptor_set.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
cc61d54489
panvk: Make panvk_shader per-gen
...
Move panvk_shader_destroy() to panvk_vX_shader.c so we can get rid
of panvk_shader.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
a790f77169
panvk: Make panvk_cmd_buffer per-gen
...
The command buffer state is going to be an object containing per-gen
descriptors. Instead of pretending we can have gen-agnostic helpers,
let's merge everything in panvk_vX_cmd_buffer.c, and make
panvk_cmd_buffer.h a per-gen file.
We will split this into sub-files (panvk_cmd_draw, panvk_cmd_desc, ...)
further down the road, so we can specialize only specific bits
(like descriptor tables, the way we issue draw/dispatch jobs, etc).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
18e03803a7
panvk: Make panvk_sampler a per-gen
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
9ff7971b16
panvk: Make panvk_image_view per-gen
...
This way we can use mali_xxx_packed structs for the descriptor
templates.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
4aeb7aa22f
panvk: Make panvk_buffer_view per-gen
...
Use auto-generated mali_xx_packed structs for the descriptors and
make sure panvk_buffer_view.h is never included from a non per-gen
context.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
2de95773b9
panvk: Kill panvk_private.h
...
Explicitly include the headers we need in the various .{c,h} files and
remove panvk_private.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
fc69751abd
panvk: Move panvk_wsi definitions to panvk_wsi.h
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
2a032600c6
panvk: Move the panvk_priv_bo logic to panvk_priv_bo.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
23c3edf3de
panvk: Move the panvk_cmd_buffer definitions in panvk_cmd_buffer.h
...
While at it, merge panvk_vX_cmd_buffer.h into panvk_cmd_buffer.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
8157f51fae
panvk: Move panvk_device definition to panvk_device.h
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
524e17664f
panvk: Move panvk_meta definitions to panvk_meta.h
...
While at it, merge panvk_vX_meta.h into panvk_meta.h and stop including
panvk_meta_vX.h from panvk_private.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
ac34183ec3
panvk: Move the VkPhysicalDevice logic to panvk_physical_device.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
afdca26091
panvk: Move the VkInstance logic to panvk_instance.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
5b0ff2643f
panvk: Make the device creation/destruction per-arch
...
This way we just have one place where we need to dispatch calls.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
a58268f6a9
panvk: Add a panvk_arch_dispatch_ret() variant
...
So we can dispatch calls to per-arch functions that return a value.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
01a6f128c1
panvk: Move VkQueue logic to panvk_[vX_]queue.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
afbac1af77
panvk: Move the VkCommandPool logic to panvk_cmd_pool.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
7bf8805e5a
panvk: Move panvk_{draw,dispatch}_info definitions to panvk_vX_cmd_buffer.c
...
These structures are not used outside this file, there's no point
sharing them with others. This also allows us to use the
mali_invocation_packed object instead of declaring a u32 array that's
big enough to contain this descriptor.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
69525b7955
panvk: Kill panvk_[vX_]cs.{c,h}
...
Dispatch the helpers where they are used, or inline them when they
are simple.
The only helper that's shared by the command buffer and pipeline logic
is panvk_per_arch(emit_viewport)(), and we move it to the cmd_buffer
file for now. If there's more to share, we might want to create
panvk_graphics_state.{c,h} for those.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
18174d8665
panvk: Move shader related definitions to panvk_[vX_]shader.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
80947ae1d2
panvk: Move VkPipelineLayout logic to its own file
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
2da06e6628
panvk: Move VkDescriptorSetLayout logic to panvk_descriptor_set_layout.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
a944d7270b
panvk: Move panvk_descriptor_{set,pool} definitions to panvk_descriptor_set.h
...
Along with the various SW-descriptor definitions.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
4a16aaafb5
panvk: Move the VkEvent logic to panvk_event.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:34 +00:00
Boris Brezillon
adab7d3fcc
panvk: Move VkImageView logic to its own source files
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
86a4978071
panvk: Move panvk_pipeline definition to panvk_pipeline.h
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
6b511f7564
panvk: Move the VkSampler logic to its own file
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
5a817bd62b
panvk: Move the VkDeviceMemory logic to panvk_device_memory.{c,h}
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
09d3411ad8
panvk: Move the VkBufferView logic to its own file
...
Note that we make DestroyBufferView() a per-arch function even if
it's not strictly needed, but given the size of the function, not
sure it's worth having a extra panvk_buffer_view.c file.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
822478ec20
panvk: Move the VkBuffer logic to its own source file
...
This is an attempt at splitting the driver code into logical blocks
like NVK did.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
763fa8f45a
panvk: Move image related definitions to panvk_image.{h,c}
...
Move GetImageMemoryRequirements2(), GetImageSparseMemoryRequirements2()
and BindImageMemory2() implementations to panvk_image.c, so we have all
image related functions where they belong, and create a panvk_image.h
header for the panvk_image struct definition.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Boris Brezillon
5b91e44309
panvk: Move some macros to panvk_macros.h
...
Any macro we might need and is not specific to a VkXxx object is put
in the panvk_macros.h file.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170 >
2024-03-27 09:47:33 +00:00
Samuel Pitoiset
6440abce3b
radv: add radv_bo_virtual_bind() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:54:34 +01:00
Samuel Pitoiset
e715cf30dc
radv/rmv: log allocated/destroyed BOs in radv_buffer_{create,destroy}()
...
This will likely log more things because a bunch of them were missing.
This will also allow us to implement
VK_EXT_device_address_binding_report more easily.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:54:34 +01:00
Samuel Pitoiset
9b4787ebc0
radv/rmv: prevent logging BOs allocated in GDS/OA domains
...
Looks like unsupported for now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:54:34 +01:00
Samuel Pitoiset
36f6a5b8ff
radv: add radv_bo_{create,destroy}() helpers
...
This will allow us to easily log all BOs both for RMV and
VK_EXT_device_address_binding_report.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:54:23 +01:00
Samuel Pitoiset
0b1ab23130
radv/rmv: remove unnecessary is_internal parameter to some helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
f9105dea24
radv: make some create resources helpers static
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
e863880ffb
radv/rmv: remove BO size parameter in radv_rmv_log_bo_allocate()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
c718b19f7b
radv/winsys: move BO size to radeon_winsys_bo
...
This will allow us to read the value outside of the winsys, like VA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
b7d21220e8
radv/rmv: fix logging sparse residency
...
The offset should be the sparse image/buffer offset.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
13ad10bd26
radv/rmv: fix logging of per-queue destroyed BOs
...
They should be logged before actually destroyed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
3f0e1aae87
radv/rmv: add missing logging when events are destroyed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Samuel Pitoiset
d004c2e725
radv/rmv: add missing logging when sparse BOs are destroyed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28367 >
2024-03-27 08:52:50 +01:00
Yusuf Khan
71841afa5e
crocus: fix potential null pointer dereference if transfer_mapping fails
...
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28355 >
2024-03-27 05:24:19 +00:00
Kenneth Graunke
348506462a
intel/brw: Stop checking mlen on math opcodes in CSE pass
...
These were only messages on Gfx4 which we no longer support here.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
8441043161
anv, hasvk: Fix nir_lower_multiview to re-emit outputs before EmitVertex
...
In geometry shaders, calling EmitVertex() makes the contents of all
output variables undefined. We need to rewrite our layer ID and view
index outputs before each EmitVertex() call; assuming they'll preserve
their values is undefined behavior.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
0b3f78796d
anv, hasvk: Move multiview remapping loop below output stores
...
This will help prepare for the next patch. No functional changes.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
c831355d64
anv, hasvk: Save the original instance ID
...
Currently, build_view_index and build_instance_id emit load_instance_id
intrinsics, which want the instance ID coming into the program, which is
the true instance ID multiplied by the view count.
The loop also remaps any load_instance_id in the original program back
to the true instance ID, which is the one coming in divided by the view
count. Because we call build_view_index and build_instance_id as part
of the loop, and emit the new load_instance_id instructions earlier in
the shader, we successfully avoid seeing those.
However, this is a bit fragile as it means you can't call
build_view_index or build_instance_id prior to the loop without
accidentally remapping things we don't intend to. To fix this
fragility, we save off the original instance ID (including the view
count) and directly reference that.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
a203722634
intel/brw: Delete brw_fs_lower_minmax
...
This is for old hardware and never called in brw.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
e5a0f3b570
intel/brw: Allow changing types for LOAD_PAYLOAD with 1 source
...
This is equivalent to a MOV.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
c0c05c1041
intel/brw: Fix destination stride assertion in copy propagation
...
We were asserting that entry->dst.offset % REG_SIZE == 0, which is
easily tripped by a simple LOAD_PAYLOAD that writes a 16-bit vec2:
load_payload(8) vgrf1:UW, vgrf2+0.0:UW, vgrf3+0.0:UW
We create separate ACP entries corresponding to the values coming from
vgrf2 and vgrf3, with entry->dst set to the location within vgrf1 where
those sources get written to. So the second entry will have offset 16,
which is not REG_SIZE aligned.
It looks like this assert was originally added back in 2014 (see commit
1728e74957
) and adjusted through the ages,
including at a point when we combined reg and subreg offsets into a
single byte offset, and over time also extended copy propagation.
Here the destination offset is already accounted for via rel_offset,
at the byte offset level, so things ought to work and there is no need
to assert that this is the case. Ian had already noted that the assert
tripped in commit e3f502e007
, but checking
for inst->opcode == MOV here doesn't really make sense - it's just the
case that he found that broke.
Remove the erroneous assertion.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
1cb9946228
intel/brw: Fix register coalescing's LOAD_PAYLOAD dst offset handling
...
We were discarding inst->dst.offset on LOAD_PAYLOAD instructions.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Kenneth Graunke
ba11127944
intel/brw: Fix opt_split_sends() to allow for FIXED_GRF send sources
...
opt_copy_propagation() can sometimes propagate FIXED_GRF sources into
SHADER_OPCODE_SENDs as the message payload. For example, GS input
reads, which simply take a URB handle and have the offset in the
descriptor. For non-VGRFs, there isn't a payload to split, so just
skip past such send messages.
Fixes: 589b03d02f
("intel/fs: Opportunistically split SEND message payloads")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067 >
2024-03-27 04:52:17 +00:00
Charlie Turner
9e3932e990
{vulkan,radv,anv}/video: fix issue in H264 scaling lists derivation
...
Originally was trying to copy a pps's scaling list when an sps's was
signaled.
Fixes: 8daa32963
("vulkan/video: add helper to derive H264 scaling lists")
Signed-off-by: Charlie Turner <cturner@igalia.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28352 >
2024-03-27 00:19:32 +00:00
Eric Engestrom
f36c0683a0
radv/ci: add a bunch of flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28405 >
2024-03-26 21:33:31 +00:00
Eric Engestrom
b1007e0069
radv/ci: sort tahiti flakes
...
Makes it easier to add new ones.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28405 >
2024-03-26 21:33:31 +00:00
Jan Beich
2b76284635
util: mimic KCMP_FILE via KERN_FILE on DragonFly and FreeBSD
...
Iterate over all file descriptors and compare their kernel addresses.
Reviewed-by: Emmanuel Vadot <manu@FreeBSD.org >
Reviewed-by: Val Packett <val@packett.cool >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6881 >
2024-03-26 20:53:36 +00:00
Jesse Natalie
e12b68aab5
microsoft/clc: Install clon12compiler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
6e9b980b3f
microsoft/clc: Adjust order of UAV binding assignment
...
All UAVs which can be accessed via pointer need to be grouped together
starting at base 0, because nir_to_dxil emits the globals array from
[0, size], where size is the input number of globals, as well as one
for each SSBO. Images need to come after that.
Theoretically, nir_to_dxil could emit 3 arrays:
1. Globals
2. Constants
3. Printf
But constants get converted to globals early on so that'd be pretty
tricky to actually detangle.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
b64f13e70f
microsoft/clc: Add linkage capability to libclc build to silence warning
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
6468c6a80b
clc: Move libclc helpers back to microsoft/clc
...
These were intended to be shared with (e.g.) rusticl, but they're
unused and I expect they will continue to be. The spirv options
are also hardcoded to be what CLOn12 expects.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
a6658e3dc6
microsoft/compiler: Simplify code emitting CL globals
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
1649a4d92b
microsoft/clc: When possible, compute a part-constant "pointer" value for kernel inputs
...
When a kernel input is a pointer to global or constant memory, it's expected
that the invoker provides the pointer value in the form of
(buffer_index << 32) | offset. The buffer index, however, is statically
knowable in the compiler, as long as a buffer is bound. Since it's
undefined behavior to dereference the pointer with no buffer bound,
we can replace any deref chain that terminates in an access with one
that uses a constant buffer index.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
6fc8d0147e
microsoft/compiler: Don't store static-indexing handles that are dynamically emitted
...
These handles can be emitted in control flow, which means that the handle
might be in a block which does not dominate a block that's processed
later on, which results in incorrect DXIL if we try to reference it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Jesse Natalie
108b205830
nir: Handle ptr_as_array for build_deref_follower
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803 >
2024-03-26 20:12:41 +00:00
Rob Clark
b5414e7166
freedreno/registers: Add license header
...
We want to copy this into the kernel to generate headers from xml at
build time, like we do in mesa.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28375 >
2024-03-26 19:36:10 +00:00
Kenneth Graunke
0e7bb74a1a
Revert "intel/brw: Don't consider UNIFORM_PULL_CONSTANT_LOAD a send-from-GRF"
...
This reverts commit 5814534de5
. It
apparently caused GPU hangs in Assassin's Creed: Valhalla, and it isn't
that critical of a patch, so let's just roll it back for now.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10894
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28390 >
2024-03-26 18:58:20 +00:00
Valentine Burley
4311314891
docs: Update features.txt and new_features.txt for anv and nvk
...
Both of these drivers implement VK_KHR_shader_maximal_reconvergence.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28388 >
2024-03-26 16:34:35 +00:00
Sil Vilerino
99f576979a
d3d12: Implement PIPE_VIDEO_CAP_ENC_SURFACE_ALIGNMENT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28398 >
2024-03-26 15:09:59 +00:00
Lionel Landwerlin
983b62ea50
anv: fix query clearing with blorp compute operations
...
If we did clear a query buffer in compute mode, the flushing needs to
match the engine used for clearing.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 6823ffe70e
("anv: try to keep the pipeline in GPGPU mode when buffer transfer ops")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28285 >
2024-03-26 14:29:38 +00:00
Gert Wollny
b6c1390354
nir_to_spirv: Allow LOD for external images
...
External images translate to 2D images in ntv, so we will have to emit
OpImageQuerySizeLod instead of OpImageQuerySize (thanks Faith for
pointing that out). This quells
VUID-VkShaderModuleCreateInfo-pCode-08737
Image must have either 'MS'=1 or 'Sampled'=0 or 'Sampled'=2
%32 = OpImageQuerySize %v2int %31
triggred by piglit
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3
on Zink.
Fixes: 3f783a3c50
zink: omit Lod image operand in ntv when not using an image texture dim
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28389 >
2024-03-26 13:25:39 +00:00
Lionel Landwerlin
601d219257
anv: fix bitfield checks in gfx runtime flushing
...
s/SET/TEST/
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 50f6903bd9
("anv: add new low level emission & dirty state tracking")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28387 >
2024-03-26 12:59:37 +00:00
Lionel Landwerlin
341a9e9194
anv: fix temporary state pool allocation failures
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 82d772fa9b
("anv: create new helper for small allocations")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28387 >
2024-03-26 12:59:37 +00:00
Lionel Landwerlin
0264fc688f
anv: fix block pool allocation failure
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28387 >
2024-03-26 12:59:37 +00:00
Lionel Landwerlin
58a91f6a8c
anv: fix invalid border color free
...
The right one is a few lines below.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 44bf552704
("anv: allocate border colors for descriptor buffers")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28387 >
2024-03-26 12:59:37 +00:00
Lionel Landwerlin
1d7c38a5de
blorp: handle a few allocation failure cases
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28387 >
2024-03-26 12:59:37 +00:00
Danylo Piliaiev
0b5097081a
freedreno/devices: Add A740v3 from Quest 3
...
Two known differences with a740 are:
- RB_DBG_ECO_CNTL being 1 on A740v3
- Concurrent binning is not used
We don't have concurrent binning implemented and it's unknown
how important is RB_DBG_ECO_CNTL diff. So for now A740v3 is aliased
to ordinary A740.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28380 >
2024-03-26 12:22:08 +00:00
Danylo Piliaiev
8b8c739ccd
tu: Emit non-draw-state state at the first draw call
...
If this state was emitted at the point of previous RP, which
could happen if pipeline is not set at the start of current RP,
we have to emit non-draw-state state since it would become stale
in the next tile.
Fixes test with stale reg dbg:
dEQP-VK.transform_feedback.primitives_generated_query.get.queue_reset.32bit.tese.xfb.color_write_disable_static.patch_list.pgq_default_xfb_default.two_draws.pqg_first.none_2_queries
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28326 >
2024-03-26 11:44:53 +00:00
Danylo Piliaiev
5acdb22ba2
tu: Update RP state depending on pipeline in first RP draw
...
The pipeline used in RP may have been bound in another RP, so
we have to save relevant state and re-apply it on first draw.
Fixes GPU hang in the following test with forced binning + reg stomping:
dEQP-VK.transform_feedback.primitives_generated_query.get.queue_reset.32bit.tese.xfb.color_write_disable_static.patch_list.pgq_default_xfb_default.two_draws.pqg_first.none_2_queries
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28326 >
2024-03-26 11:44:53 +00:00
Valentine Burley
a19c511818
docs: Update features.txt for tu
...
VK_EXT_post_depth_coverage was implemented in
f1305d49d9
("tu: Implement VK_EXT_post_depth_coverage").
Additionally mark that certain extensions are supported from a650
onwards rather than exclusively on that generation in features.txt
to match the formatting that the other drivers use.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28236 >
2024-03-26 11:08:21 +00:00
Valentine Burley
98ae874344
tu: Trivially expose three VK_GOOGLE extensions
...
This patch exposes support for the following three extensions:
* VK_GOOGLE_decorate_string
* VK_GOOGLE_hlsl_functionality1
* VK_GOOGLE_user_type
There's nothing for the driver to do; it's all handled in spirv_to_nir.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28236 >
2024-03-26 11:08:20 +00:00
Valentine Burley
05b9e0dfed
tu: Expose VK_KHR_surface_protected_capabilities
...
This is implemented in common code.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28236 >
2024-03-26 11:08:20 +00:00
Boris Brezillon
3bac815c78
pan/bi: Update the push constant count when emitting load_push_constant
...
This is needed for panvk.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28175 >
2024-03-26 11:10:44 +01:00
Boris Brezillon
d53e848936
pan/bi: Lower load_push_constant with dynamic indexing
...
Push constants are exposed as special registers on Bifrost/Valhall,
this means we can't index the push constant region with a dynamic
index. In order to support dynamic indexing, we need iterative CSELs
to select the right value from the access range.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28175 >
2024-03-26 11:10:44 +01:00
Boris Brezillon
1a07685bf1
pan/bi: Lower push constant accesses
...
On Bifrost, push constants are exposed as 64-bit registers which can
be accessed at a 32-bit granularity. Make sure push constant accesses
are lowered to guarantee a 32-bit alignment.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28175 >
2024-03-26 11:10:44 +01:00
Boris Brezillon
bb8379557e
nir: Extend nir_lower_mem_access_bit_sizes() to support push constants
...
Mali GPUs have a 32-bit alignment constraint on push constants. Extend
nir_lower_mem_access_bit_sizes() so it can lower bit sizes on push
constant accesses.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28175 >
2024-03-26 11:10:41 +01:00
Boris Brezillon
544f76dd13
nir: Extend nir_get_io_offset_src_number() to support load_push_constant
...
Will be needed to support push constants in
nir_lower_mem_access_bit_sizes().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28175 >
2024-03-26 11:09:37 +01:00
Boris Brezillon
595d362d4b
panvk: Implement dynamic rendering entry points
...
Implement dynamic rendering entry points so we can get rid of the
render pass logic.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28167 >
2024-03-26 09:06:43 +00:00
Boris Brezillon
8cba497701
panfrost: Move the image attribute offset adjustment to a NIR pass
...
The gallium and vulkan drivers deal with vertex attribute emission
differently. The gallium driver re-emits the VS attributes on each
draw, while the vulkan driver uses explicit attribute/image
descriptor dirtiness tracking, and could keep the attribute array
around if a new pipeline using a different number of attribute is
bound. If we want to be able to do that, we need to assign a fixed
offset for image attributes, such that the Vulkan descriptor
lowering pass knows where the images are in the attribute table.
We could teach the Bifrost backend how to deal with a custom offset
but it doing that in a lowering pass also simplifies the Midgard
code.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28200 >
2024-03-26 09:24:25 +01:00
Iago Toral Quiroga
7992d44b24
v3dv: fix image creation when exceeding maxResourceSize
...
Fixes crashes in tests like
dEQP-VK.pipeline.monolithic.render_to_image.core.2d_array.huge.width_height_layers.r8g8b8a8_unorm
with CTS main.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28364 >
2024-03-26 07:23:56 +00:00
Faith Ekstrand
0d2c5999fd
nak: Don't write undefined FS outputs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
fb15a42357
nak: Simplify over-all I/O lowering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
a1e8bba7fa
nak: Drop lower_io_arrays_to_elements_no_indirects for FS outputs
...
All we really need is for them to have no indirects which we can ensure
via nir_lower_indirect_derefs. Splitting into individual variables is a
relic of older attempts at FS output lowering and not needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
d4ac4ce112
nak/nir: Use nir_io_semantics for FS outputs
...
We also add a new nir_intrinsic_fs_out_nv to which is a lot simpler than
store_output to pass to the NAK back-end.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
278eaa5ab1
nak: Call nir_lower_io_to_temporaries for FS outputs
...
They can't be indirected and we also need the guarantee that all output
writes are in the last block in the shader or else our back-end copying
is sketchy.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
f46445a0f6
nak/nir: Clean up lower_fs_inputs a bit
...
There's no reason why every single case needs to have it's own instance
of setting the cursor and rewriting the instruction.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
2b9a836ee3
nak: Break lower_fs_inputs into its own file
...
While we're at it, make the pass handle layer_id and front_face
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
bdb237a195
nak/nir: Use nir_io_semantics for varyings and attributes
...
This removes our reliance on driver_locaiton for varyings and attributes
by using nir_io_semantics instead. This is probably better as NIR seems
to be trending this direction long-term.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
3b967789f4
nak/nir: Emit nir_intrinsic_ipa_nv directly for FS system values
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
668880c8c8
nak/nir: Add a load_fs_input hepler for flat inputs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
0d5cea7d81
nak/nir: Rename load_interpolated_input
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Faith Ekstrand
9cce4e6364
nak/nir: Emit nir_intrinsic_ald_nv directly for system values
...
These are simple enough that running them through the lowering code
really isn't gaining us anything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377 >
2024-03-26 05:57:12 +00:00
Patrick Lerda
2b4095d086
r300: fix NIR passes regression
...
The pass "nir_opt_constant_folding" is definitely required.
For instance, this issue is triggered on a R430 with "piglit/bin/shader_runner generated_tests/spec/glsl-1.10/execution/variable-indexing/fs-varying-array-mat2-col-rd.shader_test -auto -fb":
shader_runner: ../src/compiler/nir/nir_lower_int_to_float.c:239: lower_alu_instr: Assertion `nir_alu_type_get_base_type(info->output_type) != nir_type_int && nir_alu_type_get_base_type(info->output_type) != nir_type_uint' failed.
Fixes: 092299f18a
("r300: remove some late NIR passes")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Pavel OndraÄka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28365 >
2024-03-26 05:35:31 +00:00
Mike Blumenkrantz
bf5d203f24
zink: set dynamic rendering color attachment layouts
...
this is otherwise broken for fbfetch
Fixes: 2ad0146179
("zink: use KHR_dynamic_rendering_local_read")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28340 >
2024-03-26 02:13:52 +00:00
Yusuf Khan
561fae6845
nvk: fix valve segfault from setting a descriptor set from NULL
...
Reported by Nikita Vilunov and fix found by him when analyzing his
CS2 dump.
cc: mesa-stable
v2: these two need to be zero when set == NULL
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10719
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28353 >
2024-03-26 01:52:48 +00:00
Yiwei Zhang
1a475c70b2
venus: add a more relaxed polling strategy
...
The default vn_relax is mainly targeting Vulkan commands expecting a
rely like object creation and property queries. The defined relax reason
here is VN_RELAX_REASON_RING_SPACE. The polling strategy involves more
busy waits to overcome sleep penalty affecting cpu utilization, as well
as an edge case for Android system server which forces to sleep longer
even with trivial hrtimer interval.
However, for the below relax reasons:
- VN_RELAX_REASON_RING_SPACE
- VN_RELAX_REASON_FENCE
- VN_RELAX_REASON_SEMAPHORE
- VN_RELAX_REASON_QUERY
It's a waste of cpu cycles if we do more busy waits if the initial
polled signals are not "ready". Having less busy waits there allows to
jump to higher order of sleeps sooner to disturb the scheduler less
until signaled.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:24 +00:00
Yiwei Zhang
7dc2f62273
venus: decorate cmd enqueue macro internals with compiler hints
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:24 +00:00
Yiwei Zhang
0fa9950ef5
venus: deprecate unused perf env vars
...
So far there's no clear wins/losses from the non-default behavior of cmd
batching and base_sleep_us. Just drop those.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:24 +00:00
Yiwei Zhang
1e47ec2321
venus: avoid constant busy wait for query result waiting
...
Up to this commit in this MR, the gfxbench manhattan scores have been
improved by 10~15% with ANGLE-on-Venus on some AMD platforms.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:24 +00:00
Yiwei Zhang
88b64d14d8
venus: add enum vn_relax_reason
...
Better distinguish different client waiting and prepare for applying
different waiting profile for different reasons.
Default case is avoided in reason string mapping so that below can be
hit upon compilation:
- error: enumeration value ‘XXX’ not handled in switch [-Werror=switch]
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:24 +00:00
Yiwei Zhang
d05eb97408
venus: further reduce idle timeout from 5ms to 1ms
...
Similar to the rationale for the 50ms -> 5ms adjustment before. When
there's enough cpu cycles, doing so would only help reduce cpu
utilization. When cpu is mostly drained, less host side unnecessary
polling is favored by the scheduler. Also in the latter case, it'd be
the non-primary ring, so it doesn't hurt to idle out faster.
Besides the theory, there's no regression in popular benchmarks, but
only power wins. Making the idle timeout too small will lead to overhead
built up. e.g. From the initial notify to ring being waken up, it's
about 200us. The notify op is more expensive than ring thread doing a
few more polls. However, we normally would save many more polls by idle
out earlier. From my local testing, reducing down to 500us won't incur
and real perf regressions either.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:23 +00:00
Yiwei Zhang
30d7b3bdec
venus: avoid excessive ring notifications
...
The ring notification can be blocked on renderer main thread if a vq cmd
is waiting for a ring cmd (via a different non-idle ring). This change
optimizes to only try waking up the ring on the idle timeout period.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287 >
2024-03-26 00:37:23 +00:00
Dylan Baker
c81b6e5d4c
nvk: drop meson version check that is always true
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28381 >
2024-03-25 20:48:17 +00:00
José Roberto de Souza
0113a2d4b3
intel/decoder: Fix binding table pointer entry being marked as invalid
...
If entry goes until the last byte of the bo it was being marked as
not valid while it is valid.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28376 >
2024-03-25 20:27:06 +00:00
Rob Clark
787079e52a
pps: Config tweaks to avoid loosing traces
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28058 >
2024-03-25 19:49:50 +00:00
Rob Clark
e1e57ea287
pps: Enable memory traces
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28058 >
2024-03-25 19:49:50 +00:00
Rob Clark
5154a0831e
tu: Add perfetto memory tracing
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28058 >
2024-03-25 19:49:50 +00:00
Rob Clark
9936e91808
freedreno/drm: Add perfetto memory tracing
...
The design of the perfetto memory event is a bit more vk specific, but
we can abuse it to get a breakdown of memory usage for various purposes.
The memory_type parameter is (ab)used to get buffer vs image memory
split out into it's own track/graph.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28058 >
2024-03-25 19:49:50 +00:00
Rob Clark
a3fb2b07aa
freedreno: Add bo usage hints
...
These hints aren't used for allocation, but will be used to
differentiate the purpose of an allocation in the next commit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28058 >
2024-03-25 19:49:50 +00:00
Rob Clark
db49237267
freedreno/pps: Don't re-init perfcntrs
...
init_perfcntr() can be called multiple times. We don't want to
regenerate the list of counters (and overwrite/leak various other
things), so just bail if we've already initialized.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28058 >
2024-03-25 19:49:50 +00:00
Jesse Natalie
8498371b65
ci/debian: Update DirectX-Headers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Jesse Natalie
ff802ca93b
ci/windows: Update DirectX-Headers, Agility SDK, zlib, DXC, and WARP
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Jesse Natalie
267ae85a72
microsoft/compiler: Disable GS streams workaround for validator 1.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Jesse Natalie
811bed8a23
microsoft/compiler: domainLocation component index needs to be i8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Jesse Natalie
007b0fdff0
dzn: Initialize memoryTypeBits for querying properties on imported handles
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Jesse Natalie
5957778c16
dzn: Include vulkan_core.h instead of vulkan.h in the device enum header
...
Prevents pulling in X11 "None" define into the DXCore implementation,
which conflicts with updated DXCore headers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10803
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Boris Brezillon
d9d6514fbc
panvk: Disable global offset on varying and non-VS attribute descriptors
...
We are not supposed to apply the vertex index offset to our varying or
non-VS attribute (AKA image) descriptors. While at it, explicitly set
offset_enable to true when emitting vertex attribute descriptors, to
clarify our intentions.
Fixes: c0d6539827
("panvk: Drop support for Midgard")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28182 >
2024-03-25 18:30:47 +00:00
Faith Ekstrand
44cfc57062
nvk: Advertise VK_KHR_shader_subgroup_uniform_control_flow
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
79abb2aaff
nvk: Advertise VK_KHR_shader_maximal_reconvergence
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
8b5e785d9e
nak/nir: Use nir_lower_terminate_to_demote()
...
In NAK, halt turns int OpExit so this gives us exactly the same behavior
as before, just with the increased ability of NIR and our controlf-flow
lowering pass to reason about it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
cad080412d
nak: Remove the old barriers pass
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
a510e858b1
nak: Use the new lowering pass on SM70+
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
4bf8d8bd51
nak: Handle unstructured NIR
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
b75dde0cc6
nak: Add helpers for emitting jumps
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
2938e7934b
nak: Add NIR helpers for jump instructions
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
8e7f33818f
nak: Add more NIR wrappers for walking the NIR CFG
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
9312356d99
nak/nir: Add a control-flow lowering pass
...
This pass lowers from NIR structured control-flow to unstructured
control-flow with sync instructions scattered throughout to ensure
uniform convergence. Unlike the previous nak_nir_add_barriers() pass,
this one actually handles loop continues correctly. The previous pass
had no plan for handling divergent early continues whereas this pass
should. Also, the previous pass attempted to use barrier breaks in a
way that don't actually work because not all lanes involved in the
barrier were involved in the break.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
879c5c1dda
nak: Add a condition to bar_break_nv
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
18c4c36ae2
nak: Move barrier removal into its own pass
...
This only thing that's really required here is uniform re-convergence so
it may as well be its own pass.
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
4fcbf558dd
nak: Add a copy_fs_outputs_nv intrinsic
...
This is just a little handle to tell the back-end where to do the copy.
Ideally, we'd have a NIR intrinsic that does the copy but we need to be
able to copy any number of registers up to 34 and NIR intrinsics just
aren't that flexible.
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
75861c64b8
nir: Add a lower_terminate_to_demote pass
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
1bd9c1b958
nir: Mark divergent regs in phis_to_regs_block()
...
This way we avoid destroying divergence information which may be used by
passes which also need to lower phis.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
2be97717e6
nir/gather_types: Support unstructured control-flow
...
This fixes nir_print for unstructured control-flow. It's safe to
backport just this patch because the worst case is that we don't set as
many types and not as much gets printed.
Fixes: 260a9167db
("nir/print: Improve NIR_PRINT=print_consts by using nir_gather_ssa_types()")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
3293248439
nir/repair_ssa: Support unstructured control-flow
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
42853b8115
nir/lower_reg: Support unstructured control-flow
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
bef0601d51
nir/lower_reg: Remove dead reg_decl intrinsics
...
For any reg we can lower, we remove it whenever we remove the last read
or write. For regs that aren't used at all, however, there are no reads
or writes so there's nothing to trigger the removal. Instead, we need
to do it in setup_reg.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
7576212c2c
nir: Validate that unstructured blocks are in reverse PDFS order
...
Also update the comment on nir_block_unstructured_next()
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
c859ea5783
nir: Add a sort_unstructured_blocks() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
a18a917237
nir: Improve the comment for nir_block::imm_dom
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
a782809f81
nir/builder: Correctly handle decl_reg or undef as the first instruction
...
These are both handled by inserting them directly at the top of the
nir_function_impl. However, if the cursor is already at the top, it
never gets updated so we end up inserting other stuff after the newly
inserted undef or decl_reg. It's an odd edge case to be sure but I hit
it with my new NIR CF pass for NAK.
Fixes: 1be4c61c95
("nir/builder: Add a helper for creating undefs")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
b069151e62
nir/print: Inline print_ssa_use()
...
It has one caller.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
ba8860301f
nir: Take a nir_def in nir_goto_if()
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Samuel Pitoiset
76cd9388a1
zink/ci: enable RADV_PERFTEST=shader_object for NAVI10/VANGOGH
...
Mark arb_tessellation_shader-tes-gs-max-output as flake because
it passes with ESO but crashes with pipelines (existing failure).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28295 >
2024-03-25 15:20:00 +00:00
Ruijing Dong
fecbb4177c
radeonsi/vcn: update to use correct padding size.
...
Update padding size calculation to use cropping.
Original method could result in 0 padding, which
generated unnessary noise in the encoding result.
Cc: mesa-stable
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9196
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280 >
2024-03-25 14:38:47 +00:00
Ruijing Dong
b24748a93a
frontends/va: add surface alignment attribute
...
It is only taking effect in hevc encoding so far.
Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280 >
2024-03-25 14:38:46 +00:00
Ruijing Dong
7525d2242b
radeonsi/vcn: add enc surface alignment caps
...
set [64x16] as the alignment for hevc
encoding surface.
Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280 >
2024-03-25 14:38:46 +00:00
Eric Engestrom
9be380c6da
ci: simplify unnecessarily complex printf
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28344 >
2024-03-25 13:04:15 +00:00
Eric Engestrom
ed45e373bf
ci: convert the job start date into a timestamp only once
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28344 >
2024-03-25 13:04:15 +00:00
Eric Engestrom
775eca9449
ci: deduplicate converting the current job runtime into %M:%S
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28344 >
2024-03-25 13:04:15 +00:00
Danylo Piliaiev
bfd56a1fdd
freedreno,tu/a7xx: Add PC_TESS_PARAM_SIZE and PC_TESS_FACTOR_SIZE
...
A750 adds explicit definition of PC_TESS_PARAM_SIZE and
PC_TESS_FACTOR_SIZE, probably in order to to correctly overlap execution
of several draws.
Note that blob adds a bit more space ({0x10, 0x20, 0x30, 0x40} bytes)
to PC_TESS_FACTOR_SIZE than we are, but the purpose of this additional
space is unknown.
Emitting these regs on whole A7XX seem to be fine - A740 doesn't
complain.
Fixes GPU faults in Witcher 3.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28210 >
2024-03-25 12:27:07 +00:00
Samuel Pitoiset
328f74fb44
radv: make sure to disable NGG culling with TES when the FS stage is unknown
...
NGG culling depends on the number of FS input reads but this can be
unknown with GPL/ESO when VS/TES are compiled separately. While VS
has a prolog most of the time, TES might incorrectly enable NGG culling
because the number of FS inputs was considered to be zero. To fix that,
consider the number of FS input reads to be the maximum possible value
when the FS is unknown to implicitly disable NGG culling.
This fixes a bunch of tess related flakes with Zink/ESO/RADV on RDNA2.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28293 >
2024-03-25 11:48:58 +00:00
Christian Gmeiner
3d3374a7a6
etnaviv: Do not set tex.amode for rounding
...
isaspec's encoding does not care about tex.amode for alu instructions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
6b1456ccdb
etnaviv: Remove isa.xml.h
...
We are using etnaviv.xml to describe our isa and generated all the
needed files.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
846d4988ce
etnaviv: Switch to macros from isa.h
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
8e0f2c2539
etnaviv: Move swizzle related macros to scr/etnaviv
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
abe5bd35d0
etnaviv: Switch to isa_assemble_instruction(..)
...
Use isaspec to assemble our instructions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
520886817e
etnaviv: isa: Add isa_assemble_instruction(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
b216fd044b
etnaviv: isa: Add encode support
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
3263d533d3
etnaviv: Set dst.use for MOVAR
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
8de9be6eb1
etnaviv: isa: Add rouding to etna_inst
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
feacc7239c
etnaviv: isa: Make use of generated enums
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
36c826d7ec
etnaviv: Move struct etna_inst to src/etnaviv
...
We will use struct etna_inst as starting point for our new assembler. The goal is
to do a smooth translation for the gallium driver.
Also apply clang-format rules and use SPDX license tag.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
59f9a54f36
etnaviv: Link against libetnaviv_encode
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
7a4e15fdff
etnaviv: isa: Add an empty libetnaviv_encode
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:49 +00:00
Christian Gmeiner
76e1588ca8
etnaviv: isa: Generate opcode enum
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:49 +00:00
Christian Gmeiner
a0635f8f52
etnaviv: isa: Generate c header containing enums
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:49 +00:00
Christian Gmeiner
9cc8b12e8c
etnaviv: isa: Add name attributes
...
Generate better names for enum values.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:49 +00:00
Daniel Schürmann
898fd9227a
aco/spill: keep loop variables spilled during nested loops
...
Totals from 36 (0.05% of 79395) affected shaders: (GFX11)
Instrs: 2775993 -> 2781480 (+0.20%); split: -0.01%, +0.20%
CodeSize: 14184524 -> 14231956 (+0.33%); split: -0.01%, +0.34%
SpillSGPRs: 1441 -> 1207 (-16.24%)
SpillVGPRs: 477 -> 421 (-11.74%)
Scratch: 35840 -> 35072 (-2.14%)
Latency: 15559241 -> 15606047 (+0.30%); split: -0.01%, +0.31%
InvThroughput: 3787994 -> 3803749 (+0.42%); split: -0.02%, +0.44%
VClause: 76422 -> 76411 (-0.01%)
SClause: 55717 -> 55671 (-0.08%); split: -0.10%, +0.01%
Copies: 214877 -> 215185 (+0.14%); split: -0.04%, +0.18%
Branches: 93158 -> 93129 (-0.03%); split: -0.03%, +0.00%
VALU: 1520556 -> 1525425 (+0.32%); split: -0.00%, +0.32%
SALU: 341104 -> 341408 (+0.09%); split: -0.02%, +0.11%
VMEM: 119673 -> 119617 (-0.05%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
80bc658efc
aco/spill: select more loop-carried variables to be spilled
...
This changes the heuristic to also spill live-through variables
if they are used within the loop if the register pressure is too high.
Totals from 68 (0.09% of 79395) affected shaders: (GFX11)
Instrs: 3385477 -> 3386659 (+0.03%); split: -0.11%, +0.14%
CodeSize: 17329668 -> 17353796 (+0.14%); split: -0.12%, +0.26%
SpillSGPRs: 4246 -> 3659 (-13.82%); split: -17.12%, +3.30%
SpillVGPRs: 978 -> 884 (-9.61%); split: -10.02%, +0.41%
Scratch: 58880 -> 59648 (+1.30%)
Latency: 20567445 -> 20753412 (+0.90%); split: -0.08%, +0.98%
InvThroughput: 5091128 -> 5188098 (+1.90%); split: -0.07%, +1.97%
VClause: 90446 -> 90499 (+0.06%); split: -0.05%, +0.11%
SClause: 68270 -> 68072 (-0.29%); split: -0.35%, +0.06%
Copies: 280689 -> 278003 (-0.96%); split: -1.08%, +0.12%
Branches: 112577 -> 112608 (+0.03%); split: -0.10%, +0.13%
VALU: 1863415 -> 1866878 (+0.19%); split: -0.07%, +0.26%
SALU: 415572 -> 413062 (-0.60%); split: -0.63%, +0.03%
VMEM: 140890 -> 141045 (+0.11%); split: -0.04%, +0.15%
VOPD: 650 -> 670 (+3.08%); split: +3.54%, -0.46%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
31f6aebb2c
aco/spill: keep loop-carried variables spilled at merge blocks
...
If loop-carried variables are partially spilled at some predecessor,
keep them spilled without extra instruction.
Also slightly refactors the code for better readability.
Totals from 13 (0.02% of 79395) affected shaders: (GFX11)
Instrs: 259129 -> 258194 (-0.36%)
CodeSize: 1337604 -> 1331768 (-0.44%)
SpillSGPRs: 561 -> 560 (-0.18%)
SpillVGPRs: 146 -> 140 (-4.11%)
Latency: 2410886 -> 2408560 (-0.10%)
InvThroughput: 759229 -> 758416 (-0.11%)
VClause: 4178 -> 4154 (-0.57%)
SClause: 7217 -> 7219 (+0.03%)
Copies: 32411 -> 32174 (-0.73%)
Branches: 9426 -> 9296 (-1.38%)
VALU: 144602 -> 144098 (-0.35%)
SALU: 30582 -> 30405 (-0.58%)
VMEM: 6961 -> 6908 (-0.76%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
971407bd2f
aco/spill: keep loop-carried variables spilled at loop headers
...
Now, that we avoid re-spilling loop-carried variables, we can
keep them spilled at loop-headers.
Totals from 31 (0.04% of 79395) affected shaders: (GFX11)
Instrs: 1539175 -> 1538109 (-0.07%); split: -0.14%, +0.07%
CodeSize: 7877948 -> 7871916 (-0.08%); split: -0.16%, +0.08%
SpillSGPRs: 1936 -> 1523 (-21.33%)
SpillVGPRs: 160 -> 146 (-8.75%)
Scratch: 18176 -> 16896 (-7.04%)
Latency: 9439964 -> 9441197 (+0.01%); split: -0.01%, +0.02%
InvThroughput: 2406253 -> 2406700 (+0.02%); split: -0.01%, +0.03%
VClause: 38903 -> 38922 (+0.05%)
SClause: 33347 -> 33349 (+0.01%); split: -0.01%, +0.02%
Copies: 131420 -> 130974 (-0.34%); split: -0.57%, +0.23%
Branches: 53091 -> 53212 (+0.23%); split: -0.03%, +0.26%
VALU: 844372 -> 843876 (-0.06%); split: -0.12%, +0.06%
SALU: 190329 -> 189891 (-0.23%); split: -0.40%, +0.17%
VMEM: 60491 -> 60510 (+0.03%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
e968a18652
aco/spill: avoid re-spilling loop-carried variables in add_coupling_code()
...
These variables only need to be spilled once at the loop-preheader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
7726b92707
aco/spill: avoid re-spilling loop-carried variables in process_block()
...
If a variable is spilled at the loop-header of the current loop,
there is no need to spill it redundantly. Instead, re-use the
spill-slot from the loop-header.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
bb3b6a5ff3
aco/spill: add interferences with variables spilled at loop headers
...
We will re-use the spill slots rather than re-spilling the variables.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
09c5414760
aco/spill: don't prefer to spill phis at merge blocks
...
Totals from 44 (0.06% of 79242) affected shaders: (GFX11)
Instrs: 165578 -> 165545 (-0.02%); split: -0.08%, +0.06%
CodeSize: 833528 -> 832988 (-0.06%); split: -0.11%, +0.04%
SpillSGPRs: 346 -> 329 (-4.91%)
Latency: 1176341 -> 1176231 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 235771 -> 235761 (-0.00%); split: -0.01%, +0.01%
SClause: 3287 -> 3289 (+0.06%); split: -0.21%, +0.27%
Copies: 16290 -> 16299 (+0.06%); split: -0.62%, +0.68%
Branches: 3633 -> 3641 (+0.22%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
d234f789b5
aco/spill: keep live-out variables spilled at branch blocks
...
There is no reason to reload early. Leave scheduling to the scheduler.
Totals from 98 (0.12% of 79242) affected shaders: (GFX11)
Instrs: 841944 -> 841995 (+0.01%); split: -0.02%, +0.03%
CodeSize: 4354332 -> 4354544 (+0.00%); split: -0.02%, +0.02%
SpillSGPRs: 2557 -> 2554 (-0.12%)
Latency: 5772080 -> 5772209 (+0.00%); split: -0.00%, +0.01%
InvThroughput: 1694834 -> 1694873 (+0.00%); split: -0.00%, +0.00%
SClause: 16036 -> 16042 (+0.04%); split: -0.07%, +0.11%
Copies: 85117 -> 85125 (+0.01%); split: -0.18%, +0.19%
Branches: 25222 -> 25219 (-0.01%); split: -0.02%, +0.00%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
32882d647e
aco/spill: refactor adding spilled vars into separate function add_to_spills()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
a5e8f9f879
aco/spill: add spills_entry interferences only when necessary
...
For variables which are already spilled in previous blocks,
the interferences already exist.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
1a1d6aef56
aco/spill: don't allocate extra spill_id for phi operands in add_coupling_code()
...
We can re-use the phi definition's spill_id.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:20 +00:00
Daniel Schürmann
b1468fc952
aco/spill: refactor SSA repairing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27774 >
2024-03-25 09:21:19 +00:00
Samuel Pitoiset
585b4c5a01
radv: invalidate L2 metadata for VK_ACCESS_2_MEMORY_READ_BIT
...
When shaders might read metadata (DCC) this must be flushed.
VK_ACCESS_2_MEMORY_READ_BIT includes all READ bits that are relevant.
I think this issue has been uncoverd since vkd3d-proton d1425ee4
("vkd3d: Use VK_ACCESS_MEMORY_{READ,WRITE}_BIT where appropriate")
because RADV used to be missing VK_ACCESS_2_MEMORY_{READ,WRITE} in the
past and vkd3d-proton added a special workaround that has been removed.
This fixes some DCC corruption in WWE 2K24.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10774
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28332 >
2024-03-25 07:27:46 +00:00
Dave Airlie
4fc2ab43c0
radv/video: fix h265 decode with unaligned w/h
...
This is similiar to the h264 fix done previously.
Fixes decoding with the nvpro samples app and a test video.
Fixes: db62c38091
("radv: add vcn h265 decode.")
Reviewed-by: Lynne <dev@lynne.ee >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28359 >
2024-03-25 05:51:43 +00:00
Yusuf Khan
dcc2e596c1
nvk: remove some dead code files
...
Dead beef.
Fixes: 813b253939
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28354 >
2024-03-25 03:23:11 +00:00
Alan Liu
f351e4be11
radeonsi/vpe: support vpe 1.1
...
update radeonsi and vpelib to support vpe 1.1
Co-authored-by: Alan Liu <haoping.liu@amd.com >
Signed-off-by: Peyton Lee <peytolee@amd.com >
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28239 >
2024-03-25 00:59:02 +00:00
Eric Engestrom
c73c244a6c
ci/deqp-runner: print deqp-gles version log as well
...
Fixes: 78ea3bb43d
("ci/deqp: use the proper gl/gles releases for deqp-gl*, deqp-gles*, deqp-egl")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28356 >
2024-03-24 23:23:44 +00:00
Eric Engestrom
14279087fb
ci/deqp-runner: split gl & gles groups to use the correct binary
...
Now that these can come from different releases, with different sets of
patches backported to them, it matters that we use the correct one.
Fixes: 78ea3bb43d
("ci/deqp: use the proper gl/gles releases for deqp-gl*, deqp-gles*, deqp-egl")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28343 >
2024-03-24 22:14:06 +00:00
Eric Engestrom
9bbbe90f06
ci: enable MESA_VK_ABORT_ON_DEVICE_LOSS globally
...
This makes all vulkan drivers abort on DEVICE_LOST, which is better than
the current error in deqp-runner because deqp has added a new DeviceLost
test status but deqp-runner doesn't understand it yet (the next release
will though), breaking jobs when this happens.
Disable it on zink for now, as EGL test intentionally cause this in some
tests and we don't want them to start crashing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28320 >
2024-03-24 21:20:55 +00:00
Eric Engestrom
197e3f7109
v3dv/ci: assume list of dEQP-VK.wsi.*.maintenance1.present_modes.* flakes is the same between xcb & xlib and between rpi4 & rpi5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28351 >
2024-03-24 20:10:42 +00:00
Eric Engestrom
a856d30b72
v3dv/ci: add more flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28351 >
2024-03-24 20:08:06 +00:00
Eric Engestrom
7156575dcb
v3dv/ci: assume dEQP-VK.wsi.wayland.swapchain.simulate_oom.* have been fixed
...
We'll add them back if it turns out 1900617baf
was not enough to fix them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28351 >
2024-03-24 20:08:06 +00:00
Lucas Fryzek
912e203a53
drisw: clamp damage region to texture bounds
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28242 >
2024-03-24 17:27:22 +00:00
Lucas Fryzek
85a91f461c
drisw/winsys: Flip y coordinate when creating pipe boxes
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28242 >
2024-03-24 17:27:21 +00:00
Lucas Fryzek
b3680c92a1
egl/wayland/sw: don't invert y wl_surface_damage_buffer
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28242 >
2024-03-24 17:27:21 +00:00
Jesse Natalie
d82ff37ed0
nir_tests: Add /bigobj when compiling with MSVC
...
Otherwise the opt_varying tests fail to compile
Fixes: 6dbd1dcd
("nir/tests: add tests for nir_opt_varyings")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28345 >
2024-03-24 15:50:18 +00:00
Paulo Zanoni
72e1e6e120
driconf/anv: set fp64_workaround_enabled to DIRT 5
...
Otherwise the game refuses to launch. With it, it's playable on my
DG2.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9882
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/28213 >
2024-03-23 17:01:17 +00:00
Paulo Zanoni
460bacc223
anv: set shaderFloat64 to true when fp64_workaround_enabled
...
According to 00-mesa-defaults.conf, the only game that seems to care
about fp64_workaround_enabled right now is Doom Eternal. After some
brief testing I couldn't spot any performance difference by setting
shaderFloat64 to true.
We want to set this to true so that DIRT 5 can work, as it looks at
shaderFloat64 and then refuses to launch today.
Link: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9882
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/28213 >
2024-03-23 17:01:17 +00:00
Eric Engestrom
cc5e7f8b9b
ci: fix shader-db job existence condition
...
Without this, the job always exists but it depends on things that don't
always exist, leading to errors like this one
(https://gitlab.freedesktop.org/sixtyfourktec/mesa/-/pipelines/1133679 ):
```
'shader-db' job needs 'debian-build-testing' job, but 'debian-build-testing' is not in any previous stage
```
Fixes: 3983ae89e9
("Split debian-build-testing job")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28334 >
2024-03-23 07:17:25 +00:00
Ian Romanick
b835784dde
intel/brw: Remove last vestiges of could_coissue
...
Most of the obvious bits were removed by 7ac5696157
("intel/brw: Remove
Gfx8- code from backend passes").
No shader-db or fossil-db changes on any Intel platform.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28342 >
2024-03-23 01:29:22 +00:00
Marek Olšák
60231e6d6f
nir/validate: validate more fields of nir_io_semantics
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28312 >
2024-03-22 22:39:50 +00:00
Marek Olšák
2034cf87c5
nir/lower_io: add nir_io_semantics::interp_explicit_strict
...
This preserves the misnamed "per_vertex" flag in lowered IO.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28312 >
2024-03-22 22:39:50 +00:00
Marek Olšák
f02678bb50
nir/validate: validate interp_mode of load_barycentric_*
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28312 >
2024-03-22 22:39:50 +00:00
Marek Olšák
4ae952506d
radeonsi: implement the shader debug log from ac_nir_store_debug_log_amd
...
This can be used to print values directly from shaders using
ac_nir_store_debug_log_amd.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27952 >
2024-03-22 21:58:02 +00:00
Marek Olšák
a60b9eb17c
ac/llvm: remove remnants of gfx10 NGG streamout
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27952 >
2024-03-22 21:58:02 +00:00
Marek Olšák
7c25243f86
aco: add a helper printing shader asm by disassembling via LLVM
...
ACO uses the LLVM disassembler. It was used to verify that manually-written
inline assembly code is correct.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27952 >
2024-03-22 21:58:02 +00:00
Marek Olšák
df6fe90926
aco: implement aco_is_gpu_supported using switch statement
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27952 >
2024-03-22 21:58:02 +00:00
Marek Olšák
1585a5cc6d
nir,amd: add nir_intrinsic_load_debug_log_desc_amd and its use
...
for shader debugging
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27952 >
2024-03-22 21:58:02 +00:00
Marek Olšák
6773595ed0
nir: rename AMD XFB intrinsics to *_gfx11_amd
...
to indicate it's only for gfx11.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27952 >
2024-03-22 21:58:02 +00:00
Benjamin Tissoires
311f32caad
CI: add a test for checking the validity of .mr-label-maker.yml
...
Just run a dry-run of mr-label-maker on the current MR is sufficient
to find out bugs
Requires https://gitlab.freedesktop.org/freedesktop/mr-label-maker/-/merge_requests/37
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28331 >
2024-03-22 21:19:28 +00:00
Benjamin Tissoires
bf7cb69027
.mr-label-maker.yml: fix wrong label
...
~"feature_request" doesn't exists, ~"feature request" does :(
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28331 >
2024-03-22 21:19:28 +00:00
Dmitry Baryshkov
b8ffa9f956
freedreno/rnn: drop custom aprintf function
...
Replace custom apritnf() function with the existing asprintf(), which is
already widely used by rnn.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:06 +00:00
Dmitry Baryshkov
8c95eada0d
freedreno/rnn: drop headergen2
...
The headergen2 tool is no longer used by the freedreno driver, drop it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7978
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:06 +00:00
Dmitry Baryshkov
ec61c49f26
freedreno/registers: drop unsupported features from schema
...
Drop the features from original rules-ng schema that are not supported
by the gen_header.py script.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:06 +00:00
Dmitry Baryshkov
639488f924
freedreno/registers: limit the rules schema
...
The gen_headers.py supports only a limited set of original rules-ng.xsd
schema. At the same time it added support for additional attributes, not
covered by the original Nouveau schema. Rename the schema file.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:06 +00:00
Dmitry Baryshkov
12f32ff864
freedreno/registers: support processing display display headers
...
Add missing features to gen_headers.py script in order to support MDP /
DSI / HDMI headers. This includes nested array declarations, offsets /
doffsets attributes support and using enums for array indexing.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7978
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:06 +00:00
Dmitry Baryshkov
f50da71198
freedreno/registers: fix WB doffsets array in mdp5.xml
...
In mdp5.xml the doffsets attribute of the WB array contains one extra
comma, resulting in one empty entry in __offset_WB(). Fix that now.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:05 +00:00
Dmitry Baryshkov
7f2af6841b
freedreno/registers: inline mdp4_csc group
...
The gen_headers.py script doesn't support and is not going to support
group declarations. Inline the only user of group / use-group
definitions, mdp4_csc.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:05 +00:00
Dmitry Baryshkov
a3d8acc875
freedreno/registers: add missing copyright imports
...
Import copyright into all files so that it is included into the
generated headers.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:05 +00:00
Dmitry Baryshkov
bf89f777f8
freedreno/registers: fix generation dependencies
...
The rules-ng.xsd is not a registers XML file, don't pass it to
gen_header.py. Instead declare rules-ng.xsd and freedreno_copyright.xml
as inputs to the gen_header.py, so that the headers are regenerated if
schema or copyright file changes.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28193 >
2024-03-22 19:30:05 +00:00
Samuel Pitoiset
2ab3a5a0f7
zink/ci: allow RADV_PERFTEST=shader_object on NAVI31
...
NAVI10/VANGOGH are waiting for another fix related to NGG culling
for passing CI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28338 >
2024-03-22 19:05:41 +00:00
Yonggang Luo
1d18aba016
meson: Remove the non-used -DDEBUG manually
...
And also remove the workarounds for LLVM and bellagio
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092 >
2024-03-22 18:22:34 +00:00
Yonggang Luo
1ac1c0843f
treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible
...
This is achieved by the following steps:
#ifndef DEBUG => #if !MESA_DEBUG
defined(DEBUG) => MESA_DEBUG
#ifdef DEBUG => #if MESA_DEBUG
This is done by replace in vscode
excludes
docs,*.rs,addrlib,src/imgui,*.sh,src/intel/vulkan/grl/gpu
These are safe because those files should keep DEBUG macro is already excluded;
and not directly replace DEBUG, as we have some symbols around it.
Use debug or NDEBUG instead of DEBUG in comments when proper
This for reduce the usage of DEBUG,
so it's easier migrating to MESA_DEBUG
These are found when migrating DEBUG to MESA_DEBUG,
these are all comment update, so it's safe
Replace comment /* DEBUG */ and /* !DEBUG */ with proper /* MESA_DEBUG */ or /* !MESA_DEBUG */ manually
DEBUG || !NDEBUG -> MESA_DEBUG || !NDEBUG
!DEBUG && NDEBUG -> !(MESA_DEBUG || !NDEBUG)
Replace the DEBUG present in comment with proper new MESA_DEBUG manually
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092 >
2024-03-22 18:22:34 +00:00
Yonggang Luo
0578f13fc9
meson: Define MESA_DEBUG for latter usage
...
rationale:
DEBUG is easily conflict with third-party headers, for example LLVM https://github.com/llvm/llvm-project/issues/24002#issuecomment-1673922017
And amdcommon's addrlib
And according to https://github.com/llvm/llvm-project/issues/24002#issuecomment-1673922017
LLVM is already switched to LLVM_DEBUG, I think it's time for mesa switch to MESA_DEBUG for #ifdef DEBUG.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092 >
2024-03-22 18:22:34 +00:00
Yonggang Luo
5d3ce49e76
meson: Extract with_mesa_debug and with_mesa_ndebug for latter usage
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092 >
2024-03-22 18:22:33 +00:00
Matthew Waters
cf8f894921
teximage: allow glCopyTex{Sub}Image[123]D into R/RG textures with OpenGL ES 2.0
...
This is explicitly allowed in the GL_EXT_texture_rg extension.
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28313 >
2024-03-22 17:04:55 +00:00
Jesse Natalie
63366781aa
wgl: Check for null before dereferencing ctx in swap
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28211 >
2024-03-22 16:40:08 +00:00
Jesse Natalie
df638c023d
wgl: Delete unused context param to swap
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28211 >
2024-03-22 16:40:08 +00:00
Samuel Pitoiset
f729fe50e5
radv: trigger a new PS epilog when the framebuffer is dirty with ESO
...
When a new framebuffer is used, the color output formats might have
changed and a new PS epilog might need to be recompiled. This shouldn't
affect graphics pipeline because color output formats must already match.
This fixes a couple of failures/flakes like
spec@ext_framebuffer_multisample@fast-clear with Zink and shader object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28294 >
2024-03-22 15:08:23 +00:00
Samuel Pitoiset
53ec57d42d
radv: always export MRTZ in FS epilogs with ESO on GFX11
...
Alpha to coverage is special on RDNA3 and it needs to be emitted
through MRTZ in some situations. Because we can't know this at compile
time when everything is dynamic, we have to always emit MRTZ in PS
epilogs.
This fixes remaining failures on NAVI31 with Zink/ESO/RADV like
spec@ext_packed_depth_stencil@fbo-depthstencil-gl_depth24_stencil8-drawpixels-float-and-ushort.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28297 >
2024-03-22 14:42:21 +00:00
Hans-Kristian Arntzen
1900617baf
wsi/wayland: Init outstanding list earlier.
...
Fixes a crash if swapchain free is called before the list is
initialized. This only happens when swapchain init fails, so
it is highly unlikely to happen in practical scenarios.
Fixes dEQP-VK.wsi.wayland.swapchain.simulate_oom.min_image_count.
Fixes: 0d51cd4808
("wsi/wl: Improve fallback for present_wait.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10866
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Tested-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28325 >
2024-03-22 14:02:26 +00:00
duncan.hopkins
2743adac7f
zink/apple: update docs to reflect the current status of Zink on macOS.
...
Adds extra information to the "Notes for macOS" and "Zink" documentation pages to:
1) Better describe how to build on macOS
2) Temper expectations on running Zink on macOSx
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10768
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28330 >
2024-03-22 11:56:01 +00:00
duncan.hopkins
f75750f740
zink/apple: added moltenvk-dir
search to allow MoltenVK to be sourced from brew.
...
The file layout in the brew obtained molten-vk package is differnt again to the VulkanSDK or MoltenVK packages.
Added an extra sub-directory location search from the `moltenvk-dir` build option.
This allows for the following to be used `-Dmoltenvk-dir=$(brew --prefix molten-vk)`.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28330 >
2024-03-22 11:56:01 +00:00
Thomas H.P. Andersen
5532f13566
driconf: override vendor id for X4 Foundations on NVK
...
The game will refuse to start if the driver version is tool old.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27784 >
2024-03-22 11:18:55 +00:00
Thomas H.P. Andersen
03d72c4ef1
nvk: support driconf option force_vk_vendor
...
Some games match on the vendor ID and then check if the driver version
is at least a specific version. Some games just warn about the "old" driver
version. Others refuse to start.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27784 >
2024-03-22 11:18:55 +00:00
Eric Engestrom
951aa2fa82
v3dv/ci: add other flakes seen during nightly run
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28333 >
2024-03-22 10:58:35 +00:00
Eric Engestrom
423e85caf5
v3dv/ci: mark the dEQP-VK.wsi.*.maintenance1.deferred_alloc.*
flakes seen so far as happening on all platforms
...
Not all of these have flaked on all platforms yet, but enough that it's
safer to just consider that alloc issues might not be platform-specific.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28333 >
2024-03-22 10:58:35 +00:00
Eric Engestrom
648490f7ce
vc4/ci: add another spec@arb_vertex_buffer_object@vbo-subdata-many draw
flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28333 >
2024-03-22 10:58:35 +00:00
Eric Engestrom
5f2915e8ee
vc4/ci: add another spec@!opengl 1.1@depthstencil-default_fb-drawpixels
flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28333 >
2024-03-22 10:58:35 +00:00
Eric Engestrom
fa0f834453
v3d/ci: mark spec@ext_framebuffer_blit@fbo-blit-check-limits as fixed
...
It looks like it has been fixed for many drivers yesterday, but
apparently not vc4.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28333 >
2024-03-22 10:58:35 +00:00
Rhys Perry
588b1ce533
aco: split instruction assembly into functions
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
5651aa7644
aco/gfx11: fix scratch ST mode assembly
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
cdcc856cbf
aco: unify MIMG opcode lists
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
20b14381c4
aco: move dot/wmma instructions into VOP3P list
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
6bfd3dc39f
aco: use op()
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
a806e48982
aco: use single tuple for all opcode numbers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
5864c22fb7
aco: refactor VOPC opcode list
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
d23f8b0dcf
aco: rename opcode->instruction
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
Rhys Perry
b723a15bd0
aco: fix GFX6 buffer_load_dwordx4 opcode number
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913 >
2024-03-22 10:29:43 +00:00
David Heidelberg
cb17a936e0
ci/r300: implement rules for d3d9 testing
...
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Suggested-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28305 >
2024-03-22 10:38:04 +01:00
Pierre-Eric Pelloux-Prayer
9c909aefc4
amd: fix addrlib regression
...
This reverts only a small chunk of e01266335b
because this
change caused this piglit test to page fault:
nv_copy_image-formats --samples=8 GL_RGB32UI
Fixes: e01266335b
("amd: update addrlib")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28268 >
2024-03-22 08:25:21 +00:00
Pierre-Eric Pelloux-Prayer
53f9cdac9b
radeonsi: preserve alpha if needed in kill_ps_outputs_cb
...
Some features (eg: ALPHA_TEST) relies on the alpha value being
exported even if color_mask.a = false.
In these cases, override comp_mask to preserve the alpha value.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10841
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10845
Fixes: 6d2a7f53
("radeonsi: decrease NUM_INTERP if export formats/colormask eliminated PS inputs")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28268 >
2024-03-22 08:25:21 +00:00
Mark Janes
4acea392af
intel/compiler: drop unused ray-tracing fields from cache hash
...
The compiler only references `intel_device_info->subslice_masks` for
ray tracing workloads. Platforms which lack raytracing support can
share a cache even if they differ on this field.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28311 >
2024-03-22 00:01:28 +00:00
Kenneth Graunke
9a72116367
intel/brw: Unify DF and Q/UQ lowering for MOV
...
Using the new unsupported_64bit_type helper.
Fixes: ea423aba1b
("intel/brw: Split out 64-bit lowering from algebraic optimizations")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28328 >
2024-03-21 23:25:56 +00:00
Kenneth Graunke
97c7d5113d
intel/brw: Use correct execution pipe for lowering SEL on DF
...
This is a float operation, let's keep it on the float pipe.
Fixes: ea423aba1b
("intel/brw: Split out 64-bit lowering from algebraic optimizations")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28328 >
2024-03-21 23:25:56 +00:00
Kenneth Graunke
26d65e96dd
intel/brw: Assert that min/max are not happening in 64-bit SEL lowering
...
These aren't handled, only pure selects.
Fixes: ea423aba1b
("intel/brw: Split out 64-bit lowering from algebraic optimizations")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28328 >
2024-03-21 23:25:56 +00:00
Kenneth Graunke
a2c2a7bc00
intel/brw: Fix check for 64-bit SEL lowering types
...
The 64-bit type lowering for SEL in opt_algebraic had a pre-existing bug
where it only triggered when 64-bit float _and_ integer types were
unsupported. Meteorlake supports 64-bit float but not integer, so we
need to lower Q/UQ in that case still.
When I moved this to a later pass, opt_peephole_sel started generating
Q/UQ SEL instructions which were failing to be lowered.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10867
Fixes: ea423aba1b
("intel/brw: Split out 64-bit lowering from algebraic optimizations")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28328 >
2024-03-21 23:25:56 +00:00
Dylan Baker
75ede9d9bc
intel/brw: track last successful pass and leave the loop early
...
This is similar to what RADV implements using the NIR_LOOP_PASS
helpers. I have not used those helpers for a couple of reasons:
1. They use the pointer to the optimization function, which doesn't
work if the same function is called multiple times in one invocation
of the loop (fixable)
2. After fixing them, due to Intel's use of sub-expressions, the amount
of code added to wrap the shared macro becomes more than simply
reimplementing them for the Intel compiler
On most workloads the results are a wash, but on compile heavy
workloads like Cyberpunk 2077 and Rise of the Tomb Raider, I saw
fossil-db runtimes fall by 1-2% on my ICL, with no changes to the
compiled shaders. Caio saw closer to 2.5% on TGL.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27510 >
2024-03-21 23:02:32 +00:00
Caio Oliveira
b2ee98d2db
intel/brw: Handle Xe2 in brw_fs_opt_zero_samples
...
The mlen tracking is in REG_SIZE units, but in Xe2 each GRF has
doubled the size. The optimization can only elide full GRFs, so
round down the amount of trailing zeros to ensure the optimization
will remove only full GRFs.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28279 >
2024-03-21 22:38:54 +00:00
Ian Romanick
cd70e49394
intel/brw: Allow SIMD16 F and HF type conversion moves
...
On DG2, the lowering generated for these MOV instructions is
**awful**. The original SIMD16 MOV
{ 18} 67: mov(16) vgrf54+0.0:HF, vgrf46+0.0:F NoMask group0
is lowered to SIMD8 MOVs:
{ 18} 118: mov(8) vgrf54+0.0:HF, vgrf46+0.0:F NoMask group0
{ 18} 119: mov(8) vgrf54+0.16:HF, vgrf46+1.0:F NoMask group8
These MOVs violate Gfx12.5 region restrictions, so these are further
lowered:
{ 17} 119: mov(8) vgrf83<2>:HF, vgrf46+0.0:F NoMask group0
{ 19} 120: mov(8) vgrf54+0.0:UW, vgrf83<2>:UW NoMask group0
{ 19} 122: mov(8) vgrf84<2>:HF, vgrf46+1.0:F NoMask group8
{ 19} 123: mov(8) vgrf54+0.16:UW, vgrf84<2>:UW NoMask group8
The shader-db and fossil-db results are nothing to get excited
about. However, the affect on vk_cooperative_matrix_perf is substantial. In one subtest
shader: shaders/shmemfp16.spv
cooperativeMatrixProps = 8x8x16 A = float16_t B = float16_t C = float16_t D = float16_t scope = subgroup
TILE_M=128 TILE_N=128, TILE_K=32 BLayout=0
performance on my DG2 improved by ~60% due to a MASSIVE reduction in spills and fills:
-Native code for unnamed compute shader (null) (src_hash 0x00000000) (sha1 c6a41b1c4e7aa2da327a39a70ed36c822a4b172f)
-SIMD32 shader: 32484 instructions. 1 loops. 1893868 cycles. 737:1820 spills:fills, 442 sends, scheduled with mode none. Promoted 1 constants. Compacted 519744 to 492224 bytes (5%)
- START B0 (20782 cycles)
+Native code for unnamed compute shader (null) (src_hash 0x00000000) (sha1 621e960daad5b5579b176717f24a315e7ea560a1)
+SIMD32 shader: 23918 instructions. 1 loops. 1089894 cycles. 432:1166 spills:fills, 442 sends, scheduled with mode none. Promoted 1 constants. Compacted 382688 to 353232 bytes (8%)
shader-db:
All Gfx9 and later platforms had similar results. (Meteor Lake shown)
total instructions in shared programs: 19656270 -> 19653981 (-0.01%)
instructions in affected programs: 61810 -> 59521 (-3.70%)
helped: 116 / HURT: 0
total cycles in shared programs: 823368888 -> 823375854 (<.01%)
cycles in affected programs: 1165284 -> 1172250 (0.60%)
helped: 51 / HURT: 57
fossil-db:
DG2 and Meteor Lake had similar results. (Meteor Lake shown)
*** Shaders only in 'before' results are ignored:
fossil-db/steam-dxvk/total_war_warhammer3/2a3ed2ca632a7cb7/fs.32,
fossil-db/steam-dxvk/total_war_warhammer3/18b9d4a3b1961616/fs.32,
fossil-db/steam-dxvk/total_war_warhammer3/04ac9f3146a6db19/fs.32,
fossil-db/steam-dxvk/total_war_warhammer3/f37ebec6aa1b379a/fs.32,
fossil-db/steam-dxvk/total_war_warhammer3/255c987feb0d4310/fs.32, and 25
more
from 1 apps: fossil-db/steam-dxvk/total_war_warhammer3
Totals:
Instrs: 160946537 -> 160928389 (-0.01%); split: -0.01%, +0.00%
Cycles: 14125908620 -> 14125873958 (-0.00%); split: -0.00%, +0.00%
Totals from 1002 (0.15% of 652134) affected shaders:
Instrs: 411261 -> 393113 (-4.41%); split: -4.41%, +0.00%
Cycles: 16676735 -> 16642073 (-0.21%); split: -0.48%, +0.27%
Tiger Lake
Totals:
Instrs: 164511816 -> 164497202 (-0.01%); split: -0.01%, +0.00%
Cycles: 13801675722 -> 13801629397 (-0.00%); split: -0.00%, +0.00%
Subgroup size: 7955168 -> 7955152 (-0.00%)
Send messages: 8544494 -> 8544486 (-0.00%)
Totals from 997 (0.15% of 651454) affected shaders:
Instrs: 460820 -> 446206 (-3.17%); split: -3.17%, +0.00%
Cycles: 16265514 -> 16219189 (-0.28%); split: -0.84%, +0.56%
Subgroup size: 17552 -> 17536 (-0.09%)
Send messages: 26045 -> 26037 (-0.03%)
Ice Lake
Totals:
Instrs: 165504747 -> 165489970 (-0.01%); split: -0.01%, +0.00%
Cycles: 15145244554 -> 15145149627 (-0.00%); split: -0.00%, +0.00%
Subgroup size: 8107032 -> 8107016 (-0.00%)
Send messages: 8598680 -> 8598672 (-0.00%)
Spill count: 45427 -> 45423 (-0.01%)
Fill count: 74749 -> 74747 (-0.00%)
Totals from 1125 (0.17% of 656115) affected shaders:
Instrs: 521676 -> 506899 (-2.83%); split: -2.83%, +0.00%
Cycles: 19555434 -> 19460507 (-0.49%); split: -0.59%, +0.10%
Subgroup size: 21616 -> 21600 (-0.07%)
Send messages: 28623 -> 28615 (-0.03%)
Spill count: 603 -> 599 (-0.66%)
Fill count: 1362 -> 1360 (-0.15%)
Skylake
*** Shaders only in 'after' results are ignored:
fossil-db/steam-native/red_dead_redemption2/cef460b80bad8485/fs.16,
fossil-db/steam-native/red_dead_redemption2/cd5fe081e2e5529d/fs.16
from 1 apps: fossil-db/steam-native/red_dead_redemption2
Totals:
Instrs: 141607617 -> 141593776 (-0.01%); split: -0.01%, +0.00%
Cycles: 14257812441 -> 14257661671 (-0.00%); split: -0.00%, +0.00%
Subgroup size: 7743752 -> 7743736 (-0.00%)
Send messages: 7552728 -> 7552720 (-0.00%)
Spill count: 43660 -> 43661 (+0.00%)
Fill count: 71301 -> 71303 (+0.00%)
Totals from 1017 (0.16% of 636964) affected shaders:
Instrs: 392454 -> 378613 (-3.53%); split: -3.53%, +0.00%
Cycles: 16622974 -> 16472204 (-0.91%); split: -1.04%, +0.13%
Subgroup size: 19840 -> 19824 (-0.08%)
Send messages: 23021 -> 23013 (-0.03%)
Spill count: 484 -> 485 (+0.21%)
Fill count: 1155 -> 1157 (+0.17%)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28281 >
2024-03-21 15:12:58 -07:00
Ian Romanick
66dc6e07f5
intel/brw: Fix handling of accumulator register numbers
...
Folks, there's more than one accumulator. In general, when the
register file is ARF, the upper 4 bits of the register number specify
which ARF, and the lower 4 bits specify which one of that ARF. This
can be further partitioned by the subregister number.
This is already mostly handled correctly for flags register, but lots
of places wanted to check the register number for equality with
BRW_ARF_ACCUMULATOR. If acc1 is ever specified, that won't work.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28281 >
2024-03-21 15:12:54 -07:00
David Heidelberg
d8f53f698c
util: move gen_zipped_file into generic util and rename to gen_zipped_xml_file
...
Make the filename more descriptive and since the file is used by
multiple drivers, move it into appropriate util/ directory.
Cosmetics:
- use SPDX license tag
- add newline before main function
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27804 >
2024-03-21 20:48:41 +00:00
Echo J
16753bc2f1
nvk: Implement calibrated timestamps
...
This implementation is mostly a copy-paste from RADV
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28274 >
2024-03-21 20:11:49 +00:00
Echo J
4b0ad410d0
nvk: Advertise VK_VALVE_mutable_descriptor_type
...
This missing extension looks bad when most of the other drivers
have it (so that's why I made this change)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28291 >
2024-03-21 19:15:28 +00:00
Faith Ekstrand
359bb89302
nvk: Move the mutableDescriptorType enable
...
The EXT extension overrides the VALVE one so put it in the EXT section.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28291 >
2024-03-21 19:15:28 +00:00
José Roberto de Souza
1bed037b88
iris: Remove i915_drm.h include from iris_indirect_gen.c
...
It don't use i915_drm.h no need to include.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28327 >
2024-03-21 18:52:14 +00:00
José Roberto de Souza
50eceb1e33
iris: Move tiling_to_modifier() implementation to i915 folder
...
There is no tiling in Xe KMD uAPI.
With this one more i915_drm.h include can be removed.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28327 >
2024-03-21 18:52:14 +00:00
Rohan Garg
cc570dbada
isl: enable CCS for 3D surfaces on gen12.5 and above
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23632 >
2024-03-21 18:28:27 +00:00
Rohan Garg
49ed35c08a
anv: 3D surfaces have fewer layers for higher miplevels
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23632 >
2024-03-21 18:28:27 +00:00
Rohan Garg
9628723943
anv,blorp: implement restrictions from WA 1406738321
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23632 >
2024-03-21 18:28:27 +00:00
Valentine Burley
c83dcd4967
nvk: Trivially expose three VK_GOOGLE extensions
...
This patch exposes support for the following three extensions:
* VK_GOOGLE_decorate_string
* VK_GOOGLE_hlsl_functionality1
* VK_GOOGLE_user_type
There's nothing for the driver to do; it's all handled in spirv_to_nir.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28155 >
2024-03-21 18:10:04 +00:00
Robert Mader
b2719a73c1
crocus: Support offset query for multi-planar planes
...
Multi-planar planes can be imported from VA-API or V4L2. In this case we
would currently report wrong values for `gbm_bo_get_offset()`.
This does not fix any know visible bug, as crocus hardware usually does
not support muliti-planar planes in the display engine - in which case
the wrong values would make Mutter glitch. Lets report correct values
regardless.
While on it, also use the helper function for counting planes.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28225 >
2024-03-21 17:49:31 +00:00
duncan.hopkins
899fcaf237
zink: Avoid issues when kopper tries using XCB WSI on Apple.
...
On macOS builds the code is tryng to use X11 and XCB code paths for WSI functions and structures,
i.e. `VkXcbSurfaceCreateInfoKHR` and `vkCreateXcbSurfaceKHR()`.
The MoltenVK implementation only supports `VkMacOSSurfaceCreateInfoMVK` and `vkCreateMacOSSurfaceMVK()`.
To get these working correctly Metal diusplay surfaces need to be setup, which xquarts does not expose.
Until this situation is resolved correctly the `VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR` code paths has been
changed to return `VK_INCOMPLETE`. This allows them to run without asserting and terminating the runtime.
This allows for non-display applicaitons, like `glxinfo`, to run without terminating.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28259 >
2024-03-21 17:22:34 +00:00
duncan.hopkins
d644b64ff2
zink: removed MESA_PRIM_QUADS
from the supported PIPE_CAP_SUPPORTED_PRIM_MODES
.
...
Vulkan does not support quads, removal of this type forces quads to be converted
in `primconvert_init_draw()`.
In cases where `screen->have_triangle_fans` excludes MESA_PRIM_TRIANGLE_FAN,
`u_index_generator()` is accessing a NULL entry in 'generate_quads'
for converting MESA_PRIM_TRIANGLE_FAN to MESA_PRIM_QUADS.
Which seems like an odd conversion to do (might be why it is missing).
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28259 >
2024-03-21 17:22:34 +00:00
duncan.hopkins
7e1e0c6824
zink: stopped the use of VkFormatProperties3 if the reported API is less than 1.3 or VK_KHR_format_feature_flags2 not present.
...
The MoltenVK (time of writing) only implements Vulkan 1.2 APIs and no `VK_KHR_format_feature_flags2` device extension.
This means VkFormatProperties3 is not supported, and is left blank when used in `populate_format_props()`.
If non-1.3 is detected then the same values are read from the `VkFormatProperties2` `props` location.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28259 >
2024-03-21 17:22:34 +00:00
duncan.hopkins
d0015ebbab
zink: use portability EXT on Apple.
...
Vulkan behaviour has changed to require VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR
and VK_KHR_portability_enumeration to be used on layered Vulkan implementations.
These are enbaled on macOS/Apple as MoltenVK is the only implmentation (time of writing)
and newer version require this.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28259 >
2024-03-21 17:22:34 +00:00
duncan.hopkins
32ac90d8c2
zink: Fixed header location and compiling issue with [[deprecated]] from newer MoltenVK versions.
...
From Vulkan 1.3.250 the MoltenVK include filenames changed.
Now include the newer 'MoltenVK/mvk_vulkan.h' instead of the older `MoltenVK/vk_mvk_moltenvk.h` headers.
From Vulkan 1.3.275 the MoltenVK include location changed.
The meson build options 'moltenvk-dir' now needs to point at the root of the Vulkan SDK install.
It will look for the presence of the older 'MoltenVK/include' loction and the newer 'macos/include' location.
Tested against Vulkan SDK versions: 1.3.250, 1.3.261, 1.3.268, 1.3.275.
Will not work compile with Vulkan 1.3.234 or earlier.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28259 >
2024-03-21 17:22:34 +00:00
José Roberto de Souza
47bbd1c7ff
intel/tools/error_decode: Parse HW context in Xe decoder
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27888 >
2024-03-21 16:59:09 +00:00
José Roberto de Souza
ec3a41960b
intel/tools/error_decode: Add function to print batch in Xe decoder
...
This will be useful to decode HW context in the next patch.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27888 >
2024-03-21 16:59:09 +00:00
José Roberto de Souza
171eb89b75
intel/tools/error_decode: Fix parsing in Xe decoder
...
xe_topic can't be inside of the for loop otherwise it will be set to
TOPIC_INVALID at every iteration.
TOPIC_INVALID was added after it was reviewed by Lionel because CI
complained that xe_topic may be not initialized, turns out leaving it
not initialized was causing the xe_topic value to keep the value set
in the previous interation makeing the parser to work by luck.
Fixes: 90e38bbb3b
("intel/tools/error_decode: Parse Xe KMD error dump file")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27888 >
2024-03-21 16:59:09 +00:00
Dylan Baker
477943cc9d
meson: Allow building intel-clc for the host if it can be run
...
In what is probably the most common case cross of compilation, x86_64
-> x86, it should be possible to build intel-clc for the host machine
and run it. Doing so simplifies the build by not needing to be able to
cross compile half of mesa, and should ease developer and distro strain
for building Intel drivers for x86.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28222 >
2024-03-21 16:31:35 +00:00
Lionel Landwerlin
098136e52a
anv: avoid partially compiled warning with GPL
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28318 >
2024-03-21 16:09:54 +00:00
Vignesh Raman
3983ae89e9
Split debian-build-testing job
...
Split the build job from the shader-db tests so that the test
job can be rerun more reliably without hitting the timeout.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/9513
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27507 >
2024-03-21 13:26:20 +00:00
Mike Blumenkrantz
ee13512a62
zink: clamp swapchain renderarea instead of asserting
...
in a sequence like:
* resize A
* clear
* resize B
* clear
* resize C
* clear
for a swapchain resource, the geometry for a given op after the resize
may desync for the op with which it was executed, but this is fine
since the underlying swapchain object will have to be re-created anyway
fixes #10827
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28214 >
2024-03-21 13:05:04 +00:00
Mike Blumenkrantz
27f42a38aa
zink: clamp present region size
...
it's illegal for these to exceed the size of the swapchain
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28214 >
2024-03-21 13:05:04 +00:00
Mike Blumenkrantz
1670c40557
zink: defer present barrier to flush if a clear is pending
...
this otherwise submits the swapchain with the wrong layout
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28214 >
2024-03-21 13:05:04 +00:00
Christian Gmeiner
7e686fa417
etnaviv: isa: Define a dontcare bit in atomic instructions
...
Looks like it is the same as for ALU instructions: skpHp
This simplifies the special atomic handling a lot. Seen on blob
running a simple opencl shader on GC3000.
__kernel void kern(
__global int *a,
__global int *b,
__global int *result)
{
atomic_add(result, a[0]);
}
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28272 >
2024-03-21 12:24:35 +00:00
Iago Toral Quiroga
83f53be8c7
broadcom/ci: add skips for unsupported features
...
Currently 92% of our Vulkan CI tests hit "Not Supported" test
cases, which is ridiculously high. Add a bunch of skips, some
of which include very large categories of tests of features we
already know we don't support, so we stop wasting so much time
skipping tests.
With this, we can also increase the fraction of tests we execute
for vulkan significantly, while still keeping job run times
under control.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28264 >
2024-03-21 11:47:50 +00:00
Eric Engestrom
795046a8d4
v3dv/ci: update expectations
...
A big chunk of the new flakes and timeouts are caused by enabling new
tests in f977e4d4f5
("v3dv: Enable
EXT_swapchain_maintenance1").
I'm not quite sure what happened with
`dEQP-VK.wsi.wayland.swapchain.simulate_oom.*` but now at least half of
them are flaky on rpi4 (between Skip and Crash), so moving the whole
block to flakes. On rpi5 I haven't seen them flake yet so tentatively
removing them entirely, but there's a good chance the issue is common
and they'll have to be put into flakes on rpi5 at some point as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28316 >
2024-03-21 11:20:18 +00:00
Samuel Pitoiset
4b065fe863
zink/ci: update CI lists
...
This seems to have been fixed quite recently.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28315 >
2024-03-21 10:38:18 +01:00
Christian Gmeiner
e0ca29e7a3
isaspec: deocde: Remove generic functions from public interface
...
This will switch everyone to the isa specific functions.
Fixes the output of etnaviv's pre_instr_cb callback if
freedreno and etnaviv are build at the same time.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
3f2295d99b
isaspec: decode: Add libisaspec
...
Create a static library that just contains isa_print(..). We
need to do this step to make lto happy.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
878fa2032e
isaspec: deocde: Make isa_decode_field(..) private
...
Without this change the isa_decode_field(..) uses the wrong bitmask_t
type (freedreno: array with 2 elements, etnaviv: array with 4 elements)
and weird things happens.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
872f714e32
isaspec: deocde: Make isa_bitset arrays static
...
Without this commit etnaviv_isa_disasm(..) will call into
find_field(..) and use the bitsets are the one from freedreno.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
1196b82815
etnaviv: isa: Rework meson dependency for libetnaviv_decode
...
Any component that links against libetnaviv_decode should not need to
take care if the generated isa files exists.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
f396899983
freedreno/isa: Rework meson dependency for libir3decode
...
Any component that links against libir3decode should not need to
take care if the generated isa files exists.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
505ec13f87
isaspec: decode: Make isa_decode_bitset(..) private
...
Fixes lto issues later in the series.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
77872bec95
isaspec: decode: Add isa specific functions
...
In the end we want to only the specific functions and remove
the generic ones from the public interface.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
16e8a3548f
isaspec: deocde: Hide all the internals ISA details
...
There are no users of these defines, structs and functions
outside of the generated isa.c file. I left the empty header
as it will be used in later commits.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:18 +00:00
Christian Gmeiner
08e899852b
isaspec: Remove not used isa_decode_hook
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28176 >
2024-03-21 07:51:17 +00:00
Marek Olšák
651191801a
gallium: increase the size of pipe_box y, height fields to allow bigger textures
...
and reorder the fields to pack them better
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27953 >
2024-03-21 03:33:39 +00:00
Marek Olšák
bfdbfd6ade
gallium: use u_box_3d to initialize pipe_box instead of non-designated initializers
...
This is the original utility for initializing pipe_box.
It prevents breakage when pipe_box fields are reordered.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27953 >
2024-03-21 03:33:39 +00:00
Karol Herbst
dc57c6b59e
rusticl/util: make create_pipe_box indepentend of pipe_box's field types
...
This way one can freely change the types of fields inside pipe_box without
running into compilation errors here.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27953 >
2024-03-21 03:33:39 +00:00
Patrick Lerda
0fd907fc7b
ac/llvm,radeonsi: fix memory leaks triggered by ac_nir_translate() errors
...
For instance, this issue is triggered with
"piglit/bin/glslparsertest tests/spec/arb_bindless_texture/compiler/images/arith-bound-image.frag pass 3.30 GL_ARB_bindless_texture GL_ARB_shader_image_load_store":
Direct leak of 176 byte(s) in 1 object(s) allocated from:
#0 0x7f84c3fbe9a7 in calloc (/usr/lib64/libasan.so.6+0xb19a7)
#1 0x7f84ba7e0801 in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4391
#2 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759
#3 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836
#4 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874
#5 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176
#6 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309
#7 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#8 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a)
Direct leak of 136 byte(s) in 1 object(s) allocated from:
#0 0x7f84c3fbff57 in operator new(unsigned long) (/usr/lib64/libasan.so.6+0xb2f57)
#1 0x7f84b1a5f749 in LLVMCreateBuilderInContext (/usr/local/lib64/libLLVM-17.so+0xc84749)
#2 0x7f84ba7817b0 in ac_llvm_context_init ../src/amd/llvm/ac_llvm_build.c:54
#3 0x7f84ba542b7a in si_llvm_context_init ../src/gallium/drivers/radeonsi/si_shader_llvm.c:120
#4 0x7f84ba542b7a in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:832
#5 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874
#6 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176
#7 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309
#8 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#9 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a)
Indirect leak of 176 byte(s) in 1 object(s) allocated from:
#0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118
#2 0x7f84b81b9fee in rzalloc_size ../src/util/ralloc.c:152
#3 0x7f84b81b9fee in rzalloc_array_size ../src/util/ralloc.c:232
#4 0x7f84b81b05c7 in _mesa_hash_table_init ../src/util/hash_table.c:163
#5 0x7f84b81b05c7 in _mesa_hash_table_create ../src/util/hash_table.c:186
#6 0x7f84ba7e06ae in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4381
#7 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759
#8 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836
#9 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874
#10 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176
#11 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309
#12 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#13 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a)
Indirect leak of 176 byte(s) in 1 object(s) allocated from:
#0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118
#2 0x7f84b81b9fee in rzalloc_size ../src/util/ralloc.c:152
#3 0x7f84b81b9fee in rzalloc_array_size ../src/util/ralloc.c:232
#4 0x7f84b81b05c7 in _mesa_hash_table_init ../src/util/hash_table.c:163
#5 0x7f84b81b05c7 in _mesa_hash_table_create ../src/util/hash_table.c:186
#6 0x7f84ba7e06e4 in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4382
#7 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759
#8 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836
#9 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874
#10 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176
#11 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309
#12 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#13 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a)
Indirect leak of 128 byte(s) in 1 object(s) allocated from:
#0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118
#2 0x7f84b81b046c in _mesa_hash_table_create ../src/util/hash_table.c:182
#3 0x7f84ba7e06e4 in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4382
#4 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759
#5 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836
#6 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874
#7 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176
#8 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309
#9 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#10 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a)
Indirect leak of 128 byte(s) in 1 object(s) allocated from:
#0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef)
#1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118
#2 0x7f84b81b046c in _mesa_hash_table_create ../src/util/hash_table.c:182
#3 0x7f84ba7e06ae in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4381
#4 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759
#5 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836
#6 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874
#7 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176
#8 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309
#9 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#10 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a)
SUMMARY: AddressSanitizer: 920 byte(s) leaked in 6 allocation(s).
Fixes: d92d35c9db
("ac/llvm: add a return value to ac_nir_translate")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28099 >
2024-03-21 00:51:19 +00:00
Ian Romanick
3556dbb97f
intel/brw/xe2: Correctly disassemble RT write subtypes
...
The encoding changed when SIMD32 was added.
Part of Wa_14011334914.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
871805215a
iris/xe2+: Disable coherent framebuffer fetch.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
c4325f426c
intel/brw/xe2+: Setup PS thread payload registers required for ALU-based pixel interpolation.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
6427f16074
intel/brw/gfx12: Setup PS thread payload registers required for ALU-based pixel interpolation.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Rohan Garg
2df6d208c8
intel/brw: Adjust src1 length bits for xe2+
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Rohan Garg
83f2bdc116
intel/brw: Set the right cache control bits for xe2
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Rohan Garg
adb853ed10
intel/brw: Update written size depending on the LSC message
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Rohan Garg
48376ac3b8
intel/brw: Cleanup send generation
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Rohan Garg
65f66974a5
intel/brw: Use the dimensions supplied in the instruction
...
Rework:
* Francisco Jerez: Rebase on 07b9bfacc7
("intel/compiler: Move
logical-send lowering to a separate file")
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
644a0ede1e
intel/blorp/xe2+: Don't use replicated-data clears.
...
They've been removed from the hardware.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
af8b9af700
intel/brw/xe2+: Allow dual-source blending in SIMD16 mode.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
762ec3fd59
intel/brw/xe2+: Allow FS stencil output in SIMD16 dispatch mode.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
efc0601ddf
intel/brw/xe2+: Double allowed SIMD width of FB write SEND messages.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
d96bfb160f
intel/brw/xe2+: Update encoding of FB write extended descriptor.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
189422de1b
intel/brw/xe2+: Update encoding of FB write descriptor message control.
...
Ref: bspec: 65209, 63908
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Francisco Jerez
7b0fbc22dd
intel/brw/xe2: Render target reads have been removed from the hardware.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28306 >
2024-03-20 15:46:44 -07:00
Paulo Zanoni
6ec1e322f0
anv: don't leak device->vma_samplers
...
The vma_samplers vma heap is initialized unconditionally. Don't use
device->physical->indirect_descriptors as a condition on whether to
free it or not.
From my TGL machine:
==373617== 32 bytes in 1 blocks are definitely lost in loss record 1 of 1
==373617== at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==373617== by 0x6926DC0: util_vma_heap_free (vma.c:339)
==373617== by 0x6925ED3: util_vma_heap_init (vma.c:53)
==373617== by 0x5334EDA: anv_CreateDevice (anv_device.c:3404)
==373617== by 0x685593A: vk_tramp_CreateDevice (vk_dispatch_trampolines.c:78)
==373617== by 0x48A6D56: terminator_CreateDevice (loader.c:5833)
==373617== by 0x9C2293F: vulkan_layer_chassis::CreateDevice(VkPhysicalDevice_T*, VkDeviceCreateInfo const*, VkAllocationCallbacks const*, VkDevice_T**) (chassis.cpp:497)
==373617== by 0x48B0690: loader_create_device_chain (loader.c:4937)
==373617== by 0x48B1327: loader_layer_create_device (loader.c:4317)
==373617== by 0x48B8D79: vkCreateDevice (trampoline.c:1004)
==373617== by 0x10CC7A: MyApp::MyApp(int, bool) (sparse.cpp:608)
==373617== by 0x1201E8: main (sparse.cpp:6025)
Fixes: 7c76125db2
("anv: use 2 different buffers for surfaces/samplers in descriptor sets")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28303 >
2024-03-20 21:55:55 +00:00
Rob Clark
5ee8fd6b49
freedreno/a6xx: Fix z/s preserving sysmem clear blit
...
Need to ignore color attachments in that logic.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10466
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28249 >
2024-03-20 21:28:40 +00:00
Mary Strodl
42ad4c6e6e
rusticl: set OCL_ICD_VENDORS as directory, not file
...
Looks like `OCL_ICD_VENDORS` is meant to be a directory containing
`.icd` files, but we were giving it a path to a driver. This meant that
rusticl wouldn't get picked up when using devenv.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28231 >
2024-03-20 16:12:22 -04:00
Lionel Landwerlin
4fbdfdce9c
anv: allocate pipeline bindings tables dynamically on the heap
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28290 >
2024-03-20 19:29:05 +00:00
Lionel Landwerlin
7730fa5683
anv: track embedded sampler counts in layouts
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28290 >
2024-03-20 19:29:05 +00:00
Juston Li
dc1069b167
venus: extend device format prop cache with VkFormatProperties3
...
Extend the vkGetPhysicalDeviceFormatProperties2 cache to include
VkFormatProperties3 from the pNext chain. VkFormatProperties3 was
observed being always attached for DXVK and thus skipping the cache
if not handled.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28194 >
2024-03-20 19:12:00 +00:00
Joshua Ashton
aecd46182d
lavapipe: Enable EXT_swapchain_colorspace
...
No-op.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28275 >
2024-03-20 18:24:26 +00:00
Joshua Ashton
fc263e0308
v3dv: Enable EXT_swapchain_colorspace
...
No-op.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28275 >
2024-03-20 18:24:26 +00:00
Joshua Ashton
5c49f3c1aa
lavapipe: Enable EXT_swapchain_maintenance1
...
This was missing, this is implemented in common code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28275 >
2024-03-20 18:24:26 +00:00
Joshua Ashton
f977e4d4f5
v3dv: Enable EXT_swapchain_maintenance1
...
This was missing, this is implemented in common code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28275 >
2024-03-20 18:24:25 +00:00
Joshua Ashton
145ab5b853
anv: Enable EXT_swapchain_maintenance1
...
This was missing, this is implemented in common code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28275 >
2024-03-20 18:24:25 +00:00
Rhys Perry
76e089ea48
aco/cssa: update comments
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28248 >
2024-03-20 17:50:27 +00:00
Rhys Perry
0c0819f0da
aco/cssa: reset equal_anc_out if merging fails
...
try_merge_merge_set() expects equal_anc_out to be Temp() in the beginning,
so we need to reset it in case it's used again.
Fixes compilation of metro_exodus/163b3b895730d37b with
VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 18ba93e673
("aco/cssa: rewrite lower_to_cssa pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28248 >
2024-03-20 17:50:27 +00:00
Mark Collins
f72cd2eae7
fd/decode: Fix "OPTSIONS" typo in help messages
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
8b4b252674
fd/replay: Use generate_rd as default CS generator
...
The generate_rd from the same directory as the replay executable is
used as the default CS generator.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
69d347e42f
fd/decode: Build generate_rd executable rather
...
A seperate meson project with mesa as a subproject was required to
compile the generate_rd executable for replaying rddecompiler
generated source. That approach was overly complicated, now the
generate_rd executable is now compiled as a part of building the
freedreno tools with a blank generate-rd.cc file that can be replaced
with the source generated by rddecompiler.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
bdd89dad1c
fd/rddecompiler: Disable IR3 cache for replay context
...
The cache being enabled results in some warning logs, it's not
necessary for rddecompiler either way.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
fc9e718a86
fd/replay+rddecompiler: Add option to clear wrbufs at start
...
It's useful to clear buffers at the start of sequences to view the
delta, this adds that functionality to wrbufs with a fixed clear
value of 0xDEADBEEF.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
694ed34673
fd/replay: Error when VMA AS allocation fails
...
It's possible for large allocations to hit the maximum address
space size especially with a fake AS, these failures are silent
and can cause a hard to debug segfault later down the line.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
e0a680162d
fd/replay: Add wrbuf support for KGSL/DXG
...
The vector for wrbufs wasn't being initialized for KGSL and DXG
leading to UB when they were used with it.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
0fad4e547b
fd/replay: Clear wrbufs after submitting cmdstreams for DRM
...
Retaining them across submissions was a bug, the wrbuf should only
be dumped for the submission it originates from.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
011cacd982
fd/replay: Clamp dumped wrbuf to buffer size
...
We should be careful to not read past the end of any buffers when
dumping wrbufs, this clamps the size to the size of the buffer with
a warning.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
e10202fdf4
fd/replay: Dump wrbuf into cwd rather than exe directory
...
It didn't make any sense to output into the bin directory, it has
been replaced with the working directory instead.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:08 +00:00
Mark Collins
d043ebc941
fd/replay: Fix wrbuffer name extraction
...
The offset for reading and length calculation logic was incorrect
leading to the name string being entirely incorrect.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28253 >
2024-03-20 17:34:07 +00:00
Zan Dobersek
1e27138588
freedreno/fdl: avoid overflow in layout size computations
...
When computing layout for large extents and array size, the computations
can overflow the 32-bit variables holding these values. This can end up
underreporting memory requirements for a given resource, making the
application think that such a resource is allocatable.
The size-holding variables in the fdl_layout struct have their type
upgraded to uint64_t, as does the total size variable in tu_image. This
avoids problems in corner-case tests in the Vulkan CTS, but this code
should be improved further to avoid overflows and narrowing conversions.
Fixes a quartet of tests under
dEQP-VK.pipeline.monolithic.render_to_image.core.2d_array.huge.width_height_layers.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28050 >
2024-03-20 17:05:55 +00:00