Qiang Yu
b744405aa2
radeonsi: extract si_llvm_build_shader_part
...
Prepare for aco code path.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24443 >
2023-08-16 11:25:28 +08:00
Qiang Yu
e797bd78c9
radeonsi: fill part mode tcs aco shader info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24443 >
2023-08-16 11:25:28 +08:00
Qiang Yu
ac867af099
radeonsi: share si_get_tcs_out_patch_stride with aco
...
Move it out of llvm to be shared with aco.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24443 >
2023-08-16 11:25:28 +08:00
Qiang Yu
1001478a68
radeonsi: support upload multi part shader binary
...
Need to split shader binary into exec and data part, then combine
exec and data of all shader parts separately. So const data symbols
in code need to be relocated.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24443 >
2023-08-16 11:25:28 +08:00
Qiang Yu
85c0f31099
radeonsi: add exec_size to shader binary
...
Used by aco binary to split exec code and const data when combine
multi part shader binary.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24443 >
2023-08-16 11:25:28 +08:00
Qiang Yu
51a8479a51
aco: use semantic location as io temp index
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
4c7fdebf9b
ac/nir/tess: move tess factor output out of control flow
...
For radeonsi aco compile which can't handle outputs without
nir_lower_io_to_temporaries().
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
4756388038
aco,radeonsi: save const addr to symbol
...
For radeonsi to relocation const data when combine multiple
shader parts to a single one. So the final shader binary will
begin with exec code of all parts then const data.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
facbd13df1
aco: skip scratch init when no scratch arg provide
...
epilog does not use scratch so has no scratch arg.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
d3333609e6
aco: don't emit s_endpgm for tcs with epilog
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
b41d3e42f7
aco: add tcs epilog generation for radeonsi
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
a2484b20f9
aco: add pending_lds_access option for insert waitcnt
...
For tcs epilog to add p_barrier at the beginning to sync
main shader part tess factor LDS write.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
5cf6f4f9a7
aco: allow tcs with epilog to keep nir store output instruction
...
Used to same tess factor outputs.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
5d05ae5df0
aco: add tcs end regs for epilog usage
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
7c7062f8f9
aco: move jump to epilog out of ic_merged_wave_info
...
TCS may be wrapped with if/else when merged shader. Jump
to epilog or end with regs should not be inside it.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Qiang Yu
85d9646288
aco: add p_end_with_regs pseudo instruction
...
Used by radeonsi shader parts to pass args from one part to another.
It has variable number of operands to reserve fixed registers with
wanted value.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442 >
2023-08-16 02:27:45 +00:00
Julia Tatz
a3549d7f7a
aux/trace: trace video_buffer method return vals
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
992ded3a3f
aux/trace: unwrap refrence frames in picture_desc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
ac9c2689a6
aux/trace: wrap video_codec & video_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
a5279f1ec5
aux/trace: add context video methods
...
Preliminary support without wrapping video_codec or video_buffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
ace894cff8
aux/trace: add screen video methods
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
9d1da9ec20
aux/trace: fix set_hw_atomic_buffers method name
...
Fixes: b2dc63ed8c ("aux/trace: Add pipe_context::set_hw_atomic_buffers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
713437b2fc
aux/trace: move trace_sample_view logic
...
it's defined in tr_texture, so it makes sense and is more
re-usable to have it's logic there.
Also documented the magic number used for private refcounting
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:30 +00:00
Julia Tatz
9ff20e23fe
aux/trace: deduplicate enum dump macro work
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:29 +00:00
Julia Tatz
87850734e7
aux/trace: skip multi-line comments in enums2names
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482 >
2023-08-16 00:11:29 +00:00
Julia Tatz
c4133a110d
gallium/dri: fix dri2_from_names
...
`createImageFromNames` uses fourcc, not dri_image_formats
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8547
Fixes: 433ca3127a ("st/dri: replace format conversion functions with single mapping table")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24597 >
2023-08-15 23:36:24 +00:00
José Roberto de Souza
f7e39c6f85
intel/isl: Remove Wa_22011186057
...
This is a ADL-P workaround of a pre-production stepping, with RPL-P
already being sold we can remove this workaround.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24699 >
2023-08-15 18:47:36 +00:00
José Roberto de Souza
4c06c736c5
intel/isl: Remove unknown workaround
...
The way this workaround is implemented, it is being applied to all
gfx 12 platforms(TGL, ADL, RKL, RPL, DG1, DG2 and MTL) but it was
supposed to be fixed in TGL B0.
Unfortunately I did not found any workaround number that would match it.
But as all released platforms don't ship to customers with revision == 0
this workaround was never being applied and can be safely removed.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24699 >
2023-08-15 18:47:36 +00:00
Faith Ekstrand
b64da56b1a
nir: s/nir_instr_ssa_def/nir_instr_def/
...
Generated by sed:
sed -i -e 's/nir_instr_ssa_def/nir_instr_def/g' src/**/*.h src/**/*.c src/**/*.cpp
Suggested-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24703 >
2023-08-15 17:44:27 +00:00
Faith Ekstrand
43be4129d2
nir: s/live_ssa_def/live_def/
...
Generated mostly with sed:
sed -i -e 's/live_ssa_def/live_def/g' src/compiler/nir/nir.h src/compiler/nir/*.c
Plus three fixups in various Intel drivers.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24703 >
2023-08-15 17:44:27 +00:00
Faith Ekstrand
b781dd6200
nir s/nir_get_ssa_scalar/nir_get_scalar/
...
Generated with sed:
sed -i -e 's/nir_get_ssa_scalar/nir_get_scalar/g' src/**/*.h src/**/*.c src/**/*.cpp
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24703 >
2023-08-15 17:44:27 +00:00
Faith Ekstrand
65b6ac8aa4
nir: Rename nir_instr_type_ssa_undef to nir_instr_type_undef
...
We already renamed the type, we just need to rename the enum and the
casting helper functions.
Generated with sed:
sed -i -e 's/nir_instr_type_ssa_undef/nir_instr_type_undef/g' src/**/*.h src/**/*.c src/**/*.cpp
sed -i -e 's/nir_instr_as_ssa_undef/nir_instr_as_undef/g' src/**/*.h src/**/*.c src/**/*.cpp
and two tiny whitespace fixups in lima.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24703 >
2023-08-15 17:44:27 +00:00
Mike Blumenkrantz
252bff0f48
zink: use real A8_UNORM when possible
...
this is tricky because drivers are exposing their native support, but
that support may not fit the specific needs of the format
as such, (almost) every use of format where alpha emulation workarounds are
present now need to add a second layer of workarounds in order to handle
the case of possibly-genuine A8 (which might also be emulated A8 even if
the driver supports A8 for some things)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24685 >
2023-08-15 16:42:27 +00:00
Mike Blumenkrantz
f501f9453a
zink: use maintenance5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24685 >
2023-08-15 16:42:27 +00:00
Mike Blumenkrantz
8be6b7caa3
zink: add maintenance extensions to profile
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24685 >
2023-08-15 16:42:27 +00:00
Mike Blumenkrantz
d19e8fc1fb
zink: split create_ici to init and eval
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24685 >
2023-08-15 16:42:27 +00:00
Mike Blumenkrantz
4f8561369e
zink: remove unused param from create_ici
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24685 >
2023-08-15 16:42:27 +00:00
Alyssa Rosenzweig
eff5e18714
nir: Assert that nir_ssa_for_src components matches
...
In prep for removing the helper.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24654 >
2023-08-15 11:59:03 -04:00
Alyssa Rosenzweig
8552311343
broadcom/compiler: Use nir_trim_vector explicitly
...
...when trying to ignore components. Trim functionality with nir_ssa_for_src is
deprecated.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24654 >
2023-08-15 11:59:03 -04:00
Alyssa Rosenzweig
c182ab2b83
lvp,nir/lower_input_attachments: Use nir_trim_vector
...
Make the trimming obvious. We will lock down ssa_for_src soon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24654 >
2023-08-15 11:59:03 -04:00
Mike Blumenkrantz
88d753631c
aux/trace: print bindless handles as pointers
...
this makes traces using bindless ops easier to read/diff
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24679 >
2023-08-15 14:36:38 +00:00
Alyssa Rosenzweig
823827a295
panfrost: Pack stride at CSO create time on v9
...
Now that the stride is in the CSO, there's no merging needed at draw-time. The
whole descriptor could probably be uploaded at CSO create time but I didn't want
to deal with that right now, this isn't even my driver anymore I just like
deleting code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24680 >
2023-08-15 13:27:58 +00:00
Sylvain Munaut
32675a304b
mesa: Enable ARB_texture_border_clamp in GL Core
...
According to the GL3 spec, only the `CLAMP` mode was deprecated,
the `CLAMP_TO_EDGE` and `CLAMP_TO_BORDER_ARB` are not, so this
extension should be advertised.
As a side note, Davinci Resolve uses a Core profile and tests for
that extension so it fixes an issue with that app.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24660 >
2023-08-15 12:46:56 +00:00
Mike Blumenkrantz
714362b7da
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00
Mike Blumenkrantz
bc5ba7b7c4
zink: remove pipe_stream_output from function params
...
this is no longer used at all
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00
Mike Blumenkrantz
3c7f50ba4d
zink: stop using pipe_stream_output
...
nir_xfb_info is much cleaner and simpler to use
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00
Mike Blumenkrantz
1abd507049
zink: delete all the extra gross xfb handling
...
xfb outputs should always be inlined into the base variables now,
so there's no need for anything further here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00
Mike Blumenkrantz
01d3c691a5
zink: fix clip/cull dist xfb inlining
...
these are compact arrays which don't take up slots according to normal
array i/o sizing rules
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00
Mike Blumenkrantz
235ae7c3c6
zink: delete lower_64bit_vertex_attribs pass
...
this is no longer useful
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00
Mike Blumenkrantz
25fd1dfca3
zink: delete split_blocks pass
...
this is no longer useful
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634 >
2023-08-15 11:54:06 +00:00