Mike Blumenkrantz [Thu, 4 May 2023 14:11:02 +0000 (10:11 -0400)]
zink: add ZINK_DEBUG=optimal_keys
it's otherwise very annoying to figure out why this may or may not be
available
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22854>
Mike Blumenkrantz [Thu, 4 May 2023 13:46:45 +0000 (09:46 -0400)]
zink: disable EXT_shader_object if !optimal_keys
this has the same requirements as GPL and then some
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22854>
Mike Blumenkrantz [Thu, 4 May 2023 13:46:07 +0000 (09:46 -0400)]
zink: break out optimal key handling into separate function
this is growing to be much larger than the original conditional
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22854>
Mike Blumenkrantz [Thu, 4 May 2023 13:43:26 +0000 (09:43 -0400)]
zink: move EXT_shader_object check to another place
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22854>
Lionel Landwerlin [Thu, 4 May 2023 07:58:34 +0000 (10:58 +0300)]
anv: increase instruction heap to 2Gb
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8917
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22847>
Lionel Landwerlin [Thu, 23 Feb 2023 07:59:45 +0000 (09:59 +0200)]
anv: make internal address space allocation more dynamic
We're about to manipulate these pools and dealing with the fix address
ranges is painful.
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/22847>
Lionel Landwerlin [Tue, 6 Dec 2022 14:32:49 +0000 (16:32 +0200)]
anv: link anv_bo to its VMA heap
We want to add more heaps in the future and so not having to do
address checks to find out in what heap to release a BO is convinient.
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/22847>
Lionel Landwerlin [Thu, 23 Feb 2023 07:50:02 +0000 (09:50 +0200)]
anv: avoid hardcoding instruction VA constant in shaders
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/22847>
Lionel Landwerlin [Thu, 23 Feb 2023 07:16:40 +0000 (09:16 +0200)]
anv: remove 48bit address space checks
All the supported platforms should have 36+ bits of virtual address
space.
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/22847>
Tapani Pälli [Thu, 4 May 2023 10:39:41 +0000 (13:39 +0300)]
isl: fix layout for comparing surf and view properties
These asserts were checking isl_format_layout against itself, change
to compare surface format layout against view format layout.
Fixes:
628bfaf1c6f ("intel/isl: Add some sanity checks for compressed surfaces")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22790>
Lionel Landwerlin [Mon, 3 Apr 2023 11:52:59 +0000 (14:52 +0300)]
intel/fs: fix scheduling of HALT instructions
With the following test :
dEQP-VK.spirv_assembly.instruction.terminate_invocation.terminate.no_out_of_bounds_load
There is a :
shader_start:
... <- no control flow
g0 = some_alu
g1 = fbl
g2 = broadcast g3, g1
g4 = get_buffer_size g2
... <- no control flow
halt <- on some lanes
g5 = send <surface>, g4
eliminate_find_live_channel will remove the fbl/broadcast because it
assumes lane0 is active at get_buffer_size :
shader_start:
... <- no control flow
g0 = some_alu
g4 = get_buffer_size g0
... <- no control flow
halt <- on some lanes
g5 = send <surface>, g4
But then the instruction scheduler will move the get_buffer_size after
the halt :
shader_start:
... <- no control flow
halt <- on some lanes
g0 = some_alu
g4 = get_buffer_size g0
g5 = send <surface>, g4
get_buffer_size pulls the surface index from lane0 in g0 which could
have been turned off by the halt and we end up accessing an invalid
surface handle.
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/20765>
Timur Kristóf [Tue, 25 Apr 2023 16:40:18 +0000 (18:40 +0200)]
amd: Cleanup old GS intrinsics code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Tue, 25 Apr 2023 16:20:57 +0000 (18:20 +0200)]
ac/nir/ngg: Use sendmsg in NGG lowering.
There is no need to use alloc_vertices_and_primitives anymore,
because it will be compiled to sendmsg anyway.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Tue, 25 Apr 2023 16:38:12 +0000 (18:38 +0200)]
ac/nir: Emit legacy GS DONE signal in NIR.
Legacy GS needs to emit a DONE signal at the end. Do this in NIR
instead of in the backends.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Tue, 25 Apr 2023 16:15:03 +0000 (18:15 +0200)]
ac/nir: Use sendmsg in legacy GS lowering.
Remove the GS intrinsics completely and emit the sendmsg here
instead of in the backend. This is done to simplify backend code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Tue, 25 Apr 2023 15:57:05 +0000 (17:57 +0200)]
ac/llvm: Clarify arguments of ac_build_sendmsg.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Tue, 25 Apr 2023 16:23:02 +0000 (18:23 +0200)]
amd: Move sendmsg defines to ac_shader_util.
Will be used by ac/nir legacy and NGG lowerings.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Wed, 26 Apr 2023 12:27:10 +0000 (14:27 +0200)]
amd: Add and implement gs_wave_id sysval.
Contains a global wave ID of legacy GS waves.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Tue, 25 Apr 2023 15:56:50 +0000 (17:56 +0200)]
amd: Add and implement sendmsg_amd intrinsic.
This intrinsic is going to be used for simplifying GS code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Timur Kristóf [Wed, 3 May 2023 16:58:36 +0000 (18:58 +0200)]
aco: Disallow constant propagation on SOPP and fixed operands.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690>
Rhys Perry [Thu, 27 Apr 2023 15:22:52 +0000 (16:22 +0100)]
aco/ra: create M0-affinities for s_sendmsg
v2 by Timur Kristóf:
Do not add the affinity for instructions that can't write m0
reliably, such as readlane-like instructions on GFX8.
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/22690>
Kenneth Graunke [Wed, 3 May 2023 09:05:16 +0000 (02:05 -0700)]
intel/compiler: UNDEF SubgroupInvocation's register
This value takes a few instructions to create, involving expanding
V-immediates, adding 8 for SIMD16, and so on. We can mark it UNDEF
so that it's clear that although these are partial writes, we are
actually defining the entire value.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22835>
Kenneth Graunke [Wed, 3 May 2023 08:49:56 +0000 (01:49 -0700)]
intel/compiler: UNDEF comparisons with smaller than 32-bit
Comparisons which produce 32-bit boolean results (0 or 0xFFFFFFFF)
but operate on 16-bit types would first generate a CMP instruction
with W or HF types, before expanding it out. This CMP is a partial
write, which leads us to think the register may contain some prior
contents still. When placed in a loop, this causes its live range
to extend beyond its real life time.
Mark the register with UNDEF first so that we know that no prior
contents exist and need to be preserved.
This affects:
flt32, fge32, feq32, fneu32, ilt32, ult32, ige32, uge32, ieq32, ine32
On one of Cyberpunk 2077's most complex compute shaders, this reduces
the maximum live registers from 696 to 537 (22.8%). Together with the
next patch, Cyberpunk's spills and fills are cut by 10.23% and 9.19%,
respectively.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22835>
Faith Ekstrand [Thu, 4 May 2023 04:11:35 +0000 (23:11 -0500)]
vulkan: Document vk_physical_device::supported_features
While we're here, move it to after supported extensions to stay
consistent with the vk_physical_device_init parameters.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22845>
antonino [Thu, 4 May 2023 14:54:03 +0000 (16:54 +0200)]
zink: take location_frac into account in pv emulation
The pv mode emulation code was not taking into account the location_frac
of variables, they where beeing stored in a 1D array leading to
collisions.
Fixes:
5a4083349f3 ("zink: add provoking vertex mode lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22856>
Illia Polishchuk [Fri, 21 Apr 2023 07:45:47 +0000 (10:45 +0300)]
nir: switch to a normal sampler for ARB program with not depth textures
It is undefined behavior when an ARB assembly or shadow2d GLSL func
uses SHADOW2D target with a texture in not depth format.
In this case AMD and NVIDIA automatically replaces SHADOW sampler
with a normal sampler and some games like Penumbra Overture which abuses
this UB works fine but breaks with mesa.
Replace the shadow sampler with a normal one here by recompiling
the ARB program variant
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8425
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22147>
Illia Polishchuk [Mon, 27 Mar 2023 17:11:15 +0000 (20:11 +0300)]
drirc: add allow_sampled_tex_copy option
From OpenGL spec 8.6
"An INVALID_OPERATION error is generated if the object bound to
READ_FRAMEBUFFER_BINDING is framebuffer complete and its effective
value of SAMPLE_BUFFERS (see section 9.2.3.1) is one"
But some games might do this
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8425
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22147>
Collabora's Gfx CI Team [Wed, 3 May 2023 06:16:46 +0000 (06:16 +0000)]
Uprev Piglit to
79a084c56b6dd79f7c3a97b57a72963121ebb1e6
https://gitlab.freedesktop.org/mesa/piglit/-/compare/
355ad6bcb2cb3d9e030b7c6eef2b076b0dfb4d63...
79a084c56b6dd79f7c3a97b57a72963121ebb1e6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22548>
Donald Robson [Wed, 3 May 2023 13:50:36 +0000 (14:50 +0100)]
pvr: Move heap initialisation out of pvr_winsys_helper.
This code will not be used by the new KMD, so it is being moved out of
this shared code area.
Signed-off-by: Donald Robson <donald.robson@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22826>
David Heidelberg [Wed, 3 May 2023 14:57:03 +0000 (16:57 +0200)]
panvk: clear dangling pointers
Fixes:
```
[829/1646] Compiling C object src/panfrost/vulkan/libpanvk_v6.a.p/panvk_vX_meta_clear.c.o
In function 'panvk_meta_clear_zs_img',
inlined from 'panvk_v6_CmdClearDepthStencilImage' at ../src/panfrost/vulkan/panvk_vX_meta_clear.c:457:7:
../src/panfrost/vulkan/panvk_vX_meta_clear.c:415:26: warning: storing the address of local variable 'view' in '((struct pan_fb_info *)((char *)commandBuffer + 144))[23].zs.view.zs' [-Wdangling-pointer=]
415 | fbinfo->zs.view.zs = &view;
| ~~~~~~~~~~~~~~~~~~~^~~~~~~
../src/panfrost/vulkan/panvk_vX_meta_clear.c: In function 'panvk_v6_CmdClearDepthStencilImage':
../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'view' declared here
393 | struct pan_image_view view = {
| ^~~~
../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'commandBuffer' declared here
[844/1646] Compiling C object src/panfrost/vulkan/libpanvk_v7.a.p/panvk_vX_meta_clear.c.o
In function 'panvk_meta_clear_zs_img',
inlined from 'panvk_v7_CmdClearDepthStencilImage' at ../src/panfrost/vulkan/panvk_vX_meta_clear.c:457:7:
../src/panfrost/vulkan/panvk_vX_meta_clear.c:415:26: warning: storing the address of local variable 'view' in '((struct pan_fb_info *)((char *)commandBuffer + 144))[23].zs.view.zs' [-Wdangling-pointer=]
415 | fbinfo->zs.view.zs = &view;
| ~~~~~~~~~~~~~~~~~~~^~~~~~~
../src/panfrost/vulkan/panvk_vX_meta_clear.c: In function 'panvk_v7_CmdClearDepthStencilImage':
../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'view' declared here
393 | struct pan_image_view view = {
| ^~~~
../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'commandBuffer' declared here
```
Cc: mesa-stable
Suggested-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22829>
Lionel Landwerlin [Thu, 1 Dec 2022 21:30:59 +0000 (23:30 +0200)]
anv: implement VK_KHR_ray_tracing_position_fetch
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <f{merge_request.web_url}>
Lionel Landwerlin [Fri, 2 Dec 2022 11:05:34 +0000 (13:05 +0200)]
intel/nir/rt: wire position fetch intrinsic
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <f{merge_request.web_url}>
Lionel Landwerlin [Fri, 2 Dec 2022 11:06:02 +0000 (13:06 +0200)]
intel/nir/rt: use a single load for instance leaf loading
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <f{merge_request.web_url}>
Lionel Landwerlin [Thu, 1 Dec 2022 15:09:22 +0000 (17:09 +0200)]
spirv/nir: wire ray interection triangle position fetch
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <f{merge_request.web_url}>
Lionel Landwerlin [Thu, 27 Apr 2023 12:49:41 +0000 (15:49 +0300)]
spirv: update to latest headers
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <f{merge_request.web_url}>
Lionel Landwerlin [Thu, 1 Dec 2022 14:44:53 +0000 (16:44 +0200)]
vulkan: bump headers to 1.3.249
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <f{merge_request.web_url}>
Jarred Davies [Fri, 17 Mar 2023 14:26:48 +0000 (14:26 +0000)]
pvr: Reduce free list initial size when multiple devices are created
Will hopefully reduce the memory load when running dEQP.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22330>
Jarred Davies [Wed, 22 Mar 2023 16:38:43 +0000 (16:38 +0000)]
pvr: Use vk_device's enabled features struct
Avoids duplicating the struct in pvr_device and fixes uninitialized
accesses when ppEnabledFeatures was NULL.
Noticed when running valgrind over dEQP.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22331>
Jarred Davies [Fri, 24 Mar 2023 17:58:49 +0000 (17:58 +0000)]
pvr: Don't ralloc build context from compiler
rogue_compiler is allocated for each VkPhysicalDevice which means it can
be used from multiple threads when compiling. Allocating the build context
from this will lead to race conditions as ralloc is not thread safe.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22332>
nihui [Sat, 29 Apr 2023 14:27:21 +0000 (22:27 +0800)]
panvk: port panvk_logi to vk_logi
Signed-off-by: Hui Ni <shuizhuyuanluo@126.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22772>
James Glanville [Tue, 2 May 2023 14:46:45 +0000 (15:46 +0100)]
pvr: Adjust clear's region clip words
Co-Authored-By: : Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Signed-off-by: James Glanville <james.glanville@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22822>
James Glanville [Fri, 28 Apr 2023 15:09:46 +0000 (16:09 +0100)]
pvr: Fix incorrect PBE packmode for S8_UINT
Fixes:
dEQP-VK.pipeline.monolithic.stencil.format.d24_unorm_s8_uint.states
.fail_keep.pass_keep.dfail_keep.comp_always
Signed-off-by: James Glanville <james.glanville@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22822>
Karmjit Mahil [Thu, 20 Apr 2023 14:38:18 +0000 (15:38 +0100)]
pvr: Don't advertise S8_UINT support
S8_UINT is not a requirement for Vulkan 1.0.
Revert "pvr: Add initial support for VK_FORMAT_S8_UINT".
This reverts commit
220356e0831bc870a189cf8d116a8b0ff6e1e500.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22822>
SoroushIMG [Wed, 26 Apr 2023 19:46:36 +0000 (20:46 +0100)]
pvr: fix sync waiting while using pvrsrvkm
pvrsrvkm type sync objects can have a pending state where,
the fence is unsignaled but does not have a valid sync file
due to not yet being submitted to kernel.
The wait function therefore needs to handle these types of syncs
through a spin loop.
This was seen as crashes in dEQP-VK.synchronization.timeline_semaphore.*
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22822>
Erik Faye-Lund [Wed, 3 May 2023 13:12:42 +0000 (15:12 +0200)]
docs: fixup About Mesa3D.org link
This link is supposed to point to www.mesa3d.org, not docs.mesa3d.org.
Let's fix it up!
Fixes:
7da0482636a ("docs: add custom html theme")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22825>
Erik Faye-Lund [Wed, 3 May 2023 16:31:38 +0000 (18:31 +0200)]
llvmpipe: fixup refactor copypasta
I accidentally set this state based on the wrong state when refactoring,
whoops!
Fixes:
a1846e39269 ("llvmpipe: merge all rasterizer-bind functions")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22832>
Erik Faye-Lund [Sat, 15 Apr 2023 17:03:00 +0000 (19:03 +0200)]
mesa/main: drop use_legacy_math_rules
Seems the only thing that really needs this is fpow(0, 0), which should
return NaN, but then gets multiplied with zero. Let's fix that by doing
a bcsel instead of fmul to select the result here. While we're at it,
get rid of the fabs for stop, which isn't needed.
This fixes a piglits failure for most (if not all?) drivers that doesn't
support legacy math rules.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22789>
Thomas H.P. Andersen [Thu, 27 Apr 2023 18:40:42 +0000 (20:40 +0200)]
r600: remove unused code
With the cleanup in
337dc7d76604e646f1a85615ab2d9d238427bf46 this code
became unused.
Fixes:
337dc7d76604 ("r600: remove TGSI code path")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22743>
David Heidelberg [Wed, 3 May 2023 21:30:27 +0000 (23:30 +0200)]
nir/lower_io_to_vector: initialize base
Prevent GCC warning:
```
[230/1401] Compiling C object src/compiler/nir/libnir.a.p/nir_lower_io_to_vector.c.o
In function 'get_flat_type',
inlined from 'create_new_io_vars' at ../src/compiler/nir/nir_lower_io_to_vector.c:300:10:
../src/compiler/nir/nir_lower_io_to_vector.c:208:14: warning: 'base' may be used uninitialized [-Wmaybe-uninitialized]
208 | return glsl_array_type(glsl_vector_type(base, 4), slots, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/compiler/nir/nir_lower_io_to_vector.c: In function 'create_new_io_vars':
../src/compiler/nir/nir_lower_io_to_vector.c:163:24: note: 'base' was declared here
163 | enum glsl_base_type base;
| ^~~~
```
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8957
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22840>
Jesse Natalie [Wed, 3 May 2023 22:51:51 +0000 (15:51 -0700)]
dzn: Delete queue-level event waits
These are unneeded. Events can't be used to indefinitely stall work
like you can with a semaphore or timeline semaphore. The signals
still need to happen so that execution will modify the state that
can be polled from the CPU though.
Fixes dEQP-VK.synchronization.basic.event.single_submit_multi_command_buffer
Fixes:
04fa6c71 ("dzn: Batch command lists together")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22842>
Jesse Natalie [Wed, 3 May 2023 19:46:17 +0000 (12:46 -0700)]
dzn: Support separate depth/stencil resolves via blits
In theory, ResolveSubresourceRegion should be able to resolve just
the depth or just the stencil. In practice, WARP had bugs, which
means that was never tested, so just do it via blits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22836>
Jesse Natalie [Wed, 3 May 2023 18:19:09 +0000 (11:19 -0700)]
dzn: Support all available depth/stencil resolve modes
Fixes dEQP-VK.imageless_framebuffer.depth_stencil_resolve and
dEQP-VK.renderpass2.depth_stencil_resolve.misc.properties
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22836>
Jesse Natalie [Wed, 3 May 2023 18:18:52 +0000 (11:18 -0700)]
dzn: Augment blit resolve to support min/max/sample-zero modes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22836>
Dave Airlie [Tue, 14 Mar 2023 05:39:14 +0000 (15:39 +1000)]
vulkan: write beta extensions into generator scripts.
Updated by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21806>
Dave Airlie [Thu, 9 Mar 2023 04:18:25 +0000 (14:18 +1000)]
vulkan/cmd_queue: handle beta extensions.
Since this was moved to vulkan_core.h, we have to add the beta header
ourselves when required.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21806>
Marek Olšák [Fri, 28 Apr 2023 03:12:46 +0000 (23:12 -0400)]
nir: add/update comments for gl_access_qualifier
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22769>
Marek Olšák [Fri, 28 Apr 2023 03:02:28 +0000 (23:02 -0400)]
nir: rename ACCESS_STREAM_CACHE_POLICY -> ACCESS_NON_TEMPORAL and document
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22769>
Luna Nova [Tue, 17 Jan 2023 01:05:39 +0000 (17:05 -0800)]
device_select_layer: log selectable devices if MESA_VK_DEVICE_SELECT_DEBUG or DRI_PRIME_DEBUG are set
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101>
Luna Nova [Mon, 16 Jan 2023 00:23:32 +0000 (16:23 -0800)]
device_select_layer: add MESA_VK_DEVICE_SELECT_DEBUG which logs why default selection was made
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101>
Luna Nova [Mon, 16 Jan 2023 00:12:59 +0000 (16:12 -0800)]
device_select_layer: pick a default device before applying DRI_PRIME
This ensures DRI_PRIME works if there are multiple CPU devices available
Suggested by @pepp
Fixes:
afa1fba1 ("vulkan/device_select: don't pick a cpu driver as the default")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101>
Luna Nova [Mon, 16 Jan 2023 00:09:04 +0000 (16:09 -0800)]
device_select_layer: apply DRI_PRIME even if default device is > 1 to match opengl behavior
This fixes DRI_PRIME=1 doing nothing if the GPU order is [dGPU, dGPU,
iGPU, cpu] (or more GPUs than that) and the iGPU is the default GPU.
Fixes:
afa1fba1 ("vulkan/device_select: don't pick a cpu driver as the default")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101>
Luna Nova [Sun, 16 Oct 2022 23:10:47 +0000 (16:10 -0700)]
device_select_layer: fix inverted strcmp in device_select_find_dri_prime_tag_default (v1)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7498
Fixes:
9bc5b2d169d ("vulkan: add initial device selection layer. (v6.1)")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19101>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
svga: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
llvmpipe: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
vc4: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
v3d: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
softpipe: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
iris: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:24:56 +0000 (16:24 -0400)]
i915: use util_unreference_framebuffer_state to unref fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:27:11 +0000 (16:27 -0400)]
i915: use util_copy_framebuffer_state to set fb state
Fixes:
f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Mike Blumenkrantz [Mon, 24 Apr 2023 20:23:52 +0000 (16:23 -0400)]
cso: unbind fb state when unbinding the context
this avoids leaking/ballooning references
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22673>
Yiwei Zhang [Tue, 2 May 2023 23:43:12 +0000 (16:43 -0700)]
ci: carry venus-protocol 1.0 release patches in virglrenderer
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>
Yiwei Zhang [Mon, 17 Apr 2023 22:40:49 +0000 (15:40 -0700)]
docs: update Virtio-GPU Venus driver page
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>
Yiwei Zhang [Wed, 12 Apr 2023 18:15:33 +0000 (11:15 -0700)]
meson/ci: promote virtio-experimental to virtio
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>
Yiwei Zhang [Sat, 8 Apr 2023 06:53:09 +0000 (23:53 -0700)]
venus: adopt venus protocol release
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>
Yiwei Zhang [Sat, 8 Apr 2023 06:55:26 +0000 (23:55 -0700)]
venus: stop query experimental features
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>
Emma Anholt [Tue, 2 May 2023 17:53:18 +0000 (10:53 -0700)]
ci/zink+anv: Test piglit quick_gl pre-merge, dropping a few KHR-GL46 tests.
piglit provides way more important coverage than these bits of GL46, and
has been regressing regularly. Thanks to dropping the long KHR-GL46
tests, this is now completing faster than it was before, and things will
get even better with
https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/804.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22811>
Emma Anholt [Tue, 2 May 2023 21:58:48 +0000 (14:58 -0700)]
ci/zink: Update more xfails for tgl piglit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22811>
Emma Anholt [Tue, 2 May 2023 21:15:53 +0000 (14:15 -0700)]
Revert "ci/zink: Try to update TGL results for new MSAA behavior."
This reverts commit
74a8f118a2595479a94a8b7097680c5111d7273c.
This should have been in !22753.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22811>
Juston Li [Fri, 21 Apr 2023 16:55:51 +0000 (09:55 -0700)]
venus: use pipelineCacheUUID for shader cache id
Use the host driver pipelineCacheUUID as the shader cache id. This is
just used as an identifier for fossilize replay since venus utilizes
the host side shader cache anyways.
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22634>
Mike Blumenkrantz [Wed, 3 May 2023 14:39:55 +0000 (10:39 -0400)]
zink: sync queries at the end of cmdbufs
with tc, query results can be fetched async, and it's impossible to
sync tc in this scenario. to avoid needing to sync when a sync is not
possible, sync ahead of time in all cases
Fixes:
7c96e989755 ("zink: always start/stop/resume queries inside renderpasses")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827>
Mike Blumenkrantz [Wed, 3 May 2023 15:43:53 +0000 (11:43 -0400)]
zink: null some descriptor buffer pointers during destruction
this shouldn't actually be needed? and yet...
Fixes:
13c6ad0038a ("zink: use a single descriptor buffer for all non-bindless types")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827>
Mike Blumenkrantz [Wed, 3 May 2023 14:39:10 +0000 (10:39 -0400)]
zink: set depth dynamic state values unconditionally
spec requires the state values to be set if the dynamic state is
enabled regardless of whether they will take effect
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827>
Faith Ekstrand [Wed, 3 May 2023 14:46:55 +0000 (09:46 -0500)]
nouveau/nir: image_samples/size don't have coordinates
Without this, it treats the src[1] as a coordinate (it's actually LOD)
and may try to read more than one component. I don't think this usually
hurts anything as the coordinate should get ignored later but it can
result in OOB memory reads while translating NIR.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22834>
Mike Blumenkrantz [Wed, 3 May 2023 15:53:10 +0000 (11:53 -0400)]
zink: disable a630 traces
I can't even run a fair number of these locally without a gpu hang,
and there are no validation errors, so just disable the whole thing
until at least #8874 can be resolved
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22831>
M Henning [Fri, 17 Feb 2023 22:32:12 +0000 (17:32 -0500)]
nv50/codegen: Set lower_uniforms_to_ubo
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22815>
Boris Brezillon [Fri, 7 Apr 2023 13:16:17 +0000 (15:16 +0200)]
panfrost: Check blend enabled state in pan_allow_forward_pixel_to_kill()
The shader can write to a specific RT, but the blend descriptor gets
to decide if the RT is really updated. We need to take that into
account when initializing the rt_written local variable in
pan_allow_forward_pixel_to_kill() otherwise we might get inconsistent
results.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Suggested-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22465>
Daniel Stone [Wed, 3 May 2023 09:40:51 +0000 (10:40 +0100)]
ci/zink: Disable Freedoom trace on ANV
Apparently it's flaky.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22819>
Martin Roukala (né Peres) [Wed, 3 May 2023 10:13:05 +0000 (13:13 +0300)]
radv/ci: document a series of recent regressions
No time to bisect all the regressions, so I am just including the
GOOD/BAD commits if anyone is interested to bisect.
One thing is for sure, !22753 is responsible for at least tens of
these issues.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22820>
Hans-Kristian Arntzen [Tue, 2 May 2023 11:31:37 +0000 (13:31 +0200)]
wsi/wayland: Do not assert that all present IDs have been waited on.
EXT_swapchain_maintenance1 allows destruction when the swapchain fence
is complete. That may signal before we have dispatched all present
waits. Just discard those presentation feedbacks.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682>
Hans-Kristian Arntzen [Tue, 2 May 2023 11:15:25 +0000 (13:15 +0200)]
wsi/wayland: Simplify wait logic for present wait.
CLOCK_REALTIME is generally problematic due to NTP.
Use normal MONOTONIC waits for condition variable,
and remove the timedlock. The lock is never held in a blocking fashion,
so there is little need for a timed lock here.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682>
Daniel Stone [Wed, 11 May 2022 18:47:52 +0000 (19:47 +0100)]
wsi/wayland: Support VK_KHR_present_wait
Use the wp_presentation extension to detect when a given presentation
has taken effect.
Since this protocol is not guaranteed to be supported,
it must be enabled through driconf (vk_khr_present_wait=true) for the time being.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Co-authored-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682>
Simon Ser [Fri, 26 Aug 2022 09:01:29 +0000 (11:01 +0200)]
wayland: generalize wayland-protocols code generation
Make it easy to add a new protocol to the list without duplicating
logic.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22682>
Friedrich Vock [Wed, 3 May 2023 10:20:39 +0000 (12:20 +0200)]
radv: Add driconf to always drain waves before writing timestamps
UE4's Vulkan backend uses vkCmdWriteTimestamp with TOP_OF_PIPE
to measure how long a workload took in the GPU Benchmark. This is wrong
and writes the timestamp before the workload is actually finished,
making it seem like the GPU is much faster than it actually is.
This caused subsequent benchmark passes to contain way too big workloads,
which caused soft hangs on slower GPUs.
Fixes GPU hangs with Splitgate during automatic settings configuration.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22823>
Friedrich Vock [Wed, 3 May 2023 11:52:44 +0000 (13:52 +0200)]
radv: Always call si_emit_cache_flush before writing timestamps
In case of barriers with TOP_OF_PIPE as dst stage, writing timestamps
immediately would be invalid.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22823>
Samuel Pitoiset [Tue, 2 May 2023 10:17:26 +0000 (12:17 +0200)]
radv/meta: rename dest to dst
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794>
Samuel Pitoiset [Tue, 2 May 2023 09:21:08 +0000 (11:21 +0200)]
radv: replace radv_get_levelCount() by vk_image_subresource_level_count()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794>
Samuel Pitoiset [Tue, 2 May 2023 09:17:50 +0000 (11:17 +0200)]
radv: replace radv_get_layerCount by vk_image_subresource_layer_count()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794>
Samuel Pitoiset [Tue, 2 May 2023 09:26:29 +0000 (11:26 +0200)]
radv: fix fast-clearing images with VK_REMAINING_{ARRAY_LAYERS,MIP_LEVELS}
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794>
Samuel Pitoiset [Tue, 2 May 2023 08:41:46 +0000 (10:41 +0200)]
radv: fix invalid type for usage in radv_get_buffer_memory_requirements()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794>