URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=96c33fb02704fc80363d3d17c3b2e54f21d09f18
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 23:11:07 2023 +0200
anv: enable direct descriptors on platforms with extended bindless offset
Aka. DG2
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=26e2436823d888e1f15ccbf45c6c927c362ae0fe
Author: Lionel Landwerlin <[email protected]>
Date: Tue Apr 25 16:39:02 2023 +0300
anv: ensure descriptor addresses are used with bindless stages
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0502a92199b5846d2638365e8e88a4afc11c7361
Author: Lionel Landwerlin <[email protected]>
Date: Mon Feb 27 17:02:11 2023 +0200
anv: descriptor binding for direct descriptors
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8ef34bd31a8551f1664475cae50085ebae7a9a4
Author: Lionel Landwerlin <[email protected]>
Date: Thu Feb 9 16:58:58 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=06dfd216d35f25acd4531b95d681c31e71892e80
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 20:02:57 2023 +0200
anv: add direct descriptor support to apply_layout
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d24d0bdcc8fcfe457c02b17ca9321d95148d343
Author: Lionel Landwerlin <[email protected]>
Date: Thu Mar 2 11:10:36 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=86a7cc8d8f650f81bf9e8e78c979e0442c9d0f8e
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 13:42:25 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=739981e0acbda5849fadae2fb877ac86e8b93706
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 13:00:40 2023 +0200
anv: implement binding table emission for direct descriptors
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce89410adbb9df50629255b6c555cb157cd922c7
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 12:23:23 2023 +0200
anv: factor out dynamic buffer bti emission
No functional change. Will reuse in the followup commit.
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5676d51c1c94bb9e60e802c00ecfc2a597f2b134
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 11:45:04 2023 +0200
anv: handle null surface in the binding table with direct descriptors
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e846e68adf5b6a566fe9a1c8b721a214e5914409
Author: Lionel Landwerlin <[email protected]>
Date: Fri Feb 24 11:20:53 2023 +0200
anv: add helpers to build pipeline bindings
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=688968e8880f303a121960f0a581036d1793b81c
Author: Lionel Landwerlin <[email protected]>
Date: Thu Feb 23 21:37:59 2023 +0200
anv: add support for direct descriptor in allocation/writes
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=64f20cec28d8df7815157dc09ba0bd33d3202a57
Author: Lionel Landwerlin <[email protected]>
Date: Thu Feb 23 15:19:11 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c45cd217ebe480b9da5a7e8ae250f4483a9e3ab
Author: Lionel Landwerlin <[email protected]>
Date: Tue Jan 10 10:18:06 2023 +0200
anv: bound load descriptor mem better
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d1223a5c9d0bc4ec062513738a9ca46c55cff0c
Author: Lionel Landwerlin <[email protected]>
Date: Mon Jan 9 21:15:08 2023 +0200
nir: expose a couple of address format add helpers
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=02cecffe2bbacb923f3b8de5a0e1ffa08fe835a6
Author: Lionel Landwerlin <[email protected]>
Date: Thu Dec 22 20:44:07 2022 +0200
anv: add a pass to partially lower resource_intel
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=77c01467473834a5a84f50a4a57ae2da52be8236
Author: Lionel Landwerlin <[email protected]>
Date: Tue Dec 13 11:28:19 2022 +0200
anv: new structure to hold surface states
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f1ff326e00ab67af455a37170248658f0a44ea5
Author: Lionel Landwerlin <[email protected]>
Date: Wed Mar 15 16:10:25 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2c0147228f11d0eb637cb286d7839b2200303c0
Author: Lionel Landwerlin <[email protected]>
Date: Wed Feb 22 09:00:35 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6367691b581da08b51da05bab4f5975df96e3da0
Author: Lionel Landwerlin <[email protected]>
Date: Mon Mar 27 17:11:44 2023 +0300
anv: introduce a new descriptor set layout type
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b9d27e6130477423ce3581bb7d4cd896c4588c2
Author: Lionel Landwerlin <[email protected]>
Date: Thu Feb 23 14:18:51 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b386952411594984101ec50b5fa1197ce552d980
Author: Lionel Landwerlin <[email protected]>
Date: Tue Dec 6 15:31:26 2022 +0200
docs/anv: some binding table explanations
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=257bf9b6c327058051a27e3b55d4d87106a695d7
Author: Lionel Landwerlin <[email protected]>
Date: Fri Oct 14 17:49:58 2022 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7fa0fceabaa614e893b1ff0f635bd1b6c1fb237c
Author: Lionel Landwerlin <[email protected]>
Date: Mon Mar 20 13:57:15 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f8ede792e0d81d20f4455215413903e9921a750
Author: Lionel Landwerlin <[email protected]>
Date: Wed Mar 22 16:29:58 2023 +0200
anv: move pipeline active_stages to common structure
And fill it out for all types of pipelines.
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7eb8e711829bdb2238db5c0c28e9fb4e2e854140
Author: Lionel Landwerlin <[email protected]>
Date: Mon Mar 20 16:35:46 2023 +0200
anv: track pipeline in anv_cmd_pipeline_state
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2728f22c78ad22164aa42ded55cb392921804fe
Author: Lionel Landwerlin <[email protected]>
Date: Wed Mar 22 17:32:29 2023 +0200
anv: bail flush_gfx_state when not gfx push constant is dirty
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3f6e5dc702472f8f6c730c4172d996d92cb4b6b
Author: Lionel Landwerlin <[email protected]>
Date: Mon Mar 27 12:46:09 2023 +0300
anv: remove incorrect ifdef
This is a leftover from a previous fix attempt. We don't need this.
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=efcda1c530a5632f2a6517ec250755bb2a318b05
Author: Lionel Landwerlin <[email protected]>
Date: Wed Mar 22 00:22:22 2023 +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 <[email protected]>
Cc: mesa-stable
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=944004dc8acbf9634875e63fcdc9b1158f0b2fa7
Author: Lionel Landwerlin <[email protected]>
Date: Tue Mar 21 14:15:08 2023 +0200
anv: remove unused define
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=04777171e01e9cf1a4e1d5de68922392ba8e7002
Author: Lionel Landwerlin <[email protected]>
Date: Thu Feb 9 15:07:36 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b28609a7561aaf3bb9113ad6f5a0d5a7a9879f91
Author: Lionel Landwerlin <[email protected]>
Date: Fri Apr 7 16:48:40 2023 +0300
intel/fs: enable uniform block accesses through bindless heap
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=05089f305f0db4ebc633e3c08d919cf822378d4a
Author: Lionel Landwerlin <[email protected]>
Date: Wed Feb 22 15:44:41 2023 +0200
intel/fs: enable bindless sampler state offsets
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d6877bf99f7741797570fcc6d6e0b2e29c0323b
Author: Lionel Landwerlin <[email protected]>
Date: Fri Oct 14 17:49:00 2022 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=01fc9a06bd1d09dd3b8477533e2d31d282f5431d
Author: Lionel Landwerlin <[email protected]>
Date: Tue Dec 27 15:57:53 2022 +0200
intel/fs: enable get_buffer_size on bindless heap
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad9bc1ffb57e36d0c8f4e57c11f82785b1ef5bdc
Author: Lionel Landwerlin <[email protected]>
Date: Fri Jan 13 12:29:30 2023 +0200
intel/fs: enable UBO accesses through bindless heap
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=068bf1378d71e6498a4763666be3bb28a0a2e5a6
Author: Lionel Landwerlin <[email protected]>
Date: Wed Dec 21 13:30:40 2022 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d0cc3f63b057f7cc92c47c54e6781c5b2de431b
Author: Lionel Landwerlin <[email protected]>
Date: Fri Jan 13 12:26:01 2023 +0200
intel/fs: keep track of new resource_intel information
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=86e9943b00b64a98f42a1fb15723eb5e1249d627
Author: Lionel Landwerlin <[email protected]>
Date: Tue Dec 27 11:26:02 2022 +0200
intel/fs: teach ubo range analysis pass about resource_intel
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=12540dfb6bb723449f53138aa6c6ae51b9ce7ba7
Author: Lionel Landwerlin <[email protected]>
Date: Mon Apr 24 18:42:48 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3df3c38a65c0b362e824c8bd758b431e5f9f197c
Author: Lionel Landwerlin <[email protected]>
Date: Tue Feb 21 08:50:35 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a8382a78a51fe598822be91fc0f9f21e943879c
Author: Lionel Landwerlin <[email protected]>
Date: Mon Feb 20 19:02:47 2023 +0200
nir: teach nir_chase_binding about resource_intel
It's needed to have opt_gcm work properly.
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=54dfc08b89a1e1f53afc1b6ef8b3ca164dcdab0f
Author: Lionel Landwerlin <[email protected]>
Date: Thu Dec 22 17:27:58 2022 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8790e9808fc701d0486ca97c75bc3338879410e
Author: Lionel Landwerlin <[email protected]>
Date: Thu Jan 19 11:54:10 2023 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e09cfda0de500a0c99948a802023832e9659f1a1
Author: Lionel Landwerlin <[email protected]>
Date: Tue Dec 27 15:32:24 2022 +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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a66944dfbcb06c669da6d3d4f36cc5d06dac30d8
Author: Lionel Landwerlin <[email protected]>
Date: Fri Jan 27 15:51:09 2023 +0200
intel/fs: reuse descriptor helper
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1ffa067d3d5d57f3c92ed1cf2228c618a2492bf
Author: Lionel Landwerlin <[email protected]>
Date: Tue Apr 25 12:56:06 2023 +0300
anv: fix push range for descriptor offsets
Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 379b9bb7b0 ("anv: Support fetching descriptor addresses from push
constants")
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b25adac077c72c1050a4392558f2d6642a3d420d
Author: Lionel Landwerlin <[email protected]>
Date: Wed Feb 22 18:51:48 2023 +0200
anv: update internal address space to have 4Gb of dynamic state
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21645>