Mike Blumenkrantz
11dd9e4ee4
zink: use static array for detecting VK_TIME_DOMAIN_DEVICE_EXT
...
there's only a few possible values for this, so just use a static array
to avoid leaking
Fixes: 039078fe97 ("zink: slight refactor of load_device_extensions()")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13360 >
2021-10-19 00:02:39 +00:00
Neha Bhende
061610a7dd
st: Fix comments in commit be6d584de4
...
This patch is adding comments as suggested by Ilia in MR
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13423 >
2021-10-18 21:30:03 +00:00
Karol Herbst
753f595e3d
clover/api: fix clGetMemObjectInfo for images
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13424 >
2021-10-19 06:55:38 +10:00
Karol Herbst
b4f9b15dd0
clover/formats: pass in cl_mem_flags for better format checking
...
This allows us to advertise more formats depending on how the image is
getting used inside a kernel.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13424 >
2021-10-19 06:55:34 +10:00
Karol Herbst
f09e6c1c5f
clover/format: Full rework on how we declare supported images.
...
While at it also remove CL_LUMINANCE and CL_INTENSITY, which are optional
but also quite broken.
Also advertize all formats we can already support and make the list easier
to read. Also adds support for newer formats.
v2: fixup packing for non-8 bits (airlied)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13424 >
2021-10-19 06:55:22 +10:00
Neha Bhende
be6d584de4
st: Fix 64-bit vertex attrib index for TGSI path
...
Patch 77c2b022a0 removed lowering of 64-bit vertex attribs to 32bits.
This has thrown TGSI translation off the guard for 64bit attrib.
This lead to fail/crash of 1000+ piglit tests.
This patch basically fixes 64 bit attrib index for TGSI shader by adding placeholder
for second part of a double attribute.
It fixes all regressed piglit tests.
A big help from Charmaine to fix this regression
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Fixes: 77c2b022a0 ("st/mesa: remove lowering of 64-bit vertex attribs to 32 bits")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13363 >
2021-10-18 19:02:55 +00:00
Marek Olšák
e65d6f45d2
radeonsi: reorder and don't print patch level DRM version in the renderer string
...
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13392 >
2021-10-18 18:37:09 +00:00
Marek Olšák
f9d7db0262
ac,radeonsi: print a lowercase codename in the renderer string
...
to make it stand out less
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13392 >
2021-10-18 18:37:09 +00:00
Marek Olšák
cbcdcd42fc
radeonsi: enable shader culling on Navi1x consumer SKUs as well
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13393 >
2021-10-18 18:08:59 +00:00
Marek Olšák
8cf802e8ef
radeonsi: replace the GS prolog with a monolithic shader variant
...
It only exists because of the hw bug and is used very rarely.
Let's simplify it.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13393 >
2021-10-18 18:08:59 +00:00
Marek Olšák
62798d2c1f
radeonsi: don't pass NULL into si_get_nir_shader
...
so that we always have the shader key there
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13393 >
2021-10-18 18:08:59 +00:00
Danylo Piliaiev
3350957f3c
drirc: Apply vk_dont_care_as_load workaround to Forsaken Remastered
...
Game has one renderpass which loads attachment with DONT_CARE, does
nothing, and writes it back.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5437
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367 >
2021-10-18 17:26:41 +00:00
Danylo Piliaiev
ebca227db1
turnip: implement vk_dont_care_as_load workaround
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367 >
2021-10-18 17:26:41 +00:00
Danylo Piliaiev
3d69800a0b
driconf: add vk_dont_care_as_load workaround option
...
It's easy to make a mistake of using VK_ATTACHMENT_LOAD_OP_DONT_CARE
when LOAD_OP_LOAD should be used since all desktop GPUs do the same
thing (nothing) for both of them.
However tiler GPUs do actually care about them.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367 >
2021-10-18 17:26:41 +00:00
Danylo Piliaiev
fd31989ecb
turnip: add support for dirconf
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367 >
2021-10-18 17:26:41 +00:00
Samuel Pitoiset
5b797bd485
radv: fix OpImageQuerySamples with non-zero descriptor set
...
The descriptor set was always 0 because it wasn't gathered by the
shader info pass.
This fixes CPU crashes with
arb_shader_texture_image_samples-builtin-image and Zink.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13411 >
2021-10-18 16:47:50 +00:00
Connor Abbott
de568c3b2c
tu/clear_blit: Stop creating a franken-image for staging blits
...
Extricate the last use of tu_image_*.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:39 +00:00
Connor Abbott
9803c1aa10
tu: Remove cross-check scaffolding
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:39 +00:00
Connor Abbott
d785aea530
tu: Switch clear/blit to fdl6_view and cross-check
...
This will help us create staging resources with a Y8 format and avoids
calling into the Vulkan-level entrypoints which will have to be changed
to use vk_image and vk_image_view.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:39 +00:00
Connor Abbott
1874e12f19
tu: Use fdl6_view in tu_image_view and cross-check
...
Because some of the fields aren't filled out when a format doesn't
support rendering, we temporarily clear the structure so that we can
compare.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:39 +00:00
Connor Abbott
5509132a80
freedreno/fdl: Add fdl6_view
...
This is mostly based on tu_image_view. The notable difference is that we
don't handle choosing the correct plane out of multiple planes when
indicated by the aspect, which means that there is no equivalent of
VK_IMAGE_ASPECT_PLANE_1 etc. This is expected to be done in the driver,
and note that freedreno gallium handles this very differently anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:38 +00:00
Connor Abbott
464b9d6bf1
freedreno/fdl: Add mip_level to fdl_layout
...
We need this when calculating the descriptors in the image view.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:38 +00:00
Connor Abbott
7bcccd1f08
freedreno/fdl: Constify fdl6_get_ubwc_blockwidth()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:38 +00:00
Connor Abbott
7a90aa8d2e
vk/format, v3dv: Add a vulkan -> pipe swizzle helper
...
And use it to replace the one in v3dv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359 >
2021-10-18 16:00:38 +00:00
Pierre-Eric Pelloux-Prayer
7a2e40df5e
Revert "gallium: add a is_dri_blit_image bool to pipe_blit_info"
...
This reverts commit 22a1b7c5b3 .
The only use was radeonsi and it switched to PIPE_BIND_DRI_PRIME
instead.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 17:16:53 +02:00
Pierre-Eric Pelloux-Prayer
ec2eff8f38
radeonsi: use PIPE_BIND_DRI_PRIME instead of is_dri_blit_image
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 17:16:53 +02:00
Pierre-Eric Pelloux-Prayer
1863b761a6
radeonsi/gfx10.3: enable SDMA for DRI_PRIME copies
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 17:16:53 +02:00
Pierre-Eric Pelloux-Prayer
8791e831b1
winsys/amdgpu: add uncached flag to the imported DRI_PRIME buffer
...
There's no point in caching this linear buffer since we're only
ever writing to it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 17:16:53 +02:00
Pierre-Eric Pelloux-Prayer
a905072521
radeon_winsys.h: add a parameter to buffer_from_handle
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 17:16:53 +02:00
Pierre-Eric Pelloux-Prayer
e9c3dbd046
gallium/dri: let the driver know if the imported image is DRI_PRIME buffer
...
Use createImageFromFds2 together with __DRI_IMAGE_PRIME_LINEAR_BUFFER, so
the driver's resource_from_handle hook will be aware that this specific
image is the linear buffer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 16:24:00 +02:00
Pierre-Eric Pelloux-Prayer
7a5de84249
gallium/dri: add createImageFromFds2
...
Same as createImageFromFds but with added flags so the caller can give
the driver more context.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 16:23:58 +02:00
Pierre-Eric Pelloux-Prayer
48551a1807
gallium/dri: replace bool with flag parameter
...
This will allow to pass more information.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362 >
2021-10-18 16:23:56 +02:00
Witold Baryluk
ae525da0e4
zink: Fully initialize VkBufferViewCreateInfo for hashing
...
Makes hashing achieve higher hit rate, and valgrind happier.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13371 >
2021-10-18 13:53:26 +00:00
Juan A. Suarez Romero
4878e35159
v3dv/ci: update expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13407 >
2021-10-18 11:48:30 +00:00
Pierre-Eric Pelloux-Prayer
234c69f600
radeonsi: use viewport offset in quant_mode determination
...
Instead of only using the viewport extent.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5344
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13382 >
2021-10-18 11:15:54 +00:00
Vinson Lee
9eb010ee1e
anv: Fix assertion.
...
Fix defect reported by Coverity Scan.
Assign instead of compare (PW.ASSIGN_WHERE_COMPARE_MEANT)
assign_where_compare_meant: use of "=" where "==" may have been intended
Fixes: 35315c68a5 ("anv: Use the common wrapper for GetPhysicalDeviceFormatProperties")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13395 >
2021-10-18 09:04:47 +00:00
Samuel Pitoiset
61be0bd34b
radv: fix removing PSIZ when it's not emitted by the last VGT stage
...
This dereferences a NULL pointer and crash many tests with Zink.
Fixes: 92e1981a80 ("radv: Remove PSIZ output when it isn't needed.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13378 >
2021-10-18 08:54:53 +02:00
Aaron Watry
91ff83b6c8
clover/image: add dimension property
...
With that we can fix CL_IMAGE_HEIGHT and CL_IMAGE_DEPTH.
v2 (Karol Herbst): split up commit
(Serge Martin): convert to virtual method
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:28:20 +10:00
Edward O'Callaghan
786987c447
clover: Implement CL_MEM_OBJECT_IMAGE1D_ARRAY
...
v2: Consider surface height as valid when unused by using 1.
Fixup width boundary checking.
v3 (Karol): Pull in changes from later commits
Fix validation
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:24:15 +10:00
Edward O'Callaghan
3200669c2b
clover: Implement CL_MEM_OBJECT_IMAGE1D_BUFFER
...
v2: Consider surface height as valid when unused by using 1.
Fixup width boundary checking.
v3 (Karol): Pull in changes from later commits
v4:(airlied): use max_buffer_size as the limit (Fixes CTS test)
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:23:41 +10:00
Edward O'Callaghan
0ec5e50d8a
clover: Implement CL_MEM_OBJECT_IMAGE2D_ARRAY
...
v2: Ensure we pass in row_pitch state as well.
v3 (Karol): Pull in changes from later commits
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:23:00 +10:00
Aaron Watry
0abfbb76ff
clover: implement CL_IMAGE_BUFFER
...
We will also need it to implement image1Dbuffer_t
v2 (Karol Herbst): extracted from other commit
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:22:41 +10:00
Edward O'Callaghan
3298ee546e
clover/images: Add array_size to implement CL_IMAGE_ARRAY_SIZE
...
This will be needed to implement array immages.
v2 (Karol Herbst): Extracted from other commit
Fix clEnqueueMapImage for arrays
Add some basic support for image arrays
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:22:21 +10:00
Karol Herbst
029f22e430
clover/image: add templated basic_image class to simplify image subclassing
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:22:01 +10:00
Karol Herbst
f6ecd284e5
spirv: Don't add 0.5 to array indicies for OpImageSampleExplicitLod
...
This fixes CLs 1.2 1Darray and 2Darray images.
Fixes: 589d918a4f
("spirv: Add 0.5 to integer coordinates for OpImageSampleExplicitLod")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401 >
2021-10-18 12:21:52 +10:00
Juan A. Suarez Romero
ab2cfeba48
vc4/ci: update expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13397 >
2021-10-17 23:41:02 +02:00
Dave Airlie
17a565e0cf
llvmpipe: fix userptr for texture resources.
...
This is needed for CL image hostptr support, but it's possible
it could hit these paths from GL/Vulkan
Fixes: 9a57dceeb7 ("llvmpipe: add support for user memory pointers")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13375 >
2021-10-18 06:30:07 +10:00
Alyssa Rosenzweig
d31ca63527
panfrost: Don't allow rendering/texturing 48-bit
...
Matches freedreno. Fixes crashes in Piglit arb_texture_view.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13394 >
2021-10-16 23:49:13 +00:00
Derek Foreman
28d12716e8
egl/wayland: Properly clear stale buffers on resize
...
The following chain of events results in an incorrectly sized buffer
persisting beyond its useful lifetime, and causing visual artifacts.
buffer is attached at size A
window is resized to size B
rendering takes place for size B
window is resized back to size A
swapbuffers with damage is called
In this scenario, update_buffers fails to recognize that the surface it's
about to commit is a different size than it has rendered. The
attached_width and attached_height are set incorrectly, and periodic
flickering is observed.
Instead, we set a boolean flag at time of resize and use this at the time
we latch the window dimensions as surface dimensions to decide whether to
discard stale buffers.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13270 >
2021-10-16 19:13:58 +00:00
Marek Olšák
885f9b3b75
radeonsi: don't memcmp inlined uniform values if uniform inlining is disabled
...
This uses a C++ template to compute the memcmp size at compile time,
which is important for getting inlined memcmp.
There are 4 different key sizes now:
GE with inlined uniforms: 68 bytes
GE without inlined uniforms: 52 bytes
PS with inlined uniforms: 28 bytes
PS without inlined uniforms: 12 bytes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13285 >
2021-10-16 10:41:51 +00:00