platform/upstream/mesa.git
15 months agoradv: stop passing a graphics pipeline to radv_pipeline_nir_to_asm()
Samuel Pitoiset [Tue, 25 Jul 2023 11:25:16 +0000 (13:25 +0200)]
radv: stop passing a graphics pipeline to radv_pipeline_nir_to_asm()

Also rename the function.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24423>

15 months agoradv: remove unnecessary check in radv_pipeline_nir_to_asm()
Samuel Pitoiset [Tue, 25 Jul 2023 11:14:26 +0000 (13:14 +0200)]
radv: remove unnecessary check in radv_pipeline_nir_to_asm()

If a NIR stage is present, there shouldn't be any compiled binaries
in the same stage slot.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24423>

15 months agointel/dev: Support xe2 device init (for intel_device_info_test)
Jordan Justen [Wed, 29 Jun 2022 06:22:28 +0000 (23:22 -0700)]
intel/dev: Support xe2 device init (for intel_device_info_test)

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24419>

15 months agointel/dev: Add LNL platform enum
Jordan Justen [Tue, 28 Jun 2022 18:54:41 +0000 (11:54 -0700)]
intel/dev: Add LNL platform enum

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24421>

15 months agollvmpipe: fix fragdata/lastfragdata heuristic a bit more.
Dave Airlie [Wed, 2 Aug 2023 02:17:27 +0000 (12:17 +1000)]
llvmpipe: fix fragdata/lastfragdata heuristic a bit more.

This heuristic broke when zmike lowered fragcolor using NIR,

This fixes a regression in:
dEQP-GLES31.functional.shaders.framebuffer_fetch.basic.last_frag_data

Fixes: db1371cce1d4 ("llvmpipe: fix handling of unused color attachments")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24435>

15 months agodocs: update calendar for 23.1.5
Eric Engestrom [Wed, 2 Aug 2023 19:39:53 +0000 (20:39 +0100)]
docs: update calendar for 23.1.5

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24455>

15 months agodocs: add sha256sum for 23.1.5
Eric Engestrom [Wed, 2 Aug 2023 19:39:39 +0000 (20:39 +0100)]
docs: add sha256sum for 23.1.5

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24455>

15 months agodocs: add release notes for 23.1.5
Eric Engestrom [Wed, 2 Aug 2023 19:34:12 +0000 (20:34 +0100)]
docs: add release notes for 23.1.5

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24455>

15 months agor600/sfn: AR loads should depend on all previous non ALU instructions
Gert Wollny [Tue, 1 Aug 2023 08:33:55 +0000 (10:33 +0200)]
r600/sfn: AR loads should depend on all previous non ALU instructions

These instructions could be re-ordered, so depending just on the last one
is not sufficient.

Fixes: d21054b4bc92a1a9240841dca719f81a142fd5cc
   r600/sfn: Add pass to split address and index register loads

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24454>

15 months agor600/sfn: Only switch to other CF if no AR uses are pending
Gert Wollny [Tue, 1 Aug 2023 08:29:34 +0000 (10:29 +0200)]
r600/sfn: Only switch to other CF if no AR uses are pending

Otherwise we end up with an incorrect array load (or an assertion failure).

Fixes: d617052db6b2f359d7242875013603ec63b069fc
    r600/sfn: take address loads into account when scheduling

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24454>

15 months agoci: drop rule for non-existent src/include/
Eric Engestrom [Wed, 2 Aug 2023 14:12:24 +0000 (15:12 +0100)]
ci: drop rule for non-existent src/include/

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24449>

15 months agoci: add .core-rules to .gallium-core-rules
Eric Engestrom [Wed, 2 Aug 2023 14:06:35 +0000 (15:06 +0100)]
ci: add .core-rules to .gallium-core-rules

All the users of the latter were already getting the former through
other rules so there's no functional change, but it's more correct.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24449>

15 months agoradv: add support for emitting TCS epilogs in cmdbuf
Samuel Pitoiset [Mon, 31 Jul 2023 14:19:52 +0000 (16:19 +0200)]
radv: add support for emitting TCS epilogs in cmdbuf

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: add support for a TCS epilogs cache in the device
Samuel Pitoiset [Mon, 31 Jul 2023 13:49:25 +0000 (15:49 +0200)]
radv: add support for a TCS epilogs cache in the device

Similar to VS prologs and PS epilogs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: add infra for creating TCS epilogs
Samuel Pitoiset [Wed, 2 Aug 2023 13:17:08 +0000 (15:17 +0200)]
radv: add infra for creating TCS epilogs

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: add radv_tcs_epilog_key
Samuel Pitoiset [Mon, 31 Jul 2023 13:54:27 +0000 (15:54 +0200)]
radv: add radv_tcs_epilog_key

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: declare new argument for the TCS epilog PC
Samuel Pitoiset [Mon, 31 Jul 2023 14:15:27 +0000 (16:15 +0200)]
radv: declare new argument for the TCS epilog PC

To jump to the TCS epilog.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: track if TES reads tess factors differently
Samuel Pitoiset [Mon, 31 Jul 2023 16:12:01 +0000 (18:12 +0200)]
radv: track if TES reads tess factors differently

This information will be passed through the TCS epilog key.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: do not write tess factors in main TCS when it has an epilog
Samuel Pitoiset [Mon, 31 Jul 2023 14:24:08 +0000 (16:24 +0200)]
radv: do not write tess factors in main TCS when it has an epilog

Tess factors will be written by TCS epilogs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv: assume a TCS needs an epilog unless it's linked with a TES
Samuel Pitoiset [Wed, 2 Aug 2023 06:54:43 +0000 (08:54 +0200)]
radv: assume a TCS needs an epilog unless it's linked with a TES

For shader object.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agoradv,aco: move has_epilog to radv_shader_info
Samuel Pitoiset [Wed, 2 Aug 2023 06:53:18 +0000 (08:53 +0200)]
radv,aco: move has_epilog to radv_shader_info

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404>

15 months agobroadcom/ci: reduce v3dv-rpi4-vk timeout to 30min (instead of 1h)
Eric Engestrom [Fri, 14 Jul 2023 17:51:06 +0000 (18:51 +0100)]
broadcom/ci: reduce v3dv-rpi4-vk timeout to 30min (instead of 1h)

This means that when things go wrong, we don't hold the runner (and Marge)
for as long, while still having a 2x margin over the usual run time.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24402>

15 months agobroadcom/ci: reduce v3d-rpi4-traces timeout to 30min (instead of 1h)
Eric Engestrom [Fri, 14 Jul 2023 17:50:43 +0000 (18:50 +0100)]
broadcom/ci: reduce v3d-rpi4-traces timeout to 30min (instead of 1h)

This means that when things go wrong, we don't hold the runner (and Marge)
for as long, while still having a 2x margin over the usual run time.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24402>

15 months agobroadcom/ci: reduce v3d-rpi4-gl timeout to 30min (instead of 1h)
Eric Engestrom [Fri, 14 Jul 2023 17:50:07 +0000 (18:50 +0100)]
broadcom/ci: reduce v3d-rpi4-gl timeout to 30min (instead of 1h)

This means that when things go wrong, we don't hold the runner (and Marge)
for as long, while still having a 2x margin over the usual run time.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24402>

15 months agobroadcom/ci: reduce vc4-rpi3-gl timeout to 30min (instead of 1h)
Eric Engestrom [Fri, 14 Jul 2023 17:49:36 +0000 (18:49 +0100)]
broadcom/ci: reduce vc4-rpi3-gl timeout to 30min (instead of 1h)

This means that when things go wrong, we don't hold the runner (and Marge)
for as long, while still having a 2x margin over the usual run time.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24402>

15 months agonir: Remove register load/store builders
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:50:38 +0000 (10:50 -0400)]
nir: Remove register load/store builders

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24450>

15 months agonir: Remove reg_intrinsics parameter to convert_from_ssa
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:35:21 +0000 (10:35 -0400)]
nir: Remove reg_intrinsics parameter to convert_from_ssa

All users must set it.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24450>

15 months agonir: Remove lower_vec_to_movs
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:33:11 +0000 (10:33 -0400)]
nir: Remove lower_vec_to_movs

Unused.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24450>

15 months agonir: Remove lower_to_source_mods
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:32:24 +0000 (10:32 -0400)]
nir: Remove lower_to_source_mods

Unused.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24450>

15 months agoci: reduce bare-metal retries of poe_run to only 3 attempts
Eric Engestrom [Mon, 31 Jul 2023 16:21:18 +0000 (17:21 +0100)]
ci: reduce bare-metal retries of poe_run to only 3 attempts

10 is overkill, if we fail that many times in a row we should stop
trying on this runner.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24407>

15 months agoci: add a 10min job timeout to formatting checks
Eric Engestrom [Tue, 1 Aug 2023 16:01:46 +0000 (17:01 +0100)]
ci: add a 10min job timeout to formatting checks

They both take only a few seconds, but it can take up to a minute for
setting up the job, and various external factors such as network can add
delays, so let's round it up to a generous 10 minutes.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24431>

15 months agoci/freedreno: document another mapbuffer flake on a530
David Heidelberg [Tue, 1 Aug 2023 10:34:58 +0000 (13:34 +0300)]
ci/freedreno: document another mapbuffer flake on a530

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24441>

15 months agobroadcom/ci: update expected results
Juan A. Suarez Romero [Tue, 1 Aug 2023 07:13:28 +0000 (09:13 +0200)]
broadcom/ci: update expected results

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24437>

15 months agoaco: add infra for compiling TCS epilogs
Samuel Pitoiset [Wed, 2 Aug 2023 06:24:47 +0000 (08:24 +0200)]
aco: add infra for compiling TCS epilogs

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24417>

15 months agoaco: extract aco_compile_shader_part from aco_compile_ps_epilog
Qiang Yu [Wed, 2 Aug 2023 06:23:57 +0000 (08:23 +0200)]
aco: extract aco_compile_shader_part from aco_compile_ps_epilog

Will be shared with radeonsi tcs epilog and other shader parts build.

Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24417>

15 months agoaco: add aco_shader_info::tcs::has_epilog
Samuel Pitoiset [Wed, 2 Aug 2023 06:22:58 +0000 (08:22 +0200)]
aco: add aco_shader_info::tcs::has_epilog

This will be used by both RADV and RadeonSI to jump from the main TCS
to the epilog.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24417>

15 months agoradv: allow to use fixed IO locations for VS<->TCS<->TES without linking
Samuel Pitoiset [Tue, 1 Aug 2023 13:30:19 +0000 (15:30 +0200)]
radv: allow to use fixed IO locations for VS<->TCS<->TES without linking

For shader objects.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24408>

15 months agoamd,radeonsi: move si_shader_io_get_unique_index_patch() to common code
Samuel Pitoiset [Tue, 1 Aug 2023 11:54:30 +0000 (13:54 +0200)]
amd,radeonsi: move si_shader_io_get_unique_index_patch() to common code

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24408>

15 months agoutil/meson: Getting mesa util core to be self contained
Yonggang Luo [Tue, 8 Nov 2022 08:12:10 +0000 (16:12 +0800)]
util/meson: Getting mesa util core to be self contained

Guard util to be standalone by move subdir('util') just behind subdir('android_stub')

texcompress_rgtc_tmp.h is not a standard c header, do not treat it as source

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agoutil:Move only gallium used u_debug_refcnt.* and u_debug_describe.* into src/gallium...
Yonggang Luo [Tue, 8 Nov 2022 08:12:10 +0000 (16:12 +0800)]
util:Move only gallium used u_debug_refcnt.* and u_debug_describe.* into src/gallium/auxiliary/util/

Because these files indeed doesn't belongs to src/util, they are tightly coupled with
src/gallium/auxiliary

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agoutil: Remove include "pipe/*.h" in src/util/* files
Yonggang Luo [Mon, 7 Nov 2022 07:14:47 +0000 (15:14 +0800)]
util: Remove include "pipe/*.h" in src/util/* files

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agoutil: Move u_pack_color.h and dbughelp.h into src/util from/src/gallium/auxiliary...
Yonggang Luo [Sun, 4 Jun 2023 09:22:09 +0000 (17:22 +0800)]
util: Move u_pack_color.h and dbughelp.h into src/util from/src/gallium/auxiliary/util/

As u_pack_color.h is used in vulkan drivers, so decouple it from gallium by this move
And dbghelp.h is included in u_debug_symbol.c and that's resident in src/util/

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agoutil: Move pipe_color_union from p_defines.h into u_formats.h
Yonggang Luo [Sun, 4 Jun 2023 09:25:36 +0000 (17:25 +0800)]
util: Move pipe_color_union from p_defines.h into u_formats.h

As pipe_color_union is used in vulkan drivers, so decouple it from gallium by this move

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agoutil: Move PIPE_MASK_* from p_defines.h to u_formats.h
Yonggang Luo [Sun, 4 Jun 2023 09:15:31 +0000 (17:15 +0800)]
util: Move PIPE_MASK_* from p_defines.h to u_formats.h

PIPE_MASK_* is used by src/util/*, so do the move to decouple src/util/* from gallium

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agoutil: Move pipe_swizzle from p_defines.h to u_formats.h
Yonggang Luo [Sun, 4 Jun 2023 09:12:10 +0000 (17:12 +0800)]
util: Move pipe_swizzle from p_defines.h to u_formats.h

pipe_swizzle is used by src/util/*, so do the move to decouple src/util/* from gallium

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19522>

15 months agolavapipe: don't check geometry for fb attachments
Mike Blumenkrantz [Wed, 26 Jul 2023 20:30:56 +0000 (16:30 -0400)]
lavapipe: don't check geometry for fb attachments

this is broken since surfaces always have minified geometry

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24339>

15 months agolavapipe: zero fb attachment array at rp start
Mike Blumenkrantz [Wed, 26 Jul 2023 20:21:08 +0000 (16:21 -0400)]
lavapipe: zero fb attachment array at rp start

this avoids invalid access if an attachment moves to a lower index
in a smaller renderpass

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24339>

15 months agolavapipe: statically allocate fb attachment array
Mike Blumenkrantz [Wed, 26 Jul 2023 20:20:50 +0000 (16:20 -0400)]
lavapipe: statically allocate fb attachment array

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24339>

15 months agoglsl: only explicitly check GS components in PSIZ injection with output variables
Mike Blumenkrantz [Mon, 17 Jul 2023 13:11:01 +0000 (09:11 -0400)]
glsl: only explicitly check GS components in PSIZ injection with output variables

if no output variables exist then there's plenty of room for a psiz

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24182>

15 months agozink: add feedback loop exts to optimal profile
Mike Blumenkrantz [Mon, 31 Jul 2023 15:11:50 +0000 (11:11 -0400)]
zink: add feedback loop exts to optimal profile

base feedback loop ext is more like a hard requirement, but it's tough to
pin down exactly which version requires it, and also it might "just work"
magically, so...yeah here we are

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24403>

15 months agoci/nouveau: add 20 minutes timeout to gk20a and align gm20b
David Heidelberg [Mon, 31 Jul 2023 15:21:21 +0000 (18:21 +0300)]
ci/nouveau: add 20 minutes timeout to gk20a and align gm20b

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24405>

15 months agonir: Rename scoped_barrier -> barrier
Alyssa Rosenzweig [Fri, 28 Jul 2023 19:08:00 +0000 (15:08 -0400)]
nir: Rename scoped_barrier -> barrier

sed + ninja clang-format + fix up spacing for common code.

If you are unhappy that I did not manually change the whitespace of your driver,
you need to enable clang-format for it so the formatting would happen
automatically.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopanfrost: Gate overdraw_alpha on Bifrost+
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:43:59 +0000 (10:43 -0400)]
panfrost: Gate overdraw_alpha on Bifrost+

Not used on Midgard, deals with a -Wunused-function warning.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopanfrost: Add missing inline
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:43:32 +0000 (10:43 -0400)]
panfrost: Add missing inline

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopanfrost: Only define pan_blitter_get_blend_shaders for midgard
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:42:03 +0000 (10:42 -0400)]
panfrost: Only define pan_blitter_get_blend_shaders for midgard

Unused otherwise, responds to a -Wunused-function warning.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopanfrost: Drop unused decode_position for samples
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:40:59 +0000 (10:40 -0400)]
panfrost: Drop unused decode_position for samples

There's a Gallium helper for this now.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopan/mdg: Add missing static inline annotation
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:40:32 +0000 (10:40 -0400)]
pan/mdg: Add missing static inline annotation

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopan/decode: Drop unused debug function
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:40:23 +0000 (10:40 -0400)]
pan/decode: Drop unused debug function

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agopanfrost: Add missing static inline annotation
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:40:11 +0000 (10:40 -0400)]
panfrost: Add missing static inline annotation

Quiets -Wunused-function

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agonir/passthrough_gs: Drop unused array_size_for_prim
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:45:28 +0000 (10:45 -0400)]
nir/passthrough_gs: Drop unused array_size_for_prim

../src/compiler/nir/nir_passthrough_gs.c:96:1: warning: ‘array_size_for_prim’ defined but not used [-Wunused-function]
   96 | array_size_for_prim(enum mesa_prim prim)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agonir/loop_analyze: Drop unused inverse_comparison
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:45:12 +0000 (10:45 -0400)]
nir/loop_analyze: Drop unused inverse_comparison

../src/compiler/nir/nir_loop_analyze.c:1134:1: warning: ‘inverse_comparison’ defined but not used [-Wunused-function]
 1134 | inverse_comparison(nir_op alu_op)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agogallium/u_transfer_helper: Remove dead forward decl
Alyssa Rosenzweig [Tue, 1 Aug 2023 14:42:54 +0000 (10:42 -0400)]
gallium/u_transfer_helper: Remove dead forward decl

Doesn't point to anything.

../src/gallium/auxiliary/util/u_transfer_helper.c:255:1: warning: ‘u_transfer_helper_deinterleave_transfer_map’ declared ‘static’ but never defined [-Wunused-function]
  255 | u_transfer_helper_deinterleave_transfer_map(struct pipe_context *pctx,

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24428>

15 months agoiris: Sample more texture view fast-clears on gfx11+
Nanley Chery [Tue, 9 May 2023 00:48:22 +0000 (17:48 -0700)]
iris: Sample more texture view fast-clears on gfx11+

On platforms with an indirect clear color BO, the clear color used when
sampling is in the form of a pixel. The sampler can interpret the pixel
correctly regardless of the format, so allow fast clears in more cases
within iris_resource_prepare_texture.

On gfx12, this completely removes partial resolves in a couple game
traces I tested:

   - 72 partial resolves in a 500 frame trace of CS:GO.
   - 1207 partial resolves in a 500 frame trace of Dota 2.

The resolves were triggered when ISL_FORMAT_A8_UNORM surfaces were
sampled as ISL_FORMAT_R8_UNORM.

Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24323>

15 months agoanv: Return earlier in anv_reloc_list functions
José Roberto de Souza [Mon, 31 Jul 2023 18:29:14 +0000 (11:29 -0700)]
anv: Return earlier in anv_reloc_list functions

Xe KMD don't need relocs, so calling a nop function and avoiding the
CPU cycles and memory waste with reloc.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24411>

15 months agoanv: Remove VkAllocationCallbacks parameter from reloc functions
José Roberto de Souza [Mon, 31 Jul 2023 18:13:04 +0000 (11:13 -0700)]
anv: Remove VkAllocationCallbacks parameter from reloc functions

Mismatch allocator could cause bad things, so better set the allocator
on anv_reloc_list_init() and use it in every reloc function.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24411>

15 months agoanv: Nuke unused READ_ONCE() from anv_batch_chain.c
José Roberto de Souza [Mon, 31 Jul 2023 18:53:48 +0000 (11:53 -0700)]
anv: Nuke unused READ_ONCE() from anv_batch_chain.c

Only genX_cmd_buffer.c makes use of READ_ONCE() but that file also
defines it so it can be removed from anv_batch_chain.c.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24411>

15 months agoci/amd: Skip VAAPI CreateSurfacesWithConfigAttribs/1121 test
David Rosca [Tue, 1 Aug 2023 12:50:20 +0000 (14:50 +0200)]
ci/amd: Skip VAAPI CreateSurfacesWithConfigAttribs/1121 test

It now times out with surfaces being allocated non-interlaced
by default due to a slower path being taken in clear_render_target.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24361>

15 months agoradeonsi: Don't prefer interlaced for video decode
David Rosca [Fri, 28 Jul 2023 07:40:07 +0000 (09:40 +0200)]
radeonsi: Don't prefer interlaced for video decode

Preferring interlaced results in all surfaces being allocated
as interlaced for H264 decode regardless of whether the decoded
pic is interlaced or progressive, which makes VA postproc
apply deinterlacing even for progressive pics.

Deinterlacing interlaced pics still works because VA frontend
will now reallocate surface as interlaced when decoding interlaced
pics.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24361>

15 months agofrontends/vdpau: Alloc interlaced surface for interlaced pics
David Rosca [Fri, 28 Jul 2023 16:14:10 +0000 (18:14 +0200)]
frontends/vdpau: Alloc interlaced surface for interlaced pics

When decoding interlaced pics, the output surface should
also be allocated as interlaced to make the deinterlace
postproc filter work correctly.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24361>

15 months agofrontends/va: Alloc interlaced surface for interlaced pics
David Rosca [Fri, 28 Jul 2023 07:25:00 +0000 (09:25 +0200)]
frontends/va: Alloc interlaced surface for interlaced pics

When decoding interlaced pics, the output surface should
also be allocated as interlaced to make the deinterlace
postproc filter work correctly.

This makes deinterlacing work for drivers that supports, but
not prefers, interlaced surfaces.

Use extra buffer instead of reallocating as non-interlaced
when exporting interlaced surfaces.

v2: Avoid reallocating in vlVaExportSurfaceHandle

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24361>

15 months agomesa/main: allow readpix/teximage to read from implicitly multisampled fbos
Italo Nicola [Tue, 21 Feb 2023 16:32:03 +0000 (16:32 +0000)]
mesa/main: allow readpix/teximage to read from implicitly multisampled fbos

The GL_EXT_multisampled_render_to_texture spec explicitly allow reading
from these FBOs.

"Similarly, for ReadPixels:
 'An INVALID_OPERATION error is generated if the value of READ_-
FRAMEBUFFER_BINDING (see section 9) is non-zero, the read framebuffer is
framebuffer complete, and the value of SAMPLE_BUFFERS for the read
framebuffer is one.'

 These errors do not apply to textures and renderbuffers that have
associated multisample data specified by the mechanisms described in
this extension, i.e., the above operations are allowed even when
SAMPLE_BUFFERS is non-zero for renderbuffers created via Renderbuffer-
StorageMultisampleEXT or textures attached via FramebufferTexture2D-
MultisampleEXT."

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10747>

15 months agomesa/main: account for RTT samples when updating framebuffer
Italo Nicola [Fri, 14 May 2021 11:25:42 +0000 (11:25 +0000)]
mesa/main: account for RTT samples when updating framebuffer

For EXT_multisampled_render_to_texture, we store the number of samples
in Attachment->NumSamples instead of Renderbuffer->NumSamples. This
meant that the previous code ignored that the framebuffer was
multisampled. Because of this, pipe_rasterizer_state::multisample is set
incorrectly, leading to visual artifacts on drivers that support MS-RTT
extension, such as panfrost.

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10747>

15 months agogallium: bump PIPE_MAX_SO_OUTPUTS to 128
Mike Blumenkrantz [Fri, 21 Jul 2023 16:48:19 +0000 (12:48 -0400)]
gallium: bump PIPE_MAX_SO_OUTPUTS to 128

this is the number of components supported for streamout

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24285>

15 months agoir3: bump max xfb output to 128
Mike Blumenkrantz [Fri, 21 Jul 2023 16:48:19 +0000 (12:48 -0400)]
ir3: bump max xfb output to 128

this is the number of components supported for streamout

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24285>

15 months agoradv: bump max xfb output to 128
Mike Blumenkrantz [Fri, 21 Jul 2023 16:48:19 +0000 (12:48 -0400)]
radv: bump max xfb output to 128

this is the number of components supported for streamout

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24285>

15 months agozink: Hash only first 32 bits of zink_gfx_pipeline_state with full DS3
jazzfool [Tue, 1 Aug 2023 15:24:36 +0000 (01:24 +1000)]
zink: Hash only first 32 bits of zink_gfx_pipeline_state with full DS3

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8245
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24430>

15 months agointel/genxml/gen125: Set MI_MATH MOCS field as non-zero
José Roberto de Souza [Mon, 17 Apr 2023 17:10:37 +0000 (10:10 -0700)]
intel/genxml/gen125: Set MI_MATH MOCS field as non-zero

All MOCS tables have 0 as a invalid value, so this will asssert
in case some place misset to set MI_MATH MOCS field.

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/22508>

15 months agointel/tests/mi_builder: Set MI_MATH MOCS field
José Roberto de Souza [Mon, 17 Jul 2023 21:15:39 +0000 (14:15 -0700)]
intel/tests/mi_builder: Set MI_MATH MOCS field

MOCS = 0 is a invalid MOCS index on MTL, so it is necessary get a
valid value and set to MI_MATH instructions.

So here the mocs index is set with mi_builder_set_mocs(), it can be
always set but it is required when mi_build will emit MI_MATH
instructions.
The mocs index will only be stored and used in gfx12.5+ platforms
so no changes were are required in crocus or hasvk.

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/22508>

15 months agoanv: Set MI_MATH MOCS field
José Roberto de Souza [Mon, 17 Jul 2023 21:14:38 +0000 (14:14 -0700)]
anv: Set MI_MATH MOCS field

MOCS = 0 is a invalid MOCS index, so it is necessary get a valid value
and set to MI_MATH instructions.

So here the mocs index is set with mi_builder_set_mocs(), it can be
always set but it is required when mi_build will emit MI_MATH
instructions.
The mocs index will only be stored and used in gfx12.5+ platforms
so no changes were are required in crocus or hasvk.

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/22508>

15 months agoiris: Set MI_MATH MOCS field
José Roberto de Souza [Mon, 17 Jul 2023 21:06:22 +0000 (14:06 -0700)]
iris: Set MI_MATH MOCS field

MOCS = 0 is a invalid MOCS index on MTL, so it is necessary get a
valid value and set to MI_MATH instructions.

So here the mocs index is set with mi_builder_set_mocs(), it can be
always set but it is required when mi_build will emit MI_MATH
instructions.
The mocs index will only be stored and used in gfx12.5+ platforms
so no changes were are required in crocus or hasvk.

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/22508>

15 months agointel/genxml/gen125: Add missing fields in MI_MATH
José Roberto de Souza [Fri, 14 Apr 2023 18:03:19 +0000 (11:03 -0700)]
intel/genxml/gen125: Add missing fields in MI_MATH

BSpec: 53415
BSpec: 45737
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/22508>

15 months agoanv: Use the common versions of vkBegin/EndQuery()
Faith Ekstrand [Mon, 31 Jul 2023 16:31:24 +0000 (11:31 -0500)]
anv: Use the common versions of vkBegin/EndQuery()

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24409>

15 months agoanv: Use vk_query_pool
Faith Ekstrand [Mon, 31 Jul 2023 16:30:37 +0000 (11:30 -0500)]
anv: Use vk_query_pool

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24409>

15 months agovulkan: Add init/finish helpers for vk_query_pool
Faith Ekstrand [Mon, 31 Jul 2023 16:24:03 +0000 (11:24 -0500)]
vulkan: Add init/finish helpers for vk_query_pool

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24409>

15 months agoanv: Use vk_buffer_view
Faith Ekstrand [Mon, 31 Jul 2023 16:15:29 +0000 (11:15 -0500)]
anv: Use vk_buffer_view

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24409>

15 months agoanv: Use vk_sampler
Faith Ekstrand [Mon, 31 Jul 2023 16:09:48 +0000 (11:09 -0500)]
anv: Use vk_sampler

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24409>

15 months agonv/codegen: Implement nir_op_fquantize2f16
M Henning [Fri, 21 Jul 2023 02:54:52 +0000 (22:54 -0400)]
nv/codegen: Implement nir_op_fquantize2f16

Passes most of dEQP-VK.spirv_assembly.instruction.graphics.opquantize.* but
not the too_small_* tests for some reason. (Tested on kepler.)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonv50/ir: Run nir_divergence_analysis before out-of-SSA
Faith Ekstrand [Sat, 15 Jul 2023 05:08:54 +0000 (00:08 -0500)]
nv50/ir: Run nir_divergence_analysis before out-of-SSA

We don't actually use or need this information but it gets generated by
nir_opt_non_uniform_access() and stale divergence information can cause
out-of-SSA to assert in parallel copy lowering.

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Add capability to pre-specify tessellation domain
George Ouzounoudis [Mon, 24 Oct 2022 17:02:02 +0000 (20:02 +0300)]
nouveau/codegen: Add capability to pre-specify tessellation domain

In the case of SPIRV tessellation shaders, the execution mode can be
specified in the tessellation control shader. So we need a way to know the domain
when compiling the tessellation evaluation shader.

Acked-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Fix compact patch varyings in case of NIR
George Ouzounoudis [Fri, 14 Apr 2023 12:14:37 +0000 (15:14 +0300)]
nouveau/codegen: Fix compact patch varyings in case of NIR

The code path was not implemented and an assert was reached.

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Don't convertSurfaceFormat for unknown formats
Faith Ekstrand [Wed, 3 May 2023 23:13:55 +0000 (18:13 -0500)]
nouveau/codegen: Don't convertSurfaceFormat for unknown formats

Without this and the previous patch, it would see PIPE_FORMAT_NONE as a
zero-component format and delete the whole load.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Use a NULL format for PIPE_FORMAT_NONE for images
Faith Ekstrand [Wed, 3 May 2023 23:10:41 +0000 (18:10 -0500)]
nouveau/codegen: Use a NULL format for PIPE_FORMAT_NONE for images

Get rid of our own FMT_NONE and just use a NULL format in that case.
We're already checking su->tex.format != NULL in a bunch of cases but
none of those NULL checks are doing anything right now execpt detecting
when its an actual texture op and not an image op.  We'd like them to
start also applying for image load/store with an unspecified format.

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Handle nir op amul
George Ouzounoudis [Sun, 27 Nov 2022 12:49:04 +0000 (14:49 +0200)]
nouveau/codegen: Handle nir op amul

This came from CTS clipping tests with geometry shaders.  Maybe can be
done as a lowering operation instead.

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Support compact clip distances with arrayed_io
George Ouzounoudis [Fri, 6 Jan 2023 00:21:38 +0000 (18:21 -0600)]
nouveau/codegen: Support compact clip distances with arrayed_io

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Set lower_device_index_to_zero
Rebecca Mckeever [Fri, 9 Dec 2022 22:30:45 +0000 (16:30 -0600)]
nouveau/codegen: Set lower_device_index_to_zero

This instructs NIR to lower DeviceIndex to zero, which is needed
for a no-op implementation of VK_KHR_device_group.

Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Support nir_intrinsic_load_workgroup_id_zero_base
Rebecca Mckeever [Fri, 9 Dec 2022 22:29:18 +0000 (16:29 -0600)]
nouveau/codegen: Support nir_intrinsic_load_workgroup_id_zero_base

Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/codegen: Handle/indirect goes before sample index
Faith Ekstrand [Tue, 31 Jan 2023 02:12:02 +0000 (20:12 -0600)]
nouveau/codegen: Handle/indirect goes before sample index

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau/nir: Implement support for compact arrays
Faith Ekstrand [Tue, 31 Jan 2023 02:11:56 +0000 (20:11 -0600)]
nouveau/nir: Implement support for compact arrays

This is needed for clip and cull distances.

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonv/codegen: Call nir_shader_gather_info
M Henning [Sat, 29 Jul 2023 16:25:05 +0000 (12:25 -0400)]
nv/codegen: Call nir_shader_gather_info

We need this info to be up-to-date for slot assignment.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>

15 months agonouveau: Allow GLSL_SAMPLER_DIM_SUBPASS*
Faith Ekstrand [Tue, 31 Jan 2023 02:11:55 +0000 (20:11 -0600)]
nouveau: Allow GLSL_SAMPLER_DIM_SUBPASS*

Reviewed-by: M Henning <drawoc@darkrefraction.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24327>