Mike Blumenkrantz
6df9bcaa10
zink: handle inline uniforms during first-time shader generation
...
this is unlikely but possible
Fixes: a0e69e7601
("zink: split out first-time shader module creation")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
7a489593d0
zink: remove a bunch of casts from shader key inlines
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
f2591d09d7
zink: wrap zink_shader_key_base access for nonseamless cubemap use
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
3513bddcbf
zink: check on init whether decomposed attrs are needed
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
f933ede78e
zink: add a bool flag for decomposed vertex elements
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Erik Faye-Lund
cd81f2d08a
ci/crocus: update ci results
...
Seems we haven't been running the Crocus CI much lately, and some things
has changed. The new failures needs to be investegated and fixed, but
let's update the results for now.
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18822 >
2022-09-26 16:52:48 +00:00
Rhys Perry
3730be9873
aco: mostly implement FS input loads on GFX11
...
Quad-divergent CF and vertex selection doesn't work, but should at least
prevent crashes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:57 +00:00
Rhys Perry
826ed52174
aco/tests: add GFX11 assembly tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:57 +00:00
Rhys Perry
48c8c25e68
aco: omit read-only memory_sync_info when printing
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:57 +00:00
Rhys Perry
aadb7aef01
aco: add VINTERP instruction format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
55cd74d468
aco: add LDSDIR instruction format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
a7a9aad14d
aco: limit GFX11 to 128 VGPRs for now
...
See https://reviews.llvm.org/D128054
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
4e55b5b851
aco: update assembler for GFX11
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
077dd12ac6
aco/gfx11: don't use more than 1 NSA dword
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
d8d99c3c4f
aco: add GFX11 opcode numbers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
2f74df7117
aco: fix assembly of MUBUF-to-LDS loads
...
These have an implicit m0 read and don't write VGPRs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
78779fd63d
aco: add reg() helper to assembler
...
SGPR encoding is slightly different on GFX11.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
7a1b522148
aco: rename Interp_instruction to VINTRP_instruction
...
These is clearer since GFX11 adds another interpolation format.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Ruijing Dong
51bd75e28c
radeonsi/vcn: support async
...
enable async for vcn
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18781 >
2022-09-26 13:59:19 +00:00
Yonggang Luo
091249dff4
aco: Fixes compiling error about char8_t with c++20
...
The error is:
../mesa/src/amd/compiler/aco_register_allocation.cpp:382:7: error: no matching function for call to 'printf'
printf(u8"☐");
Fixes: 209a89e51d
("aco: Convert to use u8 literal for Unicode character to fixes msvc warning")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7318
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18796 >
2022-09-26 13:28:33 +00:00
Daniel Schürmann
8ace685432
radv/rt: inline radv_rt_pipeline_create_() helper into radv_rt_pipeline_create()
...
This saves some re-allocation and will help in future with RT shader functions.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18755 >
2022-09-26 13:03:44 +00:00
Daniel Schürmann
40366a3aaf
radv/rt: create separate radv_rt_pipeline struct
...
inherited from radv_compute_pipeline to contain all RT-related information.
This will make it easier to transition to RT shader functions.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18755 >
2022-09-26 13:03:44 +00:00
Matt Coster
b93b696356
pvr: Fix assignment to ISP back_a.sref
...
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/18778 >
2022-09-26 12:25:02 +00:00
Mike Blumenkrantz
007c6b1dd2
radv: use direct access to last_vgt_api_stage_locs for sgpr emission
...
radv_lookup_user_sgpr is heavy, stop using it
Reviewed-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/18808 >
2022-09-26 11:40:26 +00:00
Mike Blumenkrantz
351c4ed6d1
radv: store pointer to sgprs for last vertex stage
...
Reviewed-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/18808 >
2022-09-26 11:40:26 +00:00
Marcin Ślusarz
2a723f7a8d
nir: use nir_shader_instructions_pass in nir_split_per_member_structs
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
67fe9ae5c3
nir: use nir_shader_instructions_pass in nir_split_var_copies
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
9dcff3ea53
nir: use nir_shader_instructions_pass in nir_lower_samplers
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
865d959090
nir: use nir_shader_instructions_pass in nir_lower_interpolation
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
6e0bcc1c4d
nir: use nir_metadata_none instead of its value
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
dd51dedefd
nir: use nir_shader_instructions_pass in nir_lower_frexp
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
a87070937d
nir: use nir_shader_instructions_pass in nir_lower_fb_read
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
2e410c4c05
nir: use nir_shader_instructions_pass in nir_lower_drawpixels
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
00b0de5c83
nir: use nir_shader_instructions_pass in nir_lower_clip_halfz
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
c6e4641a21
nir: use nir_shader_instructions_pass in nir_lower_clip_disable
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
a1efa18dfe
nir: use nir_shader_instructions_pass in nir_lower_clamp_color_outputs
...
Changes:
- removal of lower_state (not needed anymore)
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
c7078fe4e0
nir: use nir_shader_instructions_pass in nir_lower_64bit_phis
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
ea39efe9b8
nir: use nir_shader_instructions_pass in nir_lower_bool_to_int32
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
d28833d60f
nir: use nir_shader_instructions_pass in nir_lower_bool_to_float
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
4a9e2dc1e9
nir: use nir_shader_instructions_pass in nir_lower_bool_to_bitsize
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
5beeb3c1db
nir: use nir_shader_instructions_pass in nir_lower_alu
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
- only metadata of the current function is invalidated (invalidation on
one function was leaking to successive functions because "progress"
was not reset)
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
cb201e92ac
glsl: use nir_shader_instructions_pass in gl_nir_lower_samplers_as_deref
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
d3708d6cf5
glsl: use nir_shader_instructions_pass in gl_nir_lower_images
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
1829fde212
glsl: use nir_shader_instructions_pass in gl_nir_lower_atomics
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
e9dc98ed87
crocus: remove invalid nir_metadata_preserve from crocus_fix_edge_flags
...
nir_metadata_preserve(NULL, ...) doesn't make any sense.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
a1c042fb5a
iris: remove invalid nir_metadata_preserve from iris_fix_edge_flags
...
nir_metadata_preserve(NULL, ...) doesn't make any sense.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
0337f449a6
radv: use nir_shader_instructions_pass in radv_nir_lower_ycbcr_textures
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Mike Blumenkrantz
a54d996463
radv: ALWAYS_INLINE radv_is_streamout_enabled()
...
v2 by Timur Kristóf:
- Use ALWAYS_INLINE instead of just inline.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18807 >
2022-09-26 10:51:25 +00:00
Mike Blumenkrantz
051594fb7f
radv: ALWAYS_INLINE radv_flush_descriptors
...
B I G P E R F
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18807 >
2022-09-26 10:51:25 +00:00
Mike Blumenkrantz
876f7f60ac
radv: ALWAYS_INLINE radv_after_draw
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18807 >
2022-09-26 10:51:25 +00:00