Lionel Landwerlin
429ef02f83
intel/fs: make tcs input_vertices dynamic
...
We need to do 3 things to accomplish this :
1. make all the register access consider the maximal case when
unknown at compile time
2. move the clamping of load_per_vertex_input prior to lowering
nir_intrinsic_load_patch_vertices_in (in the dynamic cases, the
clamping will use the nir_intrinsic_load_patch_vertices_in to
clamp), meaning clamping using derefs rather than lowered
nir_intrinsic_load_per_vertex_input
3. in the known cases, lower nir_intrinsic_load_patch_vertices_in
in NIR (so that the clamped elements still be vectorized to the
smallest number of URB read messages)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22378 >
2023-05-24 18:32:07 +00:00
Marcin Ślusarz
512126b26d
intel/compiler: remove unused field from fs_thread_payload
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20957 >
2023-02-23 08:04:24 +00:00
Marcin Ślusarz
15afb8dcc6
intel/compiler/mesh: apply URB payload mask once per program
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21098 >
2023-02-21 11:10:23 +00:00
Jason Ekstrand
43ca7f4178
intel/compiler: Convert brw_wm_aa_enable to brw_sometimes
...
There are other cases where we want a tri-state logic like this. May as
well have one enum for all the cases.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21094 >
2023-02-06 09:12:17 +00:00
Caio Oliveira
e612f32e1a
intel/compiler: Use brw_ud* helpers in thread payload code
...
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
0b6e613de8
intel/compiler: Create and use struct for CS thread payload
...
Move subgroup_id, that's only used by CS for verx10 < 125, as part of
the payload too -- even though is not, strictly speaking.
Note the thread execution of Task/Mesh is similar enough, so we make
their common struct inherit from cs_thread_payload.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
9de790760e
intel/compiler: Create and use struct for Bindless thread payload
...
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
a70378f292
intel/compiler: Store start of ICP handles in GS thread payload struct
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
5b6987daee
intel/compiler: Create and use struct for GS thread payload
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
7664c85b1d
intel/compiler: Create and use struct for TASK and MESH thread payloads
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
0ca65b3c4c
intel/compiler: Create and use struct for VS thread payload
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
19c6e1b447
intel/compiler: Create and use struct for TES thread payload
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
eb837dd23b
intel/compiler: Store start of ICP handles in TCS thread payload struct
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
2622fc3af1
intel/compiler: Store Primitive ID in TCS thread payload struct
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
9a9b1119b4
intel/compiler: Store Patch URB output in TCS thread payload struct
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
e21359ed0e
intel/compiler: Create struct for TCS thread payload
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
73920b7e2f
intel/compiler: Use FS thread payload only for FS
...
Move the setup into the FS thread payload constructor. Consolidate
payload setup for that in brw_fs_thread_payload.cpp file.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00