platform/upstream/mesa.git
13 months agopvr: Do not free deferred pvr_transfer_cmd instances
Matt Coster [Tue, 16 May 2023 08:29:36 +0000 (09:29 +0100)]
pvr: Do not free deferred pvr_transfer_cmd instances

Deferred pvr_transfer_cmd instances are allocated from a dyn_array on
the owning pvr_cmd_buffer and must not be freed directly.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reported-by: James Glanville <james.glanville@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23125>

13 months agopvr: Rename shadowing loop variable in pvr_add_deferred_rta_clear()
Matt Coster [Tue, 16 May 2023 08:24:09 +0000 (09:24 +0100)]
pvr: Rename shadowing loop variable in pvr_add_deferred_rta_clear()

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23125>

13 months agopvr: Use correct surface for deferred RTA clear
Matt Coster [Tue, 16 May 2023 08:22:39 +0000 (09:22 +0100)]
pvr: Use correct surface for deferred RTA clear

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reported-by: James Glanville <james.glanville@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23125>

13 months agopvr: Correct error flow in pvr_compute_pipeline_compile()
Matt Coster [Thu, 18 May 2023 10:33:08 +0000 (11:33 +0100)]
pvr: Correct error flow in pvr_compute_pipeline_compile()

Fixes:
  dEQP-VK.api.object_management.alloc_callback_fail.compute_pipeline

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23130>

13 months agopvr: Correct error flow in pvr_graphics_pipeline_compile()
Matt Coster [Thu, 18 May 2023 10:09:41 +0000 (11:09 +0100)]
pvr: Correct error flow in pvr_graphics_pipeline_compile()

Fixes:
  dEQP-VK.api.object_management.alloc_callback_fail.graphics_pipeline

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23130>

13 months agopvr: Fix memory leaks on realloc failure in pvr_pipeline.c
Matt Coster [Thu, 18 May 2023 08:10:34 +0000 (09:10 +0100)]
pvr: Fix memory leaks on realloc failure in pvr_pipeline.c

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23130>

13 months agopvr: Fix allocation scopes in vkCreateRenderPass2() code path
Matt Coster [Thu, 18 May 2023 09:26:23 +0000 (10:26 +0100)]
pvr: Fix allocation scopes in vkCreateRenderPass2() code path

These previously COMMAND scoped allocations are stored on the
VkRenderPass and must therefore be OBJECT scoped.

Fixes: dEQP-VK.api.object_management.single_alloc_callbacks.render_pass

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23130>

13 months agov3d: only warn about bining sync for indirect draw once
Iago Toral Quiroga [Tue, 30 May 2023 08:36:17 +0000 (10:36 +0200)]
v3d: only warn about bining sync for indirect draw once

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23306>

13 months agoanv: override vendorID for Cyberpunk 2077
Felix DeGrood [Mon, 15 May 2023 22:44:45 +0000 (22:44 +0000)]
anv: override vendorID for Cyberpunk 2077

A recent update to Cyberpunk 2077 enables XeSS code for Intel GPUs
which is causing the game to crash in the XeSS libraries.  As a
temporary work around, stop identifying as Intel for Cyberpunk so
XeSS falls back to the cross-vendor path.

References: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8860
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23271>

13 months agoanv: enable direct descriptors on platforms with extended bindless offset
Lionel Landwerlin [Fri, 24 Feb 2023 21:11:07 +0000 (23:11 +0200)]
anv: enable direct descriptors on platforms with extended bindless offset

Aka. DG2

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: ensure descriptor addresses are used with bindless stages
Lionel Landwerlin [Tue, 25 Apr 2023 13:39:02 +0000 (16:39 +0300)]
anv: ensure descriptor addresses are used with bindless stages

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: descriptor binding for direct descriptors
Lionel Landwerlin [Mon, 27 Feb 2023 15:02:11 +0000 (17:02 +0200)]
anv: descriptor binding for direct descriptors

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: bring back the max number of sets to 8
Lionel Landwerlin [Thu, 9 Feb 2023 14:58:58 +0000 (16:58 +0200)]
anv: bring back the max number of sets to 8

Not sure we bumped it to 32 for the right reasons. This generates more
push constant data and because we're not tighly packing our push
constant data this can generate more register pressure.

We could tightly pack things at the cost of some CPU cycles but only
for some stages. RT stages would have to retain the current "sparse"
version of push constants.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: add direct descriptor support to apply_layout
Lionel Landwerlin [Fri, 24 Feb 2023 18:02:57 +0000 (20:02 +0200)]
anv: add direct descriptor support to apply_layout

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: track descriptor data size
Lionel Landwerlin [Thu, 2 Mar 2023 09:10:36 +0000 (11:10 +0200)]
anv: track descriptor data size

descriptor_stride includes multiple plane size, this new field tracks
just the data of one plane.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: simplify ycbcr bti computations
Lionel Landwerlin [Fri, 24 Feb 2023 11:42:25 +0000 (13:42 +0200)]
anv: simplify ycbcr bti computations

To make BTI indexing simpler with ycbcr samplers, stop doing packing
calculations in the apply_layout. We'll insert NULL bindings for the
few ycbcr cases where it's needed.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: implement binding table emission for direct descriptors
Lionel Landwerlin [Fri, 24 Feb 2023 11:00:40 +0000 (13:00 +0200)]
anv: implement binding table emission for direct descriptors

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: factor out dynamic buffer bti emission
Lionel Landwerlin [Fri, 24 Feb 2023 10:23:23 +0000 (12:23 +0200)]
anv: factor out dynamic buffer bti emission

No functional change. Will reuse in the followup commit.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: handle null surface in the binding table with direct descriptors
Lionel Landwerlin [Fri, 24 Feb 2023 09:45:04 +0000 (11:45 +0200)]
anv: handle null surface in the binding table with direct descriptors

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: add helpers to build pipeline bindings
Lionel Landwerlin [Fri, 24 Feb 2023 09:20:53 +0000 (11:20 +0200)]
anv: add helpers to build pipeline bindings

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: add support for direct descriptor in allocation/writes
Lionel Landwerlin [Thu, 23 Feb 2023 19:37:59 +0000 (21:37 +0200)]
anv: add support for direct descriptor in allocation/writes

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: prepare image/buffer views for non indirect descriptors
Lionel Landwerlin [Thu, 23 Feb 2023 13:19:11 +0000 (15:19 +0200)]
anv: prepare image/buffer views for non indirect descriptors

When in direct descriptor mode, the descriptor pool buffers will hold
surface states directly. We won't allocate surface states in image &
buffer views.

Instead views will hold a packed RENDER_SURFACE_STATE ready to copied
into the descriptor buffers.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: bound load descriptor mem better
Lionel Landwerlin [Tue, 10 Jan 2023 08:18:06 +0000 (10:18 +0200)]
anv: bound load descriptor mem better

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agonir: expose a couple of address format add helpers
Lionel Landwerlin [Mon, 9 Jan 2023 19:15:08 +0000 (21:15 +0200)]
nir: expose a couple of address format add helpers

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: add a pass to partially lower resource_intel
Lionel Landwerlin [Thu, 22 Dec 2022 18:44:07 +0000 (20:44 +0200)]
anv: add a pass to partially lower resource_intel

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: new structure to hold surface states
Lionel Landwerlin [Tue, 13 Dec 2022 09:28:19 +0000 (11:28 +0200)]
anv: new structure to hold surface states

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: reduce push constant size for descriptor sets
Lionel Landwerlin [Wed, 15 Mar 2023 14:10:25 +0000 (16:10 +0200)]
anv: reduce push constant size for descriptor sets

Now that descriptor sets are located a in a 1Gb area, we can avoid
storing the whole address to the descriptor and add the base address
of the area to a 32bit offset.

Replay a bunch of fossils with this and changes not really significant
one way or another :

Totals:
Instrs: 9278246 -> 9277148 (-0.01%); split: -0.01%, +0.00%
Cycles: 3547598421 -> 3547579435 (-0.00%); split: -0.00%, +0.00%

Totals from 353 (1.14% of 31021) affected shaders:
Instrs: 581546 -> 580448 (-0.19%); split: -0.23%, +0.04%
Cycles: 25885422 -> 25866436 (-0.07%); split: -0.31%, +0.24%

No difference on send messages or spills/fills.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: create a pool for indirect descriptors
Lionel Landwerlin [Wed, 22 Feb 2023 07:00:35 +0000 (09:00 +0200)]
anv: create a pool for indirect descriptors

We'll use the fact that the pool is aligned to 4Gb to limit the amount
of address computations to build the address in the shaders.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: introduce a new descriptor set layout type
Lionel Landwerlin [Mon, 27 Mar 2023 14:11:44 +0000 (17:11 +0300)]
anv: introduce a new descriptor set layout type

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: add an option for using indirect descriptors
Lionel Landwerlin [Thu, 23 Feb 2023 12:18:51 +0000 (14:18 +0200)]
anv: add an option for using indirect descriptors

This is the default for now. It needs to be part the pipeline hashing
as we will allow this to be tweaked per application.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agodocs/anv: some binding table explanations
Lionel Landwerlin [Tue, 6 Dec 2022 13:31:26 +0000 (15:31 +0200)]
docs/anv: some binding table explanations

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: toggle extended bindless surface state on Gfx12.5+
Lionel Landwerlin [Fri, 14 Oct 2022 14:49:58 +0000 (17:49 +0300)]
anv: toggle extended bindless surface state on Gfx12.5+

We bump the max surfaces to ~16 million instead of ~1 million on
Gfx9-12. We could do more but that'll come later.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: increase workaround BO so that we can hold a full 4Kb page of 0s
Lionel Landwerlin [Mon, 20 Mar 2023 11:57:15 +0000 (13:57 +0200)]
anv: increase workaround BO so that we can hold a full 4Kb page of 0s

At the beginning of the buffer is located the driver identifier for
error states.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: move pipeline active_stages to common structure
Lionel Landwerlin [Wed, 22 Mar 2023 14:29:58 +0000 (16:29 +0200)]
anv: move pipeline active_stages to common structure

And fill it out for all types of pipelines.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: track pipeline in anv_cmd_pipeline_state
Lionel Landwerlin [Mon, 20 Mar 2023 14:35:46 +0000 (16:35 +0200)]
anv: track pipeline in anv_cmd_pipeline_state

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: bail flush_gfx_state when not gfx push constant is dirty
Lionel Landwerlin [Wed, 22 Mar 2023 15:32:29 +0000 (17:32 +0200)]
anv: bail flush_gfx_state when not gfx push constant is dirty

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: remove incorrect ifdef
Lionel Landwerlin [Mon, 27 Mar 2023 09:46:09 +0000 (12:46 +0300)]
anv: remove incorrect ifdef

This is a leftover from a previous fix attempt. We don't need this.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: fix null descriptor handling with A64 messages
Lionel Landwerlin [Tue, 21 Mar 2023 22:22:22 +0000 (00:22 +0200)]
anv: fix null descriptor handling with A64 messages

global load/store (or A64 messages) need the NIR bound checking which
is enabled by "robust" behavior even when robust behavior is disabled.

Many thanks to Christopher Snowhill for pointing out the pushed
constant related issue with the initial version of this patch.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: remove unused define
Lionel Landwerlin [Tue, 21 Mar 2023 12:15:08 +0000 (14:15 +0200)]
anv: remove unused define

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: try to rematerialize surface computation code
Lionel Landwerlin [Thu, 9 Feb 2023 13:07:36 +0000 (15:07 +0200)]
intel/fs: try to rematerialize surface computation code

This helps a lot with accessing surface handles in control flow. Our
resource_intel intrinsic has a non_uniform flag, in which case we
cannot apply this optimization. But in uniform cases, this is just a
massive win. We drop all kind of pipeline stalls due to
find_live_channel. We also reduce register pressure by doing the
surface handle computation in a single GRF (instead of 2 or 4).

There are some regressions in max dispatch width but those I think are
only on SIMD32 and due to the current heuristic disabling it after
throughput comparison with SIMD16. We know this heuristic is not
perfect, it should probably be updated in another change.

Here are some stats (all titles seem to have similar gains) :

 PERCENTAGE DELTAS    Shaders   Instrs    Cycles  Subgroup size Send messages Spill count Fill count Scratch Memory Size Max live registers Max dispatch width
 red_dead_redemption2 5860     -36.80%    -5.67%      +0.77%        +0.06%      -81.26%     -79.16%        -70.62%             -8.63%             -6.93%
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------
 All affected         4716     -37.29%    -5.67%      +0.95%        +0.07%      -81.26%     -79.16%        -70.62%             -9.15%             -8.47%
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------
 Total                5860     -36.80%    -5.67%      +0.77%        +0.06%      -81.26%     -79.16%        -70.62%             -8.63%             -6.93%

 PERCENTAGE DELTAS          Shaders   Instrs    Cycles  Subgroup size Send messages Spill count Fill count Scratch Memory Size Max live registers Max dispatch width
 rise_of_the_tomb_raider_g2 12010    -37.19%   -22.12%      +0.01%        +0.00%      -99.01%     -99.14%        -98.65%             -7.62%             -4.96%
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 All affected               11732    -37.27%   -22.14%      +0.01%        +0.00%      -99.01%     -99.14%        -98.65%             -7.67%             -5.11%
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Total                      12010    -37.19%   -22.12%      +0.01%        +0.00%      -99.01%     -99.14%        -98.65%             -7.62%             -4.96%

 PERCENTAGE DELTAS    Shaders   Instrs    Cycles  Spill count Fill count Scratch Memory Size Max live registers Max dispatch width
 total_war_warhammer2 462      -27.45%   -12.42%    -82.35%     -88.46%        -66.67%             -5.52%             -5.62%
 -----------------------------------------------------------------------------------------------------------------------------------
 All affected         335      -28.31%   -12.77%    -82.35%     -88.46%        -66.67%             -6.25%             -7.24%
 -----------------------------------------------------------------------------------------------------------------------------------
 Total                462      -27.45%   -12.42%    -82.35%     -88.46%        -66.67%             -5.52%             -5.62%

 PERCENTAGE DELTAS Shaders   Instrs    Cycles  Subgroup size Send messages Spill count Fill count Scratch Memory Size Max live registers Max dispatch width
 witcher_3_dxvk_g2 1049     -36.94%   -57.82%      +0.06%        +0.01%      -98.52%     -97.29%        -98.10%             -7.81%             -1.00%
 ------------------------------------------------------------------------------------------------------------------------------------------------------------
 All affected      693      -41.93%   -58.45%      +0.09%        +0.01%      -98.52%     -97.29%        -98.10%             -10.25%            -1.33%
 ------------------------------------------------------------------------------------------------------------------------------------------------------------
 Total             1049     -36.94%   -57.82%      +0.06%        +0.01%      -98.52%     -97.29%        -98.10%             -7.81%             -1.00%

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: enable uniform block accesses through bindless heap
Lionel Landwerlin [Fri, 7 Apr 2023 13:48:40 +0000 (16:48 +0300)]
intel/fs: enable uniform block accesses through bindless heap

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: enable bindless sampler state offsets
Lionel Landwerlin [Wed, 22 Feb 2023 13:44:41 +0000 (15:44 +0200)]
intel/fs: enable bindless sampler state offsets

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: enable extended bindless surface offset
Lionel Landwerlin [Fri, 14 Oct 2022 14:49:00 +0000 (17:49 +0300)]
intel/fs: enable extended bindless surface offset

Gives use 4Gb of bindless surface state on Gfx12.5+ instead of 64Mb.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: enable get_buffer_size on bindless heap
Lionel Landwerlin [Tue, 27 Dec 2022 13:57:53 +0000 (15:57 +0200)]
intel/fs: enable get_buffer_size on bindless heap

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: enable UBO accesses through bindless heap
Lionel Landwerlin [Fri, 13 Jan 2023 10:29:30 +0000 (12:29 +0200)]
intel/fs: enable UBO accesses through bindless heap

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: enable SSBO accesses through the bindless heap
Lionel Landwerlin [Wed, 21 Dec 2022 11:30:40 +0000 (13:30 +0200)]
intel/fs: enable SSBO accesses through the bindless heap

Using the information coming from surface_index_intel, we can tell
whether we should use the BTI or bindless heap for a particular SSBO
access.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: keep track of new resource_intel information
Lionel Landwerlin [Fri, 13 Jan 2023 10:26:01 +0000 (12:26 +0200)]
intel/fs: keep track of new resource_intel information

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: teach ubo range analysis pass about resource_intel
Lionel Landwerlin [Tue, 27 Dec 2022 09:26:02 +0000 (11:26 +0200)]
intel/fs: teach ubo range analysis pass about resource_intel

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: add a pass to move resource_intel closer to user
Lionel Landwerlin [Mon, 24 Apr 2023 15:42:48 +0000 (18:42 +0300)]
intel/fs: add a pass to move resource_intel closer to user

Non uniform lower can insert read_first_invocation on the result of
resource_intel. We want to keep that intrinsic directly in front of
the user (load_ubo/load_ssbo/load_image/etc...)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agonir/opt_gcm: allow resource_intel to be moved anywhere
Lionel Landwerlin [Tue, 21 Feb 2023 06:50:35 +0000 (08:50 +0200)]
nir/opt_gcm: allow resource_intel to be moved anywhere

The resouce_intel intrinsic doesn't not result in an actual
instruction, it's just a wrapper around another value, usually a
load_const.

Allowing this intrinsic to be moved anywhere means it's going to be
closer to the value it wraps, enabling opt_gcm to move a load_ubo
using this resource_intel.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agonir: teach nir_chase_binding about resource_intel
Lionel Landwerlin [Mon, 20 Feb 2023 17:02:47 +0000 (19:02 +0200)]
nir: teach nir_chase_binding about resource_intel

It's needed to have opt_gcm work properly.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agonir: add a new intrinsic to describe resources accessed on intel
Lionel Landwerlin [Thu, 22 Dec 2022 15:27:58 +0000 (17:27 +0200)]
nir: add a new intrinsic to describe resources accessed on intel

Intel HW has multiple ways to access resources like UBO/SSBO/images :

   - binding tables : a small ~240 heap of surfaces

   - bindless surfaces : a 64Mb heap of surfaces up to Gfx12+, 4Gb on Gfx12.5+

   - surfaces : a 4Gb heap on Gfx12.5+ (mostly unused at the moment,
     only available through the LSC)

For samplers, we have 2 options since Gfx11+ :

   - samplers indexed from the Dynamic State Heap (4Gb)

   - samplers indexed from the Bindless Sampler Heap (4Gb)

Additionally our whole push constant promotion mechanism is based
around binding table indices. This is problematic if you want to also
promote to push constants things that would be accessed through the
bindless heap.

To solve this issue, we introduce a new intrinsic that will cary a
block index that is not based off the binding table index nor the
bindless table offset.

We will also use this intrinsic to identify whether the buffer/surface
index in load_ubo/load_ssbo/store_ssbo/etc... is relative to the
binding table or the bindless heap.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agonir/lower_shader_calls: add ability to force remat of instructions
Lionel Landwerlin [Thu, 19 Jan 2023 09:54:10 +0000 (11:54 +0200)]
nir/lower_shader_calls: add ability to force remat of instructions

Some instruction we would like to keep around because they carry
additional information in their indices.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: lower get_buffer_size like other logical sends
Lionel Landwerlin [Tue, 27 Dec 2022 13:32:24 +0000 (15:32 +0200)]
intel/fs: lower get_buffer_size like other logical sends

This will also enable the use of the bindless heap.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agointel/fs: reuse descriptor helper
Lionel Landwerlin [Fri, 27 Jan 2023 13:51:09 +0000 (15:51 +0200)]
intel/fs: reuse descriptor helper

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: fix push range for descriptor offsets
Lionel Landwerlin [Tue, 25 Apr 2023 09:56:06 +0000 (12:56 +0300)]
anv: fix push range for descriptor offsets

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 379b9bb7b0 ("anv: Support fetching descriptor addresses from push constants")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv: update internal address space to have 4Gb of dynamic state
Lionel Landwerlin [Wed, 22 Feb 2023 16:51:48 +0000 (18:51 +0200)]
anv: update internal address space to have 4Gb of dynamic state

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>

13 months agoanv/video: move format properties to outarray.
Dave Airlie [Tue, 30 May 2023 05:49:52 +0000 (15:49 +1000)]
anv/video: move format properties to outarray.

This should be using the helper code.

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

13 months agoradv: align video images internal width/height inside the driver.
Dave Airlie [Mon, 29 May 2023 06:08:06 +0000 (16:08 +1000)]
radv: align video images internal width/height inside the driver.

Due to how the decoders work, they will write garbage data into
the padding, and later using the image for sampling with linear
images will use the garbage to create broken results. Let the
user specify the image size and align it up in the driver, so
sampling of the image later has the correct w/h.

cc: mesa-stable

Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agovk/video: add a common function to get block alignments for profiles
Dave Airlie [Tue, 30 May 2023 00:59:07 +0000 (10:59 +1000)]
vk/video: add a common function to get block alignments for profiles

This is to be used by drivers for internal image alignments.

This just adds a common profile to alignment helper.

Cc: mesa-stable
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agoradv/video: fix physical device format property count.
Dave Airlie [Thu, 25 May 2023 19:12:10 +0000 (05:12 +1000)]
radv/video: fix physical device format property count.

This was returning bad values

Fixes: db62c38091a3 ("radv: add vcn h265 decode.")
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agoradv/video: add debug flag to enable dpb image array on newer GPUs.
Dave Airlie [Thu, 25 May 2023 04:04:40 +0000 (14:04 +1000)]
radv/video: add debug flag to enable dpb image array on newer GPUs.

This is useful to test the paths on newer GPUs that work on older GPUs.

Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agoradv/video: fix some whitespace.
Dave Airlie [Thu, 25 May 2023 01:33:33 +0000 (11:33 +1000)]
radv/video: fix some whitespace.

this just removes some TABs.

Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agoradv/video: rework stream handle generation.
Dave Airlie [Thu, 25 May 2023 01:31:44 +0000 (11:31 +1000)]
radv/video: rework stream handle generation.

This shouldn't change anything, except move some calcs to an
earlier spot to avoid redoing them

Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agoradv/video: add missing offset to the dpb binding.
Dave Airlie [Thu, 25 May 2023 01:32:46 +0000 (11:32 +1000)]
radv/video: add missing offset to the dpb binding.

This doesn't affect anything I've seen yet.

Fixes: 3e2c768aa860 ("radv/vcn: enable dynamic dpb tier 2 for h264/h265 on navi21+")
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agoradv/video: fix h264/265 dpb usage.
Dave Airlie [Thu, 25 May 2023 01:33:49 +0000 (11:33 +1000)]
radv/video: fix h264/265 dpb usage.

This seems to be the best compromise I can come up with so far.

I can't figure out to get the tier2 programming to match between
264 and 265, maybe they are just programmed different here, good
old firmware.

Fixes: 1693c03a3963 ("radv/video: add initial h264 decoder for VCN")
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23227>

13 months agomesa: fix refcnt imbalance related to _mesa_delete_semaphore_object()
Patrick Lerda [Thu, 25 May 2023 14:15:28 +0000 (16:15 +0200)]
mesa: fix refcnt imbalance related to _mesa_delete_semaphore_object()

Indeed, the fence reference was not freed.

For instance, this issue is triggered with
"piglit/bin/ext_external_objects-vk-semaphores-2 -auto -fbo"
while setting GALLIUM_REFCNT_LOG=refcnt.log.

Fixes: 7b6cd912a59a ("mesa/st: get rid of ST_CALLOC_STRUCT use CALLOC_STRUCT")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23296>

13 months agoutil: add Jamestown+ workaround
Timothy Arceri [Fri, 26 May 2023 03:55:11 +0000 (13:55 +1000)]
util: add Jamestown+ workaround

Fixes crash on startup due to using API functionality removed in core
profile.

Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23246>

13 months agorusticl/screen: fix driver_uuid on non x86
norablackcat [Sat, 27 May 2023 20:02:19 +0000 (14:02 -0600)]
rusticl/screen: fix driver_uuid on non x86

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

13 months agopanfrost: Reformat using the new style
Konstantin Seurer [Sat, 27 May 2023 09:22:45 +0000 (11:22 +0200)]
panfrost: Reformat using the new style

Now, that the foreach macro list is complete (I hope), let's reformat
drivers that enforce correct formatting in CI.

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agoasahi: Reformat using the new style
Konstantin Seurer [Sat, 27 May 2023 09:21:11 +0000 (11:21 +0200)]
asahi: Reformat using the new style

Now, that the foreach macro list is complete (I hope), let's reformat
drivers that enforce correct formatting in CI.

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agovenus: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:41:27 +0000 (21:41 +0200)]
venus: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agoutil/perf: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:41:05 +0000 (21:41 +0200)]
util/perf: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agopanfrost: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:39:34 +0000 (21:39 +0200)]
panfrost: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agor600/sfn: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:38:44 +0000 (21:38 +0200)]
r600/sfn: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agoi915: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:37:50 +0000 (21:37 +0200)]
i915: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agod3d12: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:37:21 +0000 (21:37 +0200)]
d3d12: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agofreedreno: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:36:37 +0000 (21:36 +0200)]
freedreno: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agoasahi: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:36:03 +0000 (21:36 +0200)]
asahi: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agoamd: Use the Mesa base style
Konstantin Seurer [Fri, 26 May 2023 19:35:17 +0000 (21:35 +0200)]
amd: Use the Mesa base style

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agotreewide: Add a .clang-format file
Konstantin Seurer [Fri, 26 May 2023 19:32:25 +0000 (21:32 +0200)]
treewide: Add a .clang-format file

Add a Mesa base style instead of copying the same rules multiple times.
This is especially annoying with foreach macros, where every
.clang-format file maintains it's own incomplete list of the same
macros.

Adding a tree wide .clang-format allows other drivers to derive their
code style from whatever is considered default Mesa style.

Since clang-format doesn't allow us to derive ForEachMacros, driver
specific foreach macros have to be added to the common file.

Having a tree wide clang format should also help (new) contributers with
working oin parts of the tree that don't have their own .clang-format
file. (With regards to code formatting)

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23275>

13 months agoci/panfrost: add largest possible eglcreatepbuffersurface and then glclear flake
David Heidelberg [Mon, 29 May 2023 16:27:54 +0000 (18:27 +0200)]
ci/panfrost: add largest possible eglcreatepbuffersurface and then glclear flake

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

13 months agoci/amd: previously missed raven flake
David Heidelberg [Mon, 29 May 2023 16:24:37 +0000 (18:24 +0200)]
ci/amd: previously missed raven flake

Fixes: 1fa1c285fcad ("ci/amd: add draw.dynamic_rendering flake")

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

13 months agoci/zink: add KHR-GL46.limits.max_fragment_interpolation_offset flake
David Heidelberg [Mon, 29 May 2023 16:21:11 +0000 (18:21 +0200)]
ci/zink: add KHR-GL46.limits.max_fragment_interpolation_offset flake

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23300>

13 months agov3dv/vc4/ci: update expected results
Juan A. Suarez Romero [Mon, 29 May 2023 17:16:31 +0000 (19:16 +0200)]
v3dv/vc4/ci: update expected results

Remove passing tests, and add new failures and timeouts.

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

13 months agoanv: limit non zero fast clear check to GFX12_CCS_E
Rohan Garg [Thu, 23 Mar 2023 16:46:44 +0000 (17:46 +0100)]
anv: limit non zero fast clear check to GFX12_CCS_E

TGL C0 and above can fast clear to non zero values

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22076>

13 months agoanv: set aux usage to GFX12_CCS_E if a platform needs WA 14010672564
Rohan Garg [Wed, 19 Apr 2023 09:05:28 +0000 (11:05 +0200)]
anv: set aux usage to GFX12_CCS_E if a platform needs WA 14010672564

Account for the aux usage in various places now that we set the aux
usage correctly.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22076>

13 months agoisl: add helper to check if aux usage is CCS_E
Rohan Garg [Tue, 9 May 2023 18:17:13 +0000 (20:17 +0200)]
isl: add helper to check if aux usage is CCS_E

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22076>

13 months agoanv: enable single texel alignment
Rohan Garg [Fri, 26 May 2023 15:36:17 +0000 (17:36 +0200)]
anv: enable single texel alignment

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23263>

13 months agozink: require EXT_dynamic_rendering_unused_attachments for dynamic rendering
Mike Blumenkrantz [Mon, 29 May 2023 12:45:29 +0000 (08:45 -0400)]
zink: require EXT_dynamic_rendering_unused_attachments for dynamic rendering

this eliminates the pDepthAttachment-06181 and pStencilAttachment-06182 VUID errors
when enabled, and it should be trivial, so require it in the profile

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

13 months agolavapipe: VK_EXT_dynamic_rendering_unused_attachments
Mike Blumenkrantz [Mon, 29 May 2023 12:41:43 +0000 (08:41 -0400)]
lavapipe: VK_EXT_dynamic_rendering_unused_attachments

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

13 months agoradv: advertise VK_EXT_dynamic_rendering_unused_attachments
Samuel Pitoiset [Tue, 2 May 2023 16:00:18 +0000 (18:00 +0200)]
radv: advertise VK_EXT_dynamic_rendering_unused_attachments

It's a no-op and it's passing CTS.

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

13 months agovulkan: Update XML and headers to 1.3.251
Samuel Pitoiset [Mon, 29 May 2023 06:20:45 +0000 (08:20 +0200)]
vulkan: Update XML and headers to 1.3.251

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

13 months agova/surface : Add Nv12 support for PRIME_2 imports
SureshGuttula [Tue, 23 May 2023 07:27:54 +0000 (12:57 +0530)]
va/surface : Add Nv12 support for PRIME_2 imports

This patch will fix the resource allocation failed for NV12 buffer
format.

Signed-off-by: SureshGuttula <suresh.guttula@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23175>

13 months agodocs: document clang-format and how to use it
Eric Engestrom [Mon, 29 May 2023 10:47:09 +0000 (11:47 +0100)]
docs: document clang-format and how to use it

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

13 months agoci: use meson to run clang-format
Eric Engestrom [Fri, 26 May 2023 17:23:33 +0000 (18:23 +0100)]
ci: use meson to run clang-format

This will allow us to easily exclude vendored code when we enforce the
formatting of more components later on.

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

13 months agomeson: enable the clang-format target
Eric Engestrom [Fri, 26 May 2023 17:21:38 +0000 (18:21 +0100)]
meson: enable the clang-format target

.clang-format needs to exist in the root of the project for the target
to be generated, but since we don't have a global config it's a dummy,
empty file.

.clang-format-include lists the files (files! not folders) that are to
be formatted.

.clang-format-ignore lists the files to exclude, even if they are in the
include list above. Useful for vendored code for instance.

See https://mesonbuild.com/Code-formatting.html

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

13 months agoci: color the diff for clang-format
Eric Engestrom [Fri, 26 May 2023 17:22:02 +0000 (18:22 +0100)]
ci: color the diff for clang-format

Suggested-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23269>

13 months agoci/zink+radv: document recent regressions
Eric Engestrom [Fri, 26 May 2023 19:48:39 +0000 (20:48 +0100)]
ci/zink+radv: document recent regressions

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

13 months agoci/zink+radv: mark all spec@arb_copy_image@arb_copy_image-targets* as flaky after...
Eric Engestrom [Fri, 26 May 2023 19:47:52 +0000 (20:47 +0100)]
ci/zink+radv: mark all spec@arb_copy_image@arb_copy_image-targets* as flaky after getting a bunch more of them

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