David Heidelberg [Thu, 1 Jun 2023 09:35:00 +0000 (11:35 +0200)]
ci: use bash arrays in Fedora script + shebang change
We not passing very long string, but multiple separate packages, using
the array seems to be more logical and clear solution, without
shellcheck complaining about word spliting and risk making of accidental
mistakes (missed backslash etc.).
Shebang change, because let's have it same everywhere.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23425>
Vinson Lee [Sat, 3 Jun 2023 23:32:44 +0000 (16:32 -0700)]
nv50: Fix memory leak in error path
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable memobj going out of scope leaks the storage it points to.
Fixes:
a1571333804 ("nvc0/nv50: support and enable EXT_memory_object*")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23417>
Friedrich Vock [Wed, 12 Apr 2023 15:15:29 +0000 (17:15 +0200)]
nir: Remove unnecessary assert in nir_before_src
This condition can occur in the wild (more specifically in RT shader
call lowering), and it is handled correctly.
Cc: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22536>
Friedrich Vock [Mon, 17 Apr 2023 13:58:39 +0000 (15:58 +0200)]
nir: Rematerialize derefs in use blocks before repairing SSA
nir_repair_ssa_impl may insert phi nodes for any deref, but if the deref mode is uniform, validation fails.
To fix this, rematerialize the derefs in the blocks they are used to avoid generating phi nodes for them.
Cc: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22536>
Eric Engestrom [Wed, 10 May 2023 14:47:10 +0000 (15:47 +0100)]
amd/ci: run gl(es) cts & piglit on radeonsi on vangogh
Manual/post-merge for now because radeonsi isn't a priority for the few
steamdecks that we have in CI and we need to keep them free for merging
MRs.
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22990>
Yonggang Luo [Thu, 1 Jun 2023 15:06:19 +0000 (23:06 +0800)]
docs: Update document about pipe_prim_type with mesa_prim
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369>
Yonggang Luo [Thu, 1 Jun 2023 15:03:34 +0000 (23:03 +0800)]
compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim
This is a prepare step to remove depends on p_defines.h in src/util/*
This is done by:
replace pipe_prim_type with mesa_prim
replace shader_prim with mesa_prim
replace PIPE_PRIM_MAX with MESA_PRIM_COUNT
replace SHADER_PRIM_ with MESA_PRIM_
replace PIPE_PRIM_ with MESA_PRIM_
This patch only replace code only
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369>
Yonggang Luo [Thu, 1 Jun 2023 13:59:37 +0000 (21:59 +0800)]
compiler: Add SHADER_PRIM_COUNT to be SHADER_PRIM_MAX + 1
This is a prepare step for replace all usage of pipe_prim_type and shader_prim with mesa_prim
And the newly added MESA_PRIM_COUNT in latter patch will equal to SHADER_PRIM_COUNT
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369>
Yonggang Luo [Thu, 1 Jun 2023 13:44:15 +0000 (21:44 +0800)]
compiler: Getting shader_prim to be PACKED that consistence with pipe_prim_type
This is a prepare step for replace all usage of pipe_prim_type and shader_prim with mesa_prim
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369>
Yonggang Luo [Thu, 1 Jun 2023 13:54:52 +0000 (21:54 +0800)]
microsoft/compiler: Getting function impl to be consistence with decl in dxil_enums.*
This is a prepare step for add PACKED attribute on shader_prim
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369>
Dylan Baker [Thu, 1 Jun 2023 22:32:15 +0000 (15:32 -0700)]
intel/tools/error2aub: Fix potential out of bounds read
Originally the engines size was set to I915_ENGINE_CLASS_VIDEO + 1,
where video was the largest value, and INVALID had a value of -1. Since
then a COMPUTE member was added to the enum, and the INTEL_ENGINE class
moved invalid to the last value.
CID: 1530425
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23384>
Iván Briano [Thu, 1 Jun 2023 21:18:21 +0000 (14:18 -0700)]
vulkan/wsi: fix double free on error condition
On error during wsi_wl_surface_create_swapchain(),
wsi_wl_swapchain_chain_free() is called, followed by vk_free() of the
recently freed chain.
Move the vk_free() to wsi_wl_swapchain_destroy() to avoid the double
free.
Fixes dEQP-VK.wsi.wayland.swapchain.simulate_oom.*
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23383>
José Roberto de Souza [Tue, 14 Feb 2023 20:23:50 +0000 (12:23 -0800)]
iris: Implement external object implicit syncronization for Xe kmd
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22544>
Paulo Zanoni [Tue, 31 Jan 2023 22:01:31 +0000 (14:01 -0800)]
iris: Add iris_implicit_sync struct and functions to do implicit synchronization for Xe kmd
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22544>
Paulo Zanoni [Thu, 10 Nov 2022 06:47:48 +0000 (22:47 -0800)]
iris: Extend iris_bo_wait_syncobj() to wait on external implicit syncobj
This way we can guarantee that external bos are also idle in other
process.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22544>
Paulo Zanoni [Tue, 31 Jan 2023 21:54:22 +0000 (13:54 -0800)]
iris: Add functions to import and export implicit sync state
Xe KMD is not going to support implicit synchronization, so we need to
use extra ioctls to import/export implicit synchronization state from
gem BOs from/to drm syncobjs.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22544>
José Roberto de Souza [Tue, 13 Dec 2022 19:29:33 +0000 (11:29 -0800)]
iris: Attach a dma-buf to bo flink
Bo flink shares a bo in the same GPU between process, flink precedes
dma-buf so it lacks features like syncronization.
So to workaround that, here during iris_bo_flink() it is
attaching a dma-buf to the bo.
Then in imported process it tries to attach a dma-buf again but
as it was already create it is just ref counted.
From this point on importer and exporter can syncronize access like
any other dma-buf.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22544>
Paulo Zanoni [Wed, 9 Nov 2022 00:58:05 +0000 (16:58 -0800)]
iris: Store prime fd of external bos for Xe KMD
In the next patches this prime fd will be needed to do implict
synchronization in external bos for Xe KMD as it don't have implict
syncronization in KMD side.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22544>
Dmitry Osipenko [Thu, 30 Mar 2023 18:21:24 +0000 (21:21 +0300)]
hasvk: Use intel_ioctl() helper for GEM_SET_TILING
Replace opencoded ioctl() usage with a common intel_ioctl() helper.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23399>
Dmitry Osipenko [Thu, 30 Mar 2023 18:20:42 +0000 (21:20 +0300)]
anv: Use intel_ioctl() helper for GEM_SET_TILING
Replace opencoded ioctl() usage with a common intel_ioctl() helper.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23399>
Dmitry Osipenko [Thu, 30 Mar 2023 18:20:22 +0000 (21:20 +0300)]
intel/dev: Use intel_ioctl() helper for GEM_SET_TILING
Replace opencoded ioctl() usage with a common intel_ioctl() helper.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23399>
Dmitry Osipenko [Sat, 14 Jan 2023 19:00:25 +0000 (22:00 +0300)]
iris/bufmgr: Use intel_ioctl() helper for GEM_SET_TILING
Replace opencoded ioctl() usage with a common intel_ioctl() helper.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23399>
David Heidelberg [Fri, 26 May 2023 17:10:57 +0000 (19:10 +0200)]
ci: rename x86 and amd64 to x86_64, armhf to arm32, and i386 to x86_32
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8049
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23282>
Jesse Natalie [Fri, 2 Jun 2023 18:14:37 +0000 (11:14 -0700)]
dzn: Fix incremental binding of VBs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23403>
Jesse Natalie [Thu, 1 Jun 2023 22:25:08 +0000 (15:25 -0700)]
dzn: Don't create D3D objects for secondary command buffers
We emulate secondary command buffers via record/replay, we don't
need actual D3D objects, and having them can cause debug layer errors
due to getting out of sync with the state of the Vulkan object.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23403>
Zhang, Jianxun [Tue, 16 May 2023 21:31:05 +0000 (14:31 -0700)]
anv: Remove alignment to aux ratio on size of main surface
The existing 4KB alignment is sufficient for both 1MB and
64KB alignment requirements of CCS buffer.
Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23002>
Zhang, Jianxun [Fri, 12 May 2023 19:32:57 +0000 (12:32 -0700)]
anv: Support 1MB AUX mapping (MTL)
Replace the hardcoded 64KB granularity with a value
provided by AUX module that returns either 64KB(TGL)
or 1MB(MTL) of the running system.
Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23002>
Mark Janes [Tue, 14 Mar 2023 21:50:00 +0000 (14:50 -0700)]
isl: use generated workaround helpers for Wa_1806565034
This workaround was enabled for gen12+, but only applies to gen12.0.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21912>
Karol Herbst [Fri, 2 Jun 2023 12:34:15 +0000 (14:34 +0200)]
rusticl/device: set preferred vector size of doubles if fp64 is enabled
Fixes:
400847a9900 ("rusticl/device: improve advertisement of fp64 support")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23391>
Matt Coster [Mon, 27 Feb 2023 12:33:31 +0000 (12:33 +0000)]
pvr: Implement ZLS subtile alignment
This is a workaround for the edge case where a depth buffer is smaller
than a single tile size.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Mon, 27 Feb 2023 12:26:53 +0000 (12:26 +0000)]
pvr: Rename ds_{image,iview} in pvr_gfx_sub_cmd_job_init()
The added prefix makes it clear we're referencing the depth/stencil
attachment.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Mon, 27 Feb 2023 12:19:57 +0000 (12:19 +0000)]
pvr: Publicise some static functions from pvr_blit.c
These will be used to implement ZLS subtile alignment. One function
that was already public has also had its declaration moved from
pvr_private.h to the newly created pvr_blit.h.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Mon, 27 Feb 2023 09:08:02 +0000 (09:08 +0000)]
pvr: Add pvr_image_view_get_image()
This replaces the pattern of vk_to_pvr_image(iview->vk.image).
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Mon, 27 Feb 2023 09:00:36 +0000 (09:00 +0000)]
pvr: Cleanup in pvr_process_cmd_buffer()
Renaming all barrier structs allows the pvr_process_event_cmd_barrier()
calls to be placed on a single line.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Tue, 13 Dec 2022 10:12:45 +0000 (10:12 +0000)]
pvr: Add wait_on_previous_transfer flag to graphics subcommand
This inserts a barrier before the fragment job to wait on the previous
transfer job.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Fri, 20 Jan 2023 10:31:12 +0000 (10:31 +0000)]
pvr: Use pvr_sub_cmd_event union members directly
This has the benefit of replacing some explicit asserts with static type
checking.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Matt Coster [Tue, 13 Dec 2022 10:05:41 +0000 (10:05 +0000)]
pvr: Move pvr_get_isp_num_tiles_xy() to rogue_hw_utils.h
Rename s/pvr/rogue/ to match the other functions in that file.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23313>
Konstantin Seurer [Fri, 19 May 2023 10:23:55 +0000 (12:23 +0200)]
radv/rt: Fix pipeline libraries
This was completely broken, because radv_create_group_handles would
access OOB stages.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23128>
Matt Coster [Tue, 16 May 2023 08:07:48 +0000 (09:07 +0100)]
pvr: Fix segfault in pvr_physical_device_init()
This was introduced (by me) in a previous commit. Part of pdevice->vk
was initialised before calling vk_physical_device_init() which then
overwrite our values.
Fixes:
4ba553ab9ad ("pvr: Use common vkGetPhysicalDeviceFeatures2() implementation")
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23366>
Samuel Pitoiset [Wed, 31 May 2023 06:42:13 +0000 (08:42 +0200)]
nir: print locations for per-vertex fragment shader inputs
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23254>
Samuel Pitoiset [Wed, 22 Jun 2022 07:13:46 +0000 (09:13 +0200)]
nir/lower_io: add nir_intrinsic_load_input_vertex to is_input()
To add the const offset to the base index.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23254>
Samuel Pitoiset [Fri, 27 May 2022 07:16:09 +0000 (09:16 +0200)]
spirv,nir: add support for SpvDecorationPerVertexKHR
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23254>
Samuel Pitoiset [Thu, 12 May 2022 13:50:04 +0000 (15:50 +0200)]
spirv,nir: add support for BaryCoord{NoPersp}KHR builtins
This introduces new intrinsics nir_intrinsic_load_barycentric_coord_xxx
with 3-components instead of expanding the existing ones that are
supposed to interpolate input varyings, while BaryCoord is a sysval
on most hardware.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23254>
Samuel Pitoiset [Fri, 6 May 2022 12:00:40 +0000 (14:00 +0200)]
spirv: add support for SpvCapabilityFragmentBarycentricKHR
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23254>
Erik Faye-Lund [Wed, 31 May 2023 18:25:24 +0000 (20:25 +0200)]
zink: update profiles schema
The 0.8.1-251 release has shipped, which contains the latest bits we
need in order to be clean here. Let's bump the bumpbump-bump.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23342>
Mike Blumenkrantz [Wed, 31 May 2023 16:09:31 +0000 (12:09 -0400)]
draw: add (disabled) vertex dumping for non-linear emit
matches linear path
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23368>
Mike Blumenkrantz [Wed, 31 May 2023 20:40:58 +0000 (16:40 -0400)]
lavapipe: don't pass indirect info in streamout draws
this is otherwise broken for a sequence like draw_indirect -> draw_indirect_bc
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23368>
Mike Blumenkrantz [Wed, 31 May 2023 19:31:14 +0000 (15:31 -0400)]
lavapipe: stop setting patch vertices constantly
this pollutes gallium traces and makes debugging more annoying
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23368>
Mike Blumenkrantz [Tue, 30 May 2023 14:40:36 +0000 (10:40 -0400)]
lavapipe: bump max push constant size
this matches vkd3d-proton requirements
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23368>
Mike Blumenkrantz [Wed, 31 May 2023 19:25:41 +0000 (15:25 -0400)]
lavapipe: fix DS3 min sample setting
if a DS3 pipeline enabling dynamic samples is not bound when samples
are set dynamically, then such a pipeline is later bound, min samples
would have been incorrectly set to 1
instead, flag the update for later and do it just before draw
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23368>
Tatsuyuki Ishi [Wed, 1 Feb 2023 08:40:02 +0000 (17:40 +0900)]
radv: Guard against misplaced RGP barrier markers.
RGP will crash if we emit a layout transition marker outside a barrier.
If this happens, trigger an assertion if its enabled or silently discard
the marker otherwise to avoid traces that cannot be opened.
Also, guard against attempts to start barrier markers recursively, since
this will corrupt the internal start/end matching.
Closes: <https://gitlab.freedesktop.org/mesa/mesa/-/issues/7971>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21033>
Tatsuyuki Ishi [Wed, 1 Feb 2023 08:27:26 +0000 (17:27 +0900)]
radv: Add RGP barrier markers for render pass transition and copy.
This allows them to be attributed to the correct event instead of being
blend to the previous barrier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21033>
Qiang Yu [Fri, 28 Apr 2023 03:54:56 +0000 (11:54 +0800)]
radeonsi: enable aco for mono standalone vs
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/23096>
Qiang Yu [Tue, 16 May 2023 02:43:41 +0000 (10:43 +0800)]
ac/llvm: remove unused barrier implementation
memory buffer barrier is still used when nir lowering, will
be removed later.
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/23096>
Qiang Yu [Tue, 16 May 2023 02:22:17 +0000 (10:22 +0800)]
radeonsi: always use scoped barrier
aco has removed non-scoped barrier support.
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/23096>
Qiang Yu [Thu, 11 May 2023 11:41:20 +0000 (19:41 +0800)]
radeonsi: use nir_umul_high for fast udiv
nir has dedicated alu op for it. Also for removing int64
multiply which aco does not support.
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/23096>
Qiang Yu [Wed, 10 May 2023 08:06:08 +0000 (16:06 +0800)]
radeonsi: calculate needed lds size when upload raw binary for vs
ELF do the same when upload binary. We can't do this when
compile, because it's know when draw time in radeonsi.
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/23096>
Qiang Yu [Fri, 28 Apr 2023 07:51:09 +0000 (15:51 +0800)]
radeonsi: fill aco shader info for mono standalone vs
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/23096>
Qiang Yu [Tue, 16 May 2023 08:05:34 +0000 (16:05 +0800)]
nir,ac/llvm,radeonsi: replace nir_buffer_atomic_add_amd with ssbo atomic
Now that radeonsi support pass desc to ssbo atomic ops,
we can use ssbo atomic instead. aco does not implement
nir_buffer_atomic_add either.
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/23096>
Qiang Yu [Wed, 17 May 2023 08:06:15 +0000 (16:06 +0800)]
ac/llvm,radeonsi: lower nir_load_ring_esgs_amd in abi
It's not implemented by aco. So move the code from llvm
to nir.
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/23096>
Qiang Yu [Tue, 16 May 2023 08:11:21 +0000 (16:11 +0800)]
ac/llvm,radeonsi: lower nir_load_ordered_id_amd in abi
aco does not implement it.
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/23096>
Qiang Yu [Wed, 10 May 2023 08:43:58 +0000 (16:43 +0800)]
ac/llvm,radeonsi: lower nir_load_packed_passthrough_primitive_amd in abi
aco does not implement it.
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/23096>
Qiang Yu [Fri, 28 Apr 2023 08:31:37 +0000 (16:31 +0800)]
ac/llvm,radeonsi: lower nir_load_initial_edgeflags_amd 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/23096>
Qiang Yu [Fri, 28 Apr 2023 06:35:41 +0000 (14:35 +0800)]
ac/llvm,radeonsi: lower load_workgroup_num_input_(vertices|primitives) 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/23096>
Qiang Yu [Fri, 28 Apr 2023 06:31:09 +0000 (14:31 +0800)]
ac/llvm,radeonsi: lower nir_load_merged_wave_info_amd in abi
aco does not implement it.
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/23096>
Qiang Yu [Fri, 28 Apr 2023 06:24:24 +0000 (14:24 +0800)]
ac/llvm,radeonsi: lower nir_load_gs_vertex_offset_amd in abi
aco does not implement this.
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/23096>
Qiang Yu [Fri, 28 Apr 2023 03:18:00 +0000 (11:18 +0800)]
radeonsi: add scratch offset vs args explicitly for aco
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/23096>
Qiang Yu [Thu, 27 Apr 2023 09:46:29 +0000 (17:46 +0800)]
radeonsi: resolve lds ngg aco symbols
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/23096>
Qiang Yu [Tue, 30 May 2023 11:22:48 +0000 (19:22 +0800)]
aco: use ac_get_image_dim for array check when image intrinsic
This is to avoid missing array flag when <=GFX8 and 3D image
in which case is treated as 2D array image.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Thu, 18 May 2023 02:07:43 +0000 (10:07 +0800)]
aco: implement nir_bindless_image_fragment_mask_load_amd
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Sigend-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Tue, 16 May 2023 09:28:18 +0000 (17:28 +0800)]
aco: implement nir_xfb_counter_sub_amd
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Tue, 16 May 2023 08:54:59 +0000 (16:54 +0800)]
aco: use gds reg when ordered xfb counter add
This is currently only used by radeonsi.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Tue, 16 May 2023 08:48:38 +0000 (16:48 +0800)]
aco/assembler: handle ds_(add|sub)_gs_reg_rtn encoding
They are different than normal DS instructions, only
use DATA[0], not use ADDR.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Thu, 11 May 2023 07:39:16 +0000 (15:39 +0800)]
aco: implement load buffer with ACCESS_USES_FORMAT_AMD
This is used by radeonsi for vs input load and cdna
image load emulation.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Wed, 10 May 2023 06:11:48 +0000 (14:11 +0800)]
ac/nir/ngg: don't use 8bit alu ops
aco doesn't support 8bit alu ops and radeonsi won't
call nir_lower_bit_size for most alu ops, so just
don't use 8bit alu ops (they will be lowered to 32bit
anyway if we do).
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Fri, 28 Apr 2023 07:36:43 +0000 (15:36 +0800)]
aco,radv: remove unused aco_shader_info fields
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Qiang Yu [Thu, 27 Apr 2023 09:01:56 +0000 (17:01 +0800)]
aco: implement two load lds ngg intrininsic for radeonsi
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23094>
Emma Anholt [Wed, 17 May 2023 22:28:04 +0000 (15:28 -0700)]
ci/turnip: Update full-run xfails.
The big pile of crashes were all either not covered by the fractional run
and a full run hadn't been run to update them, or unsupported where
Crash->Skip is not being reported as UnexpectedPass.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23385>
Daniel Stone [Wed, 31 May 2023 17:50:11 +0000 (18:50 +0100)]
ci: Respect $HTTP_PROXY for ci_run_n_monitor
We need to explicitly tell AIOHTTP that it's OK to take the HTTP proxy
from the environment.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23341>
Emma Anholt [Thu, 1 Jun 2023 20:53:13 +0000 (13:53 -0700)]
ci/crocus: Add a missing xfail.
Probably more fallout from debian 12 uprev.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23379>
Emma Anholt [Thu, 1 Jun 2023 20:50:24 +0000 (13:50 -0700)]
crocus: Fix regression from !20153
The MR fixed iris in
14dec0c1479aa149edead1e95b7feb1669ccc4c1, but didn't
do the same fix for crocus.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23379>
Emma Anholt [Thu, 1 Jun 2023 19:53:56 +0000 (12:53 -0700)]
Revert "ci: disable anholt's farm"
Things are back up. This reverts commit
520c5091d7de4290f87bb984a59e7ac2993471a4.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23381>
Emma Anholt [Thu, 1 Jun 2023 19:50:21 +0000 (12:50 -0700)]
ci/freedreno: Update minetest hash.
1 different pixel, undetectable change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Wed, 31 May 2023 18:58:10 +0000 (11:58 -0700)]
mesa: Use shared NIR code for ARB_vp and FF VS position transformation.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Wed, 31 May 2023 18:49:47 +0000 (11:49 -0700)]
mesa/ffvs: Fix mvp_with_dp4 position transformation.
Copy and paste mistake, but didn't affect anybody since this knob is
disconnected at the moment.
Fixes:
c5b3d488f9be ("mesa/main: make ffvertex output nir")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 23:54:20 +0000 (16:54 -0700)]
mesa: Use the NIR pass for fixed function fog.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Thu, 18 May 2023 16:32:54 +0000 (09:32 -0700)]
mesa/ati_fs: Move prog->SamplersUsed/TexturesUsed setup to EndFragmentShader.
No need to have st_program.c come back into ATI_fs for this when it's a
property of program generation. ARB programs set these up in their
translation, as well.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Wed, 17 May 2023 00:07:31 +0000 (17:07 -0700)]
mesa/ati_fs: Move NIR translation to ATI_fs compile time.
Now ati_fs takes the same basic path as prog_to_nir, and we don't have to
think about it so much. Also, the ATI_fs frontend can skip shader info
setup since nir_shader_gather_info does it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Wed, 17 May 2023 00:01:52 +0000 (17:01 -0700)]
mesa/ati_fs: Move sampler dim adjustment to a separate NIR pass.
This means that the main NIR translation for ATI_fs is now independent of
the fp key, and we could do it earlier in the compile pipeline.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 23:44:57 +0000 (16:44 -0700)]
mesa: Move st_prog_to_nir_postprocess out of prog_to_nir.
We called it in the else branch, anyway.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 22:18:39 +0000 (15:18 -0700)]
mesa: Drop remaining unused ARB program instructions.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 22:17:25 +0000 (15:17 -0700)]
mesa: Drop unused control flow instructions for ARB programs.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 22:12:03 +0000 (15:12 -0700)]
mesa: Drop ARB program helper functions that are no longer used.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 22:03:44 +0000 (15:03 -0700)]
mesa: Move ARB_vp position invariant option handling to NIR.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 21:36:20 +0000 (14:36 -0700)]
mesa/ARB_fp: Use the NIR pass for adding fog code instead of ARB instrs.
Tested with
https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/813
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 21:29:54 +0000 (14:29 -0700)]
mesa/ARB_fp: Drop an extra enum for fog mode.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 19:38:57 +0000 (12:38 -0700)]
mesa: Move ATI_fragment_shader fog code emit to a NIR lowering pass.
Now it's implemented as a RMW of the FRAG_RESULT_COLOR output var (or
adjusting the store_output intrinsic's value for lowered i/o), which
should be reusable other places we might want to emit shader code for fog
(ARB_fp, fixed function fragment shaders).
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 20:37:53 +0000 (13:37 -0700)]
nir,mesa: Add helpers for creating uniform state variables.
It's one of the weirder parts of our shader interface's interactions with
the GL API, so let's try to make it a little cleaner.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 20:30:18 +0000 (13:30 -0700)]
nir: Use find_state_var in lower_atomics_to_ssbo.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>
Emma Anholt [Tue, 16 May 2023 19:48:03 +0000 (12:48 -0700)]
mesa: Use find_state_var in lower_builtin.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111>