platform/upstream/mesa.git
16 months agoradv: Use per-prim params in has_param_exports.
Timur Kristóf [Fri, 17 Feb 2023 11:58:07 +0000 (12:58 +0100)]
radv: Use per-prim params in has_param_exports.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409>

16 months agoradv: Add per-prim attributes to ring_attr stride.
Timur Kristóf [Fri, 17 Feb 2023 11:57:26 +0000 (12:57 +0100)]
radv: Add per-prim attributes to ring_attr stride.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409>

16 months agoradv: Use new mesh shading packet defines.
Timur Kristóf [Thu, 23 Mar 2023 09:39:56 +0000 (10:39 +0100)]
radv: Use new mesh shading packet defines.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409>

16 months agoac: Add more defines for mesh shading packets.
Timur Kristóf [Thu, 23 Mar 2023 09:33:57 +0000 (10:33 +0100)]
ac: Add more defines for mesh shading packets.

Add some set macro defines for mesh shading packets.
The naming convention is:
S_(packet opcode)(dword index)_FIELD_NAME

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409>

16 months agoci: bump Alpine to 3.17 (again)
David Heidelberg [Mon, 20 Mar 2023 21:41:30 +0000 (22:41 +0100)]
ci: bump Alpine to 3.17 (again)

Now with fixed ccache 4.7.5.

`ccache` changelog:
Disabled the inode cache by default again since there have reports of ccache
processes hanging on futex calls related to the inode cache.

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

16 months agov3d: fix condition for EZ disabling when stencil on
Juan A. Suarez Romero [Wed, 22 Mar 2023 18:05:17 +0000 (19:05 +0100)]
v3d: fix condition for EZ disabling when stencil on

When stencil is enabled and it isn't non-op, Early-Z must be disabled.

The condition that checks this for stencil[0] is correct, but the one
for stencil[1] is wrong: it uses an "and" instead of "or" condition.

This affects dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.14

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22081>

16 months agointel/dev: fold Gfx12 URB entries in Gfx12 HW info
Lionel Landwerlin [Thu, 16 Mar 2023 20:01:02 +0000 (22:01 +0200)]
intel/dev: fold Gfx12 URB entries in Gfx12 HW info

Also add a non-zero URB size for intel_stub_gpu

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

16 months agointel/devinfo: initialize pci_device_id with from_pci_id()
Lionel Landwerlin [Fri, 17 Mar 2023 12:35:48 +0000 (14:35 +0200)]
intel/devinfo: initialize pci_device_id with from_pci_id()

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Suggested-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

16 months agointel/devinfo: dedicated entries for XeHP
Lionel Landwerlin [Thu, 16 Mar 2023 08:38:19 +0000 (10:38 +0200)]
intel/devinfo: dedicated entries for XeHP

Also fixing the max URB entries for VS stage.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reported-by: Chuansheng Liu <chuansheng.liu@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

16 months agointel/dev: use generated WA helpers for Wa_22012575642
Lionel Landwerlin [Thu, 16 Mar 2023 08:28:23 +0000 (10:28 +0200)]
intel/dev: use generated WA helpers for Wa_22012575642

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Mark Janes <markjanes@swizzler.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

16 months agointel/devinfo: printout URB entries
Lionel Landwerlin [Thu, 16 Mar 2023 09:23:56 +0000 (11:23 +0200)]
intel/devinfo: printout URB entries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

16 months agointel/devinfo: add an option to pick platform to print
Lionel Landwerlin [Thu, 16 Mar 2023 09:13:29 +0000 (11:13 +0200)]
intel/devinfo: add an option to pick platform to print

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

16 months agoci/windows: Update warp to 1.0.5
Jesse Natalie [Mon, 20 Mar 2023 21:04:55 +0000 (14:04 -0700)]
ci/windows: Update warp to 1.0.5

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

16 months agoac/llvm: add missing type convert for nir_load_buffer_amd
Qiang Yu [Mon, 20 Mar 2023 10:23:52 +0000 (18:23 +0800)]
ac/llvm: add missing type convert for nir_load_buffer_amd

Fixes: afcbccb0781 ("ac/llvm: implement ACCESS_USE_FORMAT_AMD as buffer_load/store_format")
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/22043>

16 months agoac/llvm: respect channel_type when ac_build_buffer_load
Qiang Yu [Tue, 21 Mar 2023 07:07:02 +0000 (15:07 +0800)]
ac/llvm: respect channel_type when ac_build_buffer_load

Mainly for nir_load_smem_buffer_amd which pass i32 for this parameter.

Fixes: 8030fbcf16a ("nir,ac/llvm: add nir_load_smem_buffer_amd")
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/22043>

16 months agoglsl: Write a new test for GLSL and NIR mediump lowering.
Emma Anholt [Mon, 27 Feb 2023 20:50:22 +0000 (12:50 -0800)]
glsl: Write a new test for GLSL and NIR mediump lowering.

The mediump lowering tests are important for poking at the lowering pass
behavior, since you can't really assert the behavior in any given driver,
given that the GLSL spec allows any mediump op to be done in highp.

But, in hacking on mediump lowering, I wanted several things that the old
test couldn't do:

- Be able to assert about the actual NIR code we expect to generate for a
  hypothetical driver (important if other compiler stages might do invalid
  transformations like eliminating highp temps, or if we were to move the
  lowering after GLSL IR)
- Run faster (gtest unit tests rather than python forking off the standalone
  glsl compiler per testcase).
- Express expectations with a lot less escaping of typical syntax.
- High-quality logs for displaying failures.

This new test does all of that, I think, though I haven't converted all of
the unit tests over yet.  In converting, I dropped some of the
combinatorial explosion for float/int variations, instead only doing so
when it gets at some different code path (default precision flags).  I've
also included some new tests I wrote in the process of writing my proposed
gl_nir mediump lowering.

Even if the conversion isn't complete, getting these tests to run faster
is probably a good idea on its own, for anyone iterating running Mesa's
unit tests (80 tests in 25ms, compared to 109 tests in 1.5s!).

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

16 months agoglsl/standalone: Make all standalone contexts have NewProgram set.
Emma Anholt [Wed, 1 Mar 2023 00:12:33 +0000 (16:12 -0800)]
glsl/standalone: Make all standalone contexts have NewProgram set.

It was in the standalone compiler but not unit tests.  Only the standalone
compiler had done linking and needed it, so far.

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

16 months agoglsl/standalone: Pull out a helper function for adding GLSL source shaders.
Emma Anholt [Wed, 1 Mar 2023 00:04:56 +0000 (16:04 -0800)]
glsl/standalone: Pull out a helper function for adding GLSL source shaders.

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

16 months agoglsl/standalone: Pull program create/destroy out to a public function.
Emma Anholt [Tue, 28 Feb 2023 23:37:14 +0000 (15:37 -0800)]
glsl/standalone: Pull program create/destroy out to a public function.

For reuse with unit tests.

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

16 months agofreedreno/a6xx: Restore mode
Rob Clark [Wed, 22 Mar 2023 18:56:09 +0000 (11:56 -0700)]
freedreno/a6xx: Restore mode

We set the "mode" to 1 for CS because we want CP_SET_DRAW_STATE to
immediately execute the state groups.  But in the 3d path, we don't
restore the value in the sysmem path.  This was causing GPU faults
on 7c3 and presumably other a6xx gen4 things.  But somehow not on
a6xx gen1.

Let's just set it as part of initial state restore where we are
ensuring that the GPU is in a sane state.

Fixes: dec49ec50a2 ("freedreno/a6xx: Move CS state to PROG state group")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22080>

16 months agoci/docs: start documenting ci_run_n_monitor.py
Eric Engestrom [Wed, 22 Mar 2023 18:48:02 +0000 (18:48 +0000)]
ci/docs: start documenting ci_run_n_monitor.py

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

16 months agointel/fs: restore message layout changes for cube array
Tapani Pälli [Wed, 22 Mar 2023 11:23:16 +0000 (13:23 +0200)]
intel/fs: restore message layout changes for cube array

This reverts commit bc04e2dacac that handled the change as a WA while
this is about a new feature, change done in message layout. Patch also
changes the original comment to not refer to Wa but bspec page.

Fixes: bc04e2dacac ("intel/fs: use generated helpers for Wa_1209978020 / Wa_18012201914")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Mark Janes <markjanes@swizzler.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22068>

16 months agoMove combining clip and cull optimization before linking
Oleksii Bozhenko [Wed, 1 Mar 2023 13:04:00 +0000 (15:04 +0200)]
Move combining clip and cull optimization before linking

As far gl_nir_link_glsl fills xfb data we should do it after lowering clip and cull in order to get correct locations.

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7152
Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21625>

16 months agoegl: don't expose swrast device if swrast is not built
Marek Olšák [Fri, 27 Jan 2023 03:29:19 +0000 (22:29 -0500)]
egl: don't expose swrast device if swrast is not built

This fixes piglit/egl_ext_device_base without swrast.

Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20951>

16 months agoegl: reorder code in _eglQueryDevicesEXT, add *swrast variable
Marek Olšák [Mon, 20 Mar 2023 16:55:48 +0000 (12:55 -0400)]
egl: reorder code in _eglQueryDevicesEXT, add *swrast variable

This is a preparation for the next commit. No change in behavior.

Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20951>

16 months agoci: deduplicate compiler wrappers
Eric Engestrom [Fri, 17 Mar 2023 23:51:21 +0000 (23:51 +0000)]
ci: deduplicate compiler wrappers

Signed-off-by: Eric Engestrom <eric@igalia.com>
Suggested-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

16 months agoci: always use the -Werror wrapper
Eric Engestrom [Fri, 17 Mar 2023 18:52:24 +0000 (18:52 +0000)]
ci: always use the -Werror wrapper

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

16 months agoci: add linker wrapper for clang
Eric Engestrom [Fri, 17 Mar 2023 20:48:32 +0000 (20:48 +0000)]
ci: add linker wrapper for clang

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

16 months agoci: centralize detection of ccache in link-werror wrapper
Eric Engestrom [Fri, 17 Mar 2023 18:53:34 +0000 (18:53 +0000)]
ci: centralize detection of ccache in link-werror wrapper

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

16 months agozink/ci: add a test to the fails list
Martin Roukala (né Peres) [Wed, 22 Mar 2023 06:57:02 +0000 (08:57 +0200)]
zink/ci: add a test to the fails list

KHR-GL46.multi_bind.dispatch_bind_image_texture has been failing on
both Navi10 and VanGogh, so let's document that.

Zmike says he could not reproduce the fails on a newer version of
glcts, so the next release should address this issue.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22055>

16 months agoradv/ci: update the navi10 expectations
Martin Roukala (né Peres) [Tue, 21 Mar 2023 13:54:24 +0000 (15:54 +0200)]
radv/ci: update the navi10 expectations

As part of https://gitlab.freedesktop.org/tanty/mesa-valve-ci/-/jobs/38416444,
we saw the following flakes:

 - dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.2_cmdbuffers_resuming
 - dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.contents_secondary_2_primary_cmdbuffers_resuming
 - dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_static.topology_line

And the following failure (seen 4/4 times in the run):

 - dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_2_samples,Fail

Samuel told me that these are usual flakes, so let's document all of them.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22055>

16 months agoanv,hasvk: cleanup unused enum
Rohan Garg [Wed, 22 Mar 2023 12:22:55 +0000 (13:22 +0100)]
anv,hasvk: cleanup unused enum

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

16 months agozink: track whether zsbuf is unused
Mike Blumenkrantz [Tue, 21 Mar 2023 13:01:47 +0000 (09:01 -0400)]
zink: track whether zsbuf is unused

zink_is_zsbuf_used updates dynamically, so its return may not reflect
the actual state of the current renderpass

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

16 months agopanfrost: fix strict-aliasing violations when packing fb ptrs
Italo Nicola [Fri, 17 Mar 2023 18:59:38 +0000 (15:59 -0300)]
panfrost: fix strict-aliasing violations when packing fb ptrs

Compilers are free to make the assumption that pointers don't violate
strict aliasing. If that assumption is incorrect, as it is with the
framebuffer pointer packing code here, the job can fail.

This depends heavily on the compiler and optimization levels, so it's
hard to reproduce, but it did happen for at least two users running with
-O2 on gcc.

Fixes: 67cbbf941751 ("panfrost: Use framebuffer pointer XML")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8627
Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21991>

16 months agolima/ci: restore swap buffers egl tests
Erico Nunes [Sat, 18 Mar 2023 11:57:49 +0000 (12:57 +0100)]
lima/ci: restore swap buffers egl tests

With the weston idle-time issue fixed, these no longer timeout and
can be enabled again.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22012>

16 months agonir/range_analysis: use perform_analysis() in nir_analyze_range()
Rhys Perry [Tue, 14 Feb 2023 21:38:41 +0000 (21:38 +0000)]
nir/range_analysis: use perform_analysis() in nir_analyze_range()

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381>

16 months agonir/range_analysis: use perform_analysis() in nir_unsigned_upper_bound()
Rhys Perry [Fri, 10 Feb 2023 16:24:39 +0000 (16:24 +0000)]
nir/range_analysis: use perform_analysis() in nir_unsigned_upper_bound()

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381>

16 months agonir/range_analysis: add helpers for limiting stack usage
Rhys Perry [Tue, 14 Feb 2023 21:42:22 +0000 (21:42 +0000)]
nir/range_analysis: add helpers for limiting stack usage

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381>

16 months agonir/range_analysis: add missing masking of shift amounts
Rhys Perry [Wed, 15 Mar 2023 16:11:12 +0000 (16:11 +0000)]
nir/range_analysis: add missing masking of shift amounts

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Fixes: 72ac3f60261 ("nir: add nir_unsigned_upper_bound and nir_addition_might_overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381>

16 months agoutil/dynarray: allow an initial stack allocation to be used
Rhys Perry [Fri, 10 Feb 2023 15:36:56 +0000 (15:36 +0000)]
util/dynarray: allow an initial stack allocation to be used

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381>

16 months agointel/isl: Support Yf/Ys/Tile-64 in isl_surf_get_image_offset_sa
Jason Ekstrand [Thu, 22 Feb 2018 22:53:59 +0000 (14:53 -0800)]
intel/isl: Support Yf/Ys/Tile-64 in isl_surf_get_image_offset_sa

All that's really needed here is to handle the array offsetting by using
an Z or array offset instead of the Y offset.

This patch originally changed get_image_offset_sa_gfx9_1d(), but since
we only use linear with the 1d case, it was dropped.

Rework:
 * Jordan: Include ISL_TILING_64 as well
 * Jordan: Drop change to get_image_offset_sa_gfx9_1d as
   recommended by Nanley

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21113>

16 months agoradv: use common GetBufferMemoryRequirements2()
Samuel Pitoiset [Tue, 21 Mar 2023 07:38:11 +0000 (08:38 +0100)]
radv: use common GetBufferMemoryRequirements2()

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

16 months agov3d/ci: group dEQP-GLES3.functional.texture.specification.teximage2d_pbo.* flakes...
Eric Engestrom [Tue, 21 Mar 2023 13:30:33 +0000 (13:30 +0000)]
v3d/ci: group dEQP-GLES3.functional.texture.specification.teximage2d_pbo.* flakes and add another one

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

16 months agoir3: Use umod_imm
Alyssa Rosenzweig [Sun, 19 Mar 2023 10:38:19 +0000 (06:38 -0400)]
ir3: Use umod_imm

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010>

16 months agoradv: Use umod_imm
Alyssa Rosenzweig [Sun, 19 Mar 2023 10:38:02 +0000 (06:38 -0400)]
radv: Use umod_imm

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010>

16 months agov3d,v3dv: Use udiv_imm/umod_imm
Alyssa Rosenzweig [Sun, 19 Mar 2023 10:38:08 +0000 (06:38 -0400)]
v3d,v3dv: Use udiv_imm/umod_imm

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010>

16 months agoblorp,anv,hasvk: Use umod_imm
Alyssa Rosenzweig [Sun, 19 Mar 2023 10:38:45 +0000 (06:38 -0400)]
blorp,anv,hasvk: Use umod_imm

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010>

16 months agonir/builder: Add nir_umod_imm helper
Alyssa Rosenzweig [Sat, 18 Mar 2023 02:57:06 +0000 (22:57 -0400)]
nir/builder: Add nir_umod_imm helper

Like nir_udiv_imm, we can do a similar power-of-two trick. It's also really
convenient.

v2: Assert reasonable bounds on the modulus (Faith).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> [v1]
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> [v1]
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010>

16 months agonir: optimize i2f(f2i(fsign))
Georg Lehmann [Sat, 18 Mar 2023 13:32:27 +0000 (14:32 +0100)]
nir: optimize i2f(f2i(fsign))

Foz-DB Navi10:
Totals from 3013 (2.23% of 134906) affected shaders:
VGPRs: 138068 -> 136964 (-0.80%); split: -0.80%, +0.00%
CodeSize: 10476416 -> 10391800 (-0.81%)
MaxWaves: 79118 -> 80088 (+1.23%)
Instrs: 1963227 -> 1945003 (-0.93%)
Latency: 24734883 -> 24649279 (-0.35%); split: -0.39%, +0.05%
InvThroughput: 6366777 -> 6334735 (-0.50%); split: -0.50%, +0.00%
VClause: 36845 -> 36882 (+0.10%); split: -0.26%, +0.36%
SClause: 59249 -> 59273 (+0.04%); split: -0.25%, +0.29%
Copies: 108570 -> 108501 (-0.06%); split: -0.19%, +0.13%
PreSGPRs: 105371 -> 105862 (+0.47%)
PreVGPRs: 117675 -> 116625 (-0.89%); split: -0.89%, +0.00%

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22003>

16 months agopvr: Don't allocate/upload 0 size coeff programs
Jarred Davies [Mon, 6 Mar 2023 00:08:04 +0000 (00:08 +0000)]
pvr: Don't allocate/upload 0 size coeff programs

Fixes assert seen in dEQP-Vk.api.smoke.triangle

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22051>

16 months agopvr: fix clang-format issue
Frank Binns [Wed, 8 Mar 2023 15:26:17 +0000 (15:26 +0000)]
pvr: fix clang-format issue

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22056>

16 months agoaco: drop leftover variable
David Heidelberg [Sun, 19 Mar 2023 09:22:15 +0000 (10:22 +0100)]
aco: drop leftover variable

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8652
Fixes: 44fdd2ebcb27 ("aco: end reduce tmp after control flow, when used within control flow")

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22011>

16 months agoci/etnaviv: Get the gc2000_piglit manual job mostly working.
Emma Anholt [Mon, 20 Mar 2023 22:51:16 +0000 (15:51 -0700)]
ci/etnaviv: Get the gc2000_piglit manual job mostly working.

It was timing out, and the xfails were rather stale.

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

16 months agoci/hasvk: Update some xfails from the 8-sample fast clear disable.
Emma Anholt [Mon, 20 Mar 2023 22:13:08 +0000 (15:13 -0700)]
ci/hasvk: Update some xfails from the 8-sample fast clear disable.

Fixes: e509afacf3fb ("hasvk: Disable non-zero fast clears for 8xMSAA images")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22039>

16 months agoci/crocus: Update expectations from VK CTS 1.3.5.0.
Emma Anholt [Mon, 20 Mar 2023 22:10:52 +0000 (15:10 -0700)]
ci/crocus: Update expectations from VK CTS 1.3.5.0.

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

16 months agoci/iris: Update more manual job xfails from the Wayland build change.
Emma Anholt [Wed, 15 Mar 2023 16:55:11 +0000 (09:55 -0700)]
ci/iris: Update more manual job xfails from the Wayland build change.

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

16 months agoradv: implement VK_KHR_map_memory2
Samuel Pitoiset [Mon, 20 Mar 2023 17:49:25 +0000 (18:49 +0100)]
radv: implement VK_KHR_map_memory2

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

16 months agoradv: pass radv_shader to radv_shader_need_indirect_descriptor_sets()
Samuel Pitoiset [Mon, 13 Mar 2023 15:24:03 +0000 (16:24 +0100)]
radv: pass radv_shader to radv_shader_need_indirect_descriptor_sets()

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

16 months agoradv: pass radv_ray_tracing_pipeline to radv_rt_pipeline_compile()
Samuel Pitoiset [Mon, 13 Mar 2023 15:15:49 +0000 (16:15 +0100)]
radv: pass radv_ray_tracing_pipeline to radv_rt_pipeline_compile()

The base.base is redundant but this will allow us to move the shaders
array out of radv_pipeline.

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

16 months agoradv: rework dumping shaders when a GPU hang is reported
Samuel Pitoiset [Mon, 13 Mar 2023 12:49:17 +0000 (13:49 +0100)]
radv: rework dumping shaders when a GPU hang is reported

Preliminary work for moving the shaders array outside of radv_pipeline.

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

16 months agoradv: pass radv_shader to radv_dump_shader_stats()
Samuel Pitoiset [Mon, 13 Mar 2023 12:32:23 +0000 (13:32 +0100)]
radv: pass radv_shader to radv_dump_shader_stats()

Preliminary work for moving the shaders array outside of radv_pipeline.

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

16 months agoradv: use a separate compute path in radv_flush_constants()
Samuel Pitoiset [Mon, 13 Mar 2023 15:02:32 +0000 (16:02 +0100)]
radv: use a separate compute path in radv_flush_constants()

radv_get_shader() will be a radv_graphics_pipeline only function.

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

16 months agoradv: pass shader/base_reg to radv_emit_userdata_address()
Samuel Pitoiset [Mon, 13 Mar 2023 13:43:59 +0000 (14:43 +0100)]
radv: pass shader/base_reg to radv_emit_userdata_address()

Preliminary work for moving the shaders array outside of radv_pipeline.

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

16 months agoradv: pass shader/base_reg to radv_emit_inline_push_consts()
Samuel Pitoiset [Mon, 13 Mar 2023 13:05:21 +0000 (14:05 +0100)]
radv: pass shader/base_reg to radv_emit_inline_push_consts()

Preliminary work for moving the shaders array outside of radv_pipeline.

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

16 months agoradv: pass shader/base_reg to radv_emit_descriptor_pointers()
Samuel Pitoiset [Mon, 13 Mar 2023 13:02:01 +0000 (14:02 +0100)]
radv: pass shader/base_reg to radv_emit_descriptor_pointers()

Preliminary work for moving the shaders array outside of radv_pipeline.

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

16 months agoradv: replace radv_lookup_user_sgpr() by radv_get_user_sgpr()
Samuel Pitoiset [Mon, 13 Mar 2023 14:43:54 +0000 (15:43 +0100)]
radv: replace radv_lookup_user_sgpr() by radv_get_user_sgpr()

radv_get_user_sgpr() no longer relies on radv_pipeline which is
another step for moving the shaders array outside of it.

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

16 months agoradv: stop using radv_get_shader_shader() for task shaders
Samuel Pitoiset [Mon, 13 Mar 2023 14:30:23 +0000 (15:30 +0100)]
radv: stop using radv_get_shader_shader() for task shaders

radv_get_shader() should only be used for VS or TES, no need to add
another indirection for task shaders. While we are at it, rename
compute_shader to task_shader.

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

16 months agogallium: Fix u_stream_outputs_for_vertices with QUADS
Alyssa Rosenzweig [Sat, 18 Mar 2023 02:59:05 +0000 (22:59 -0400)]
gallium: Fix u_stream_outputs_for_vertices with QUADS

Per the spec. This helper is only used in nv50 and panfrost, the latter is known
to have a completely broken transform feedback implementation and I'd be
unsurprised if the same is true for nv50. So unsurprising that compatibility
profile interaction was missed.

This is part of the Piglit ext_transform_feedback-tessellation quads puzzle.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22013>

16 months agodocs: remove old thanks-article
Erik Faye-Lund [Mon, 20 Mar 2023 14:58:04 +0000 (15:58 +0100)]
docs: remove old thanks-article

This article is so out of date it's of no real use any more, and
updating it seems quite pointless. Let's just move it to the graveyard,
and forward any readers to the version we have in the amber-release.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22028>

16 months agodocs: move developers article to main website
Erik Faye-Lund [Mon, 20 Mar 2023 14:53:36 +0000 (15:53 +0100)]
docs: move developers article to main website

This isn't content that relates directly to a specific release of Mesa,
and it's also quite out-of-date. Let's move it to the main mesa website
instead, where we have an updated version.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22028>

16 months agoac/nir/ngg: Rename repacked variables to clarify their name.
Timur Kristóf [Fri, 17 Mar 2023 21:23:54 +0000 (14:23 -0700)]
ac/nir/ngg: Rename repacked variables to clarify their name.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Create separate variable for repacked rel_patch_id.
Timur Kristóf [Fri, 17 Mar 2023 21:19:24 +0000 (14:19 -0700)]
ac/nir/ngg: Create separate variable for repacked rel_patch_id.

This should be handled separately from the other repacked
variables, because it doesn't use a dword.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Remove some superfluous variables.
Timur Kristóf [Fri, 17 Mar 2023 21:09:58 +0000 (14:09 -0700)]
ac/nir/ngg: Remove some superfluous variables.

These mostly existed because of the long name of the state variable
and are not really necessary.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Rename state variables to "s".
Timur Kristóf [Fri, 17 Mar 2023 21:07:37 +0000 (14:07 -0700)]
ac/nir/ngg: Rename state variables to "s".

It was a bad idea to give them a long name, let's correct it.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Move divergence analysis call to analyze_shader_before_culling.
Timur Kristóf [Fri, 17 Mar 2023 19:19:10 +0000 (12:19 -0700)]
ac/nir/ngg: Move divergence analysis call to analyze_shader_before_culling.

It actually belongs there.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Split some functions out of save_reusable_variables.
Timur Kristóf [Fri, 17 Mar 2023 18:45:56 +0000 (11:45 -0700)]
ac/nir/ngg: Split some functions out of save_reusable_variables.

To make the function a little easier to read and understand.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Rename saved_uniform to reusable_nondeferred_variable.
Timur Kristóf [Fri, 17 Mar 2023 18:29:57 +0000 (11:29 -0700)]
ac/nir/ngg: Rename saved_uniform to reusable_nondeferred_variable.

We are planning to reuse more than just uniforms later,
hence let's clarify the name of these.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agoac/nir/ngg: Remove usused lds_es enum values.
Timur Kristóf [Fri, 17 Mar 2023 18:29:29 +0000 (11:29 -0700)]
ac/nir/ngg: Remove usused lds_es enum values.

These were meant to explain the LDS layout, but
the actual LDS usage is better explained by:
ngg_nogs_get_culling_pervertex_lds_size().
Also add some comments there.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995>

16 months agodocs/zink: clean up requirements-language
Erik Faye-Lund [Fri, 10 Mar 2023 13:16:21 +0000 (14:16 +0100)]
docs/zink: clean up requirements-language

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

16 months agodocs/zink: mention vk1.2 mirror-clamp feature option
Erik Faye-Lund [Fri, 10 Mar 2023 13:10:22 +0000 (14:10 +0100)]
docs/zink: mention vk1.2 mirror-clamp feature option

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

16 months agoac/llvm: fix build with LLVM 17
Pierre-Eric Pelloux-Prayer [Mon, 20 Mar 2023 09:26:11 +0000 (10:26 +0100)]
ac/llvm: fix build with LLVM 17

This builds with LLVM 12 -> 17 and a running a simple app seems to work.

I couldn't test LLVM 11 because meson fails with:

    Looking for a fallback subproject for the dependency llvm (modules:
    bitwriter, engine, mcdisassembler, mcjit, core, executionengine,
    scalaropts, transformutils, instcombine, amdgpu, bitreader, ipo, native)

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8297
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22021>

16 months agovulkan: depend idep_vulkan_runtime_headers on vk_physical_device_features.h
Constantine Shablya [Fri, 17 Mar 2023 12:52:47 +0000 (14:52 +0200)]
vulkan: depend idep_vulkan_runtime_headers on vk_physical_device_features.h

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

16 months agovulkan: fix building with python3.8
Constantine Shablya [Thu, 16 Mar 2023 15:17:53 +0000 (17:17 +0200)]
vulkan: fix building with python3.8

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8640
Reviewed-by: Ricardo Garcia <rgarcia@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21958>

16 months agoradv: add support for caching PS epilogs
Samuel Pitoiset [Tue, 14 Mar 2023 11:57:35 +0000 (12:57 +0100)]
radv: add support for caching PS epilogs

For PS epilogs created at link time because libraries are still not
cached.

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

16 months agoradv: make radv_shader_part_create() non-static
Samuel Pitoiset [Tue, 14 Mar 2023 11:57:09 +0000 (12:57 +0100)]
radv: make radv_shader_part_create() non-static

It will be used when creating shaders from the cache.

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

16 months agoradv: allow to return the PS epilog binary to the pipeline
Samuel Pitoiset [Fri, 10 Mar 2023 15:04:57 +0000 (16:04 +0100)]
radv: allow to return the PS epilog binary to the pipeline

To add it to the shaders cache.

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

16 months agoradv: upload prologs/epilogs as part of radv_shader_part_create()
Samuel Pitoiset [Fri, 10 Mar 2023 14:54:28 +0000 (15:54 +0100)]
radv: upload prologs/epilogs as part of radv_shader_part_create()

Don't need to duplicate this code.

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

16 months agoradv: store the total radv_shader_part_binary size
Samuel Pitoiset [Fri, 10 Mar 2023 14:44:13 +0000 (15:44 +0100)]
radv: store the total radv_shader_part_binary size

Similar to radv_shader. This will be used for the shaders cache.

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

16 months agoradv: store spi_shader_col_format to radv_shader_part_binary
Samuel Pitoiset [Fri, 10 Mar 2023 14:40:22 +0000 (15:40 +0100)]
radv: store spi_shader_col_format to radv_shader_part_binary

For PS epilogs in the cache.

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

16 months agoradv: stop storing the binary as part of radv_shader_part
Samuel Pitoiset [Mon, 20 Mar 2023 12:58:31 +0000 (13:58 +0100)]
radv: stop storing the binary as part of radv_shader_part

It's unnecessary to keep a pointer to the binary.

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

16 months agoradv: remove set but never used num_preserved_sgprs
Samuel Pitoiset [Fri, 10 Mar 2023 13:26:00 +0000 (14:26 +0100)]
radv: remove set but never used num_preserved_sgprs

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

16 months agoiris: implement occlusion query related Wa_14017076903
Tapani Pälli [Wed, 2 Nov 2022 10:48:25 +0000 (12:48 +0200)]
iris: implement occlusion query related Wa_14017076903

Fixes artifacts on some games that relied on occlusion query
results when no PS or depth buffers are bound.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21721>

16 months agoanv: implement occlusion query related Wa_14017076903
Tapani Pälli [Wed, 2 Nov 2022 10:38:52 +0000 (12:38 +0200)]
anv: implement occlusion query related Wa_14017076903

Fixes artifacts on some games that relied on occlusion query
results when no PS or depth buffers are bound.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21721>

16 months agov3d: implement NV_conditional_render extension
Juan A. Suarez Romero [Wed, 6 Jul 2022 09:47:00 +0000 (11:47 +0200)]
v3d: implement NV_conditional_render extension

The hardware doesn't support native conditional rendering, so it is
implemented by software.

Code borrowed from Freedreno and Panfrost.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17373>

16 months agov3d: include offset as part of streamout target
Juan A. Suarez Romero [Tue, 7 Mar 2023 09:49:58 +0000 (10:49 +0100)]
v3d: include offset as part of streamout target

When dealing with multiple Transform Feedback buffers, each of them
needs to have their own offset, so when resuming from one to another we
know exactly were to continue adding primitives.

Fixes "spec@arb_transform_feedback2@change objects while paused (gles3)"
piglit test.

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

16 months agov3d: cache pipe query results
Juan A. Suarez Romero [Wed, 6 Jul 2022 09:18:14 +0000 (11:18 +0200)]
v3d: cache pipe query results

As the BO storing the results is destroyed after getting the query
results, store the results in case requesting the results again.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17373>

16 months agoanv: report shader max dispatch width in pipeline props
Lionel Landwerlin [Sun, 19 Mar 2023 13:07:26 +0000 (15:07 +0200)]
anv: report shader max dispatch width in pipeline props

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22014>

16 months agointel/compiler: report max dispatch width statistic
Lionel Landwerlin [Sun, 19 Mar 2023 13:03:33 +0000 (15:03 +0200)]
intel/compiler: report max dispatch width statistic

Most tools looking at shader stats assume that there is only a single
resulting binary shader out of a single input. On Intel HW this is not
always the case. So having a statistic on each variant that reports
the maximum dispatch width helps showing improvement on a single
shader in terms of how large we manage to compile it.

For shaders that can be compiled in multiple SIMD width (like fragment
shaders), this will report the maximum dispatch width in the
statistics of each variants.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22014>

16 months agobroadcom/compiler: track pending ldtmu count with each TMU lookup
Iago Toral Quiroga [Mon, 20 Mar 2023 10:15:40 +0000 (11:15 +0100)]
broadcom/compiler: track pending ldtmu count with each TMU lookup

And use this information when scheduling QPU to avoid merging
a new TMU request into a previous ldtmu instruction when doing
so may cause TMU output fifo overflow due to a stalling ldtmu.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22044>

16 months agodocs: fixup broken indentation
Erik Faye-Lund [Mon, 13 Mar 2023 13:59:37 +0000 (14:59 +0100)]
docs: fixup broken indentation

This extra indentation caused these to be inside <blockquote>-tags,
which obviously isn't what we want.

Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21927>