Samuel Pitoiset
ca2d2ea60b
zink/ci: skip one more test that timeout with RADV
...
It usually takes more than 60s to run.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21564 >
2023-02-27 18:23:38 +01:00
Karol Herbst
4fb0adc43c
ci/zink: move threading tests to flakes
...
We have some failed CI jobs where some of those tests randomly pass.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21561 >
2023-02-27 17:05:20 +00:00
Yonggang Luo
669a68489d
meson: Use sse2_arg and sse2_args to replace usage of c and c_sse2_args
...
And now c_sse2_arg and c_sse2_args are remvoed
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21375 >
2023-02-27 13:50:11 +00:00
Mike Blumenkrantz
7c8a5f6e37
vulkan/wsi: switch to using an options struct for last param
...
this makes adding values easier since the drivers won't need to be updated
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21447 >
2023-02-27 13:21:21 +00:00
Georg Lehmann
9f155c21c3
amd: d16 uses rtz conversion for 32bit float
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21404 >
2023-02-27 09:55:34 +00:00
Georg Lehmann
77252687fa
amd: don't use d16 for integer loads
...
D16 saturates to min/max instead of just truncating.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21404 >
2023-02-27 09:55:34 +00:00
Georg Lehmann
a00b50d820
nir: change 16bit image dest folding option to per type
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21404 >
2023-02-27 09:55:34 +00:00
Mike Blumenkrantz
34e7c17cfe
lavapipe: EXT_image_sliced_view_of_3d
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21514 >
2023-02-27 07:49:48 +00:00
Mike Blumenkrantz
52f27cda05
zink: allow direct memory mapping for any COHERENT+CACHED buffer
...
some drivers may provide this in heaps that get used by non-staging resources,
so avoid extra copies in that case
unlike the previous attempt at this optimization, this utilizes the screen-based
context for thread-safe transfers, which should avoid races/crashes
fix #8171
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21452 >
2023-02-27 03:50:14 +00:00
Mike Blumenkrantz
d78de2a962
zink: add locking for zink_screen::copy_context and defer creation
...
the copy context isn't always used, so this allows its creation to
be deferred and potentially save a bunch of memory
also add locking for multi-context thread safety
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21452 >
2023-02-27 03:50:14 +00:00
Mike Blumenkrantz
a7b98dd4be
zink: avoid adding ubo/ssbo bindings multiple times for different bitsizes
...
these are valid variables, but the descriptor binding needs to be unique
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Mike Blumenkrantz
db1af91f1b
zink: simplify/rework image typing in ntv
...
the array approach was broken if a shader contained both bindless
and non-bindless resources, whereas a hash table is simpler and can
handle both images and samplers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Mike Blumenkrantz
ac5f72a023
zink: delete unused emit_image param in ntv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Mike Blumenkrantz
fb4fd03db9
zink: fix bindless texture barrier generation
...
whenever I redid barriers I forgot to handle bindless textures,
which meant they weren't getting barriers added
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Mike Blumenkrantz
75e9ba85de
zink: rework descriptor unbind params to use is_compute directly
...
much simpler
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Mike Blumenkrantz
ddb116d755
zink: fix shader read access removal for barrier generation
...
barrier access is based on total binds per gfx/compute, not per stage
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Mike Blumenkrantz
00288d4f53
zink: delete dead uniform variables
...
this just obfuscate nir, so delete them now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21522 >
2023-02-27 03:11:44 +00:00
Alyssa Rosenzweig
760f367386
agx: Lower sampler LOD bias
...
G13 does not support sampler descriptor LOD biasing, so this needs to be lowered
to shader code for APIs that require this functionality. Add an option to do
this lowering while doing our other backend texture lowerings. This generates
lod_bias_agx texture instructions which the driver is expected to lower
according to its binding model.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21276 >
2023-02-27 02:35:41 +00:00
Alyssa Rosenzweig
23f271833f
asahi: Lower lod_bias_agx to uniform registers
...
Track the LOD bias of samplers and upload them at draw time to uniform
registers. This could be optimized in the future.
Vulkan will probably want to pull from a descriptor set instead.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21276 >
2023-02-27 02:35:41 +00:00
Qiang Yu
822e756511
ac/llvm,radeonsi: lower fbfetch in abi
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21436 >
2023-02-27 09:43:53 +08:00
Qiang Yu
28c2527e42
radeonsi: add num_component param to load_internal_binding
...
Prepare for different component number, ie. 8 when image desc.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21436 >
2023-02-27 09:39:41 +08:00
Qiang Yu
5c44404b5f
ac/llvm,radeonsi: lower nir_load_barycentric_at_sample in abi
...
RADV already did this in radv_lower_fs_intrinsics().
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21436 >
2023-02-27 09:39:41 +08:00
Giancarlo Devich
cb7403b909
d3d12: Track up to 16 active context resource states locally in d3d12_bo
...
After 16 entries, we fall back to the previous logic that used a hash
map to link the resource's state per context.
Preventing hash map churn by cheaply tracking up to 16 context's worth
of states per resource significantly reduces CPU cost in
find_or_create_state_entry
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21528 >
2023-02-25 18:14:37 +00:00
Giancarlo Devich
2c00c069fe
d3d12: Assign up to 16 simultaneously active contexts unique IDs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21528 >
2023-02-25 18:14:37 +00:00
Giancarlo Devich
bd0e1b3d02
d3d12: Move d3d12_context_state_table_entry to d3d12_resource_state.h
...
Also renamed desired_resource_state to d3d12_desired_resource_state,
since it's also in the header now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21528 >
2023-02-25 18:14:37 +00:00
Rob Clark
6a28986eb4
tu+meson: Re-work KMD selection
...
Now that turnip can support multiple kernel-mode drivers in a single
build, re-work the meson option to have a single list of KMDs, rather
than special options to enable kgsl for turnip or virtio for gallium.
It is temporarily a bit awkward as gallium does not yet support kgsl
and turnip does not yet support virtio. But both of those are planned
or in-progress, so long term a single list is the most sensible option.
TODO freedreno/drm support to build with only virtio support.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21394 >
2023-02-25 17:02:34 +00:00
Gert Wollny
182066538f
r600/sfn: Fix minimum required registers
...
Don't count the local registers, just the arrays, because local
registers might be renamed during register allocation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8100
Fixes: 9fd9f3cd10
r600/sfn: Set minimum required registers based on array allocation
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21523 >
2023-02-25 14:01:55 +00:00
Philipp Zabel
297fda6cf1
zink: fix build with -Dvulkan-beta=true
...
Fix a build error with -Dvulkan-beta=true:
../src/gallium/drivers/zink/zink_screen.c: In function ‘zink_internal_create_screen’:
../src/gallium/drivers/zink/zink_screen.c:2764:20: error: ‘struct zink_device_info’ has no member named ‘have_KHR_portability_subset’
2764 | if (screen->info.have_KHR_portability_subset) {
| ^
../src/gallium/drivers/zink/zink_screen.c:2765:60: error: ‘struct zink_device_info’ has no member named ‘portability_subset_feats’
2765 | screen->have_triangle_fans = (VK_TRUE == screen->info.portability_subset_feats.triangleFans);
| ^
Fixes: e02cdb397e ("zink: prefer vulkan_core.h over vulkan.h")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21491 >
2023-02-25 00:23:56 +00:00
Mike Blumenkrantz
f1acdeba6b
zink: fix slab allocator sizing
...
now that the mem type is passed directly to pb, there have to be enough
slabs to allocate all the mem types (not heaps), so create memoryTypeCount
slabs to allow this
fixes #8369
Fixes: f6d3a5755f ("zink: zink_heap isn't 1-to-1 with memoryTypeIndex"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21526 >
2023-02-25 00:02:06 +00:00
Marek Olšák
9f1e6d8f70
nir,amd: add and use nir_intrinsic_load_esgs_vertex_stride_amd
...
This will emulate VGT_ESGS_RING_ITEMSIZE, which does the multiplication
for us. It's beneficial to stop setting VGT_ESGS_RING_ITEMSIZE to reduce
context rolls, and also the register will be removed in the future.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
df6380ddc9
amd: implement conformant TRUNC_COORD behavior for gfx11
...
For testing, the conformant behavior can be enabled by setting
conformant_trunc_coord to true manually and running this to enable
the conformant behavior in hw:
umr -w *.*.regTA_CNTL2 0x40000
The layer index rounding and TRUNC_COORD resetting workarounds can disabled
in the shader compiler.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
39fefeabee
radeonsi/gfx11: change the default of COMPUTE_DISPATCH_INTERLEAVE to 256
...
This is an internal recommendation.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
3e8bd05020
radeonsi: don't set PACKET_TO_ONE_PA for line stippling
...
A hw guy told me this.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
4ca32bbc79
radeonsi: reorganize si_init_depth_surface for better readability
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
f5a98ba30c
radeonsi: reorganize si_initialize_color_surface for better readability
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
236890608f
radeonsi: reorganize emit_db_render_state and simplify VRS code
...
for better readability
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
82926d93b4
radeonsi: don't clamp z_samples to fix Unreal Tournament 99
...
Fixes: a29218b5 - radeonsi/gfx11: always set MSAA_NUM_SAMPLES=0 for DCC_DECOMPRESS
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8261
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
26208698ae
radeonsi: rename esgs_itemsize -> esgs_vertex_stride
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
32b8d0c19d
radeonsi: correct and clean up obsolete vs_state_bits comments
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
23e7d44a88
radeonsi: always add 1 to lshs_vertex_stride now that LS_OUT_PATCH_SIZE is gone
...
LS_OUT_PATCH_SIZE limited the maximum value.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
b9c6ef7f51
radeonsi: remove unused VS_STATE_LS_OUT_PATCH_SIZE
...
This became unused when we switched to nir_lower_hs_inputs_to_mem.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
461b05c281
radeonsi: remove a gfx11 check in si_shader_gs (legacy GS)
...
Gfx11 doesn't support legacy GS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
f6d8e776fd
radeonsi: reformat emit_cb_render_state, create_blend_state, create_rs_state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
8e9968e3a1
radeonsi: remove returns from si_emit_global_shader_pointers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
98eee7dee3
amd: replace SI_BIG_ENDIAN with UTIL_ARCH_BIG_ENDIAN
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
e0c8b24e22
amd/registers: unify VRS combiner definition names between gfx103 and gfx11
...
use gfx11 names
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
091268944d
amd,radeonsi: remove unused LLVM functions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
d8b17b1752
radeonsi: disable Smart Access Memory because CPU access has large overhead
...
It will be remove completely in the next commit.
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8176
Cc: mesa-stable
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
d61cd39026
radeonsi: replace si_screen::has_out_of_order_rast with the radeon_info field
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00
Marek Olšák
5b85fa6031
radeonsi/gfx11: ignore alpha_is_on_msb because the hw ignores it
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21525 >
2023-02-24 21:27:24 +00:00