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>
Jesse Natalie [Thu, 1 Jun 2023 19:28:35 +0000 (12:28 -0700)]
d3d12: Support PIPE_CAP_VS_LAYER_VIEWPORT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377>
Jesse Natalie [Thu, 1 Jun 2023 20:08:11 +0000 (13:08 -0700)]
microsoft/compiler: Viewport/layer as input to GS/HS needs to set feature bit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377>
Jesse Natalie [Thu, 1 Jun 2023 20:06:24 +0000 (13:06 -0700)]
microsoft/compiler: Fix usage of type var in semantic asserts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377>
Jesse Natalie [Thu, 1 Jun 2023 20:05:49 +0000 (13:05 -0700)]
microsoft/compiler: Fix the int->uint pass for arrayed I/O
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377>
Jesse Natalie [Wed, 31 May 2023 20:18:01 +0000 (13:18 -0700)]
dzn: Don't lower away mediump
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344>
Jesse Natalie [Wed, 31 May 2023 20:17:47 +0000 (13:17 -0700)]
spirv2dxil: Enable mediump
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344>
Jesse Natalie [Wed, 31 May 2023 20:14:58 +0000 (13:14 -0700)]
microsoft/compiler: Handle mediump
Instead of treating all 16-bit values as "native 16-bit types,"
differentiate between concrete casts and mediump casts, where the
former requires native 16-bit types, and the latter only requires
DXIL min-precision. Additionally, UBO/SSBO loads/stores require
native 16-bit types.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344>
Jesse Natalie [Wed, 31 May 2023 20:13:54 +0000 (13:13 -0700)]
microsoft/compiler: Always set support_16bit_alu
This just affects some nir opts. If we're lowering 16bit ops anyway,
the optimization doesn't matter.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344>
Jesse Natalie [Wed, 31 May 2023 20:10:47 +0000 (13:10 -0700)]
nir: Add preserve_mediump as a shader compiler option
The DXIL backend would like to distinguish between casts to 16-bit
that must cast, vs those that may. If a shader only ever produces
16-bit types from mediump casts and ALU ops on those values, then
the resulting shader can be annotated with DXIL's min-precision
qualifier, basically telling the driver to use 16-bit precision if
it's faster for them. If it uses concrete 16-bit casts, or loads/
stores to externally-visible memory, then it must use the "native"
16-bit flag, which is not supported on all hardware.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344>
Emma Anholt [Mon, 8 May 2023 20:52:44 +0000 (13:52 -0700)]
zink: Use PIPE_CAP_FS_POINT_IS_SYSVAL.
This better matches up to how spirv treats the value.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22950>
Emma Anholt [Mon, 8 May 2023 20:56:17 +0000 (13:56 -0700)]
nir/lower_texcoord_replace: Flag SYSTEM_VALUE_POINT_COORD read when we load it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22950>
Emma Anholt [Wed, 10 May 2023 18:11:58 +0000 (11:11 -0700)]
glsl: Allow invariant flags on sysvals, such as gl_PointCoord.
When you set PIPE_CAP_FS_POINT_IS_SYSVAL, we'd fall out of
is_allowed_invariant(), despite it being allowed on special builtins.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22950>
Dave Airlie [Mon, 29 May 2023 03:38:00 +0000 (13:38 +1000)]
gallium/nir/tgsi: add various support for task/mesh bits
these translators are used by llvmpipe so need to be updated
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Mon, 29 May 2023 03:37:44 +0000 (13:37 +1000)]
gallium/cso: add task/mesh shaders to the cso cache
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Wed, 31 May 2023 20:40:25 +0000 (06:40 +1000)]
d3d12: don't report mesh/task limits
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Wed, 31 May 2023 20:38:51 +0000 (06:38 +1000)]
svga: don't report mesh/task shader limits
Reviewed-by: Neha Bhende <bhenden@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Wed, 31 May 2023 20:33:40 +0000 (06:33 +1000)]
radeonsi: don't report shader params for task/mesh
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Wed, 31 May 2023 20:38:34 +0000 (06:38 +1000)]
crocus: don't report mesh/task limits
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Wed, 31 May 2023 20:33:22 +0000 (06:33 +1000)]
iris: don't return shader params for task/mesh.
These should be reported as 0 for cso
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Mon, 29 May 2023 03:37:30 +0000 (13:37 +1000)]
gallium: add task/mesh shader entrypoints in context
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Wed, 31 May 2023 20:43:52 +0000 (06:43 +1000)]
freedreno: don't report task/mesh.
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Mon, 29 May 2023 03:36:45 +0000 (13:36 +1000)]
gallium: add a new PIPE_SHADER_MESH_TYPES
This adds a new limit, changing PIPE_SHADER_TYPES seems frought
with danger and very tricky. Currently only lava/llvmpipe plan to
offer task/mesh in GL land, so let's limit the fallout for now.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Mon, 29 May 2023 03:27:29 +0000 (13:27 +1000)]
gallium: expand pipe_grid_info to handle task/mesh.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Dave Airlie [Mon, 29 May 2023 03:27:02 +0000 (13:27 +1000)]
gallium: add task/mesh shader query types to stats interface.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291>
Karol Herbst [Thu, 1 Jun 2023 19:37:49 +0000 (21:37 +0200)]
rusticl/device: limit MAX_PARAMETER_SIZE to 32k
There is no good reason of having it too big and radeonsi returns an
absurd high value through PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE.
This speeds up the CTS testing this device limit.
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23378>
Kenneth Graunke [Wed, 31 May 2023 19:15:02 +0000 (12:15 -0700)]
intel/compiler: Fix a fallthrough in components_read() for atomics
In commit
284f0c9a57e17b14c044c04c7cf9ae77d6694492 I refactored the
handling of the data source to just call a helper rather than special
casing opcodes with 0 or 2 sources. Unfortunately, I also dropped the
"else return 1", creating a fallthrough for all sources other than
SURFACE_LOGICAL_SRC_ADDRESS and SURFACE_LOGICAL_SRC_DATA.
The case below happened to return the correct value for all cases except
SURFACE_LOGICAL_SRC_SURFACE, which has been returning 2 instead of 1
since that commit.
Restore the else case. Thanks to Marcin Ślusarz for catching this.
Fixes:
284f0c9a57e1 ("intel/compiler: Add an lsc_op_num_data_values() helper")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23347>
Rob Clark [Sun, 28 May 2023 19:08:28 +0000 (12:08 -0700)]
freedreno/a6xx: Enable gl46
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sun, 28 May 2023 19:03:51 +0000 (12:03 -0700)]
freedreno/a6xx: GL_ARB_pipeline_statistics_query
Handle the other pipeline stats counters in order to implement
GL_ARB_pipeline_statistics_query. Note that this does away with
collecting *all* the counters if DEBUG_COUNTERS is enabled, other-
wise it was getting over-complicated.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Mon, 29 May 2023 15:20:16 +0000 (08:20 -0700)]
freedreno: Handle compute queries
Compute stage can have queries too. We need to handle that.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sun, 28 May 2023 18:15:26 +0000 (11:15 -0700)]
freedreno/a6xx: Handle nested pipeline stats queries
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sun, 28 May 2023 18:08:53 +0000 (11:08 -0700)]
freedreno/a6xx: Split primitives and pipeline-stats queries
They are really two completely different things.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sat, 27 May 2023 18:03:45 +0000 (11:03 -0700)]
freedreno/a6xx: GL_ARB_transform_feedback_overflow_query
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sun, 28 May 2023 17:41:31 +0000 (10:41 -0700)]
freedreno/a6xx: Remove primitives_relocw()
These days we don't track read vs write relocs, so it is the same thing
as primitives_reloc()
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sun, 28 May 2023 15:12:50 +0000 (08:12 -0700)]
freedreno/a6xx: Fix xfb stream configuration
Also, only emit PC_SO_STREAM_CNTL for tess shaders, to align with how
turnip does it.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sat, 27 May 2023 19:05:57 +0000 (12:05 -0700)]
freedreno/a6xx: Add missing cap
Fixes wrong value reported for GL_MAX_VERTEX_STREAMS.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sat, 27 May 2023 16:27:58 +0000 (09:27 -0700)]
freedreno/a6xx: Stop using fd_wfi()
This was originally intended for earlier gens where certain draw-time
state needed a WFI (because it wasn't banked, etc). This isn't the case
on a6xx. So just directly emit WFIs where they are needed.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Rob Clark [Sat, 27 May 2023 15:45:28 +0000 (08:45 -0700)]
freedreno/a6xx: Clean up open coded flushes
Migrate more code to fd6_emit_flushes().
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>
Georg Lehmann [Mon, 29 May 2023 14:39:39 +0000 (16:39 +0200)]
aco: p_start_linear_vgpr doesn't always need exec mask
Foz-DB Navi21:
Totals from 1605 (1.21% of 132657) affected shaders:
CodeSize:
14023700 ->
14020320 (-0.02%)
Instrs: 2589881 -> 2589052 (-0.03%)
Latency:
22478420 ->
22473359 (-0.02%)
InvThroughput: 3851237 -> 3851092 (-0.00%)
Copies: 215316 -> 215438 (+0.06%); split: -0.39%, +0.44%
Allows more vcmpx usage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23302>
Lionel Landwerlin [Thu, 1 Jun 2023 06:30:37 +0000 (09:30 +0300)]
intel/fs: fix a couple of descriptor mistakes
I found those issues while testing DOOM eternal and Ian also ran into
it with other shaders.
We write the desc register in SIMD1 exec_all, so all the data is in
the first component. We need to make sure to pass that component in
the lower SEND instructions.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23354>
Rhys Perry [Wed, 31 May 2023 14:01:10 +0000 (15:01 +0100)]
radv: allow wave32 for geometry shaders
Because is_ngg wasn't set early enough, radv_get_wave_size() would always
return 64.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23336>
Marek Olšák [Mon, 15 May 2023 05:29:44 +0000 (01:29 -0400)]
ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015>
Marek Olšák [Mon, 15 May 2023 06:53:18 +0000 (02:53 -0400)]
radv: implement setting a custom pitch to any multiple of 256B on gfx10.3+
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015>
Marek Olšák [Mon, 15 May 2023 05:28:15 +0000 (01:28 -0400)]
radeonsi: implement setting a custom pitch to any multiple of 256B on gfx10.3+
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015>
Marek Olšák [Thu, 1 Jun 2023 11:10:27 +0000 (07:10 -0400)]
ac/nir: handle DEPTH as PITCH in ac_nir_lower_resinfo
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015>
Marek Olšák [Thu, 18 May 2023 20:41:36 +0000 (16:41 -0400)]
ac/surface: fix is_linear for stencil-only surfaces
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015>
Marek Olšák [Wed, 31 May 2023 16:21:40 +0000 (12:21 -0400)]
amd/addrlib: add ADDR_FMT_BG_RG_16_16_16_16
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23339>
Marek Olšák [Wed, 31 May 2023 16:20:59 +0000 (12:20 -0400)]
amd/addrlib: switch the license to the SPDX identifier MIT
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23339>
Eric Engestrom [Thu, 1 Jun 2023 09:04:03 +0000 (10:04 +0100)]
ci/b2c: also detect non-soft GPU hangs with AMDGPU
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23358>
Mykhailo Skorokhodov [Thu, 1 Jun 2023 10:56:52 +0000 (13:56 +0300)]
mesa: Fallthrough GL_SRB_DECODE_ARB pname
GL_SRGB_DECODE_ARB should fall through into the (!query2) test.
Related-to: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21682
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23363>
Italo Nicola [Thu, 1 Jun 2023 10:23:49 +0000 (07:23 -0300)]
egl: fix comments alignment
Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20387>
Italo Nicola [Wed, 14 Dec 2022 23:29:14 +0000 (20:29 -0300)]
egl: disable partial redraw when gallium hud is active
We draw the gallium hud directly to the rendered buffer, meaning that if
the buffer age is queried and then a partial redraw is done, we get a
ghosting effect from the hud drawn in previous frames.
Since we need to draw the hud with updated values every frame anyway,
there's no harm in disabling the buffer age and partial redraw.
Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Tested-by: Chris Healy <cphealy@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20387>
Corentin Noël [Wed, 31 May 2023 15:48:36 +0000 (17:48 +0200)]
util: Use the gcc_struct attribute for packed structures in mingw
Actually set the packing behavior as the intended one when using this attribute,
even on mingw.
Otherwise, the default behavior is to use the ms_struct which makes the structures
use more space in some situations.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23338>
Eric Engestrom [Wed, 31 May 2023 13:30:49 +0000 (14:30 +0100)]
ci/zink+anv: fix flakes definition
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23364>
Eric Engestrom [Wed, 31 May 2023 13:30:41 +0000 (14:30 +0100)]
ci/crocus: fix flakes definition
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23364>
Eric Engestrom [Wed, 31 May 2023 13:30:31 +0000 (14:30 +0100)]
ci/radv: fix flakes definition
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23364>
David Heidelberg [Thu, 1 Jun 2023 11:13:02 +0000 (13:13 +0200)]
ci/ccache: recent ccache changed a output a bit, adapt script
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23359>
David Heidelberg [Thu, 1 Jun 2023 08:47:43 +0000 (10:47 +0200)]
ci: bump Alpine to 3.18
Update LLVM to 16.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23359>
Samuel Pitoiset [Wed, 31 May 2023 12:23:35 +0000 (14:23 +0200)]
radv: merge all FS user SGPRs into one using packed arguments
Much cleaner and this will allow us to add more arguments easily.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23333>
Samuel Pitoiset [Wed, 31 May 2023 11:51:42 +0000 (13:51 +0200)]
radv: regroup fragment shader user SGPRs emission
In preparation to use a packed user SGPR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23333>