Caio Oliveira
68f80e6fc1
compiler/types: Move remaining code from nir_types to glsl_types
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
b2407d7859
compiler/types: Flip wrapping of numeric type conversion functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
8bebd40d5c
compiler/types: Flip wrapping of remaining small data getters
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
922fe24739
compiler/types: Flip wrapping of remaining non-trivial type getters
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
a5e6e5b6d3
compiler/types: Flip wrapping of get row/column type helpers
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
beaac525e8
compiler/types: Flip wrapping of various get instance functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
5c91cf9288
compiler/types: Flip wrapping of texture/sampler/image get instance functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
87b3812f10
compiler/types: Flip wrapping of get_instance()
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
2117158619
compiler/types: Flip wrapping of record_compare
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
e486384540
compiler/types: Flip wrapping of layout related functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
a4cfeea850
compiler/types: Flip wrapping of interface related functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
ad092fcab5
compiler/types: Flip wrapping of struct related functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
421a04f5ba
compiler/types: Flip wrapping of size related functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
418e3be14c
compiler/types: Flip wrapping of CL related functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:12 +00:00
Caio Oliveira
d78110d356
compiler/types: Flip wrapping of cmat related functions
...
Also add a missing `struct` related to cmat.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:11 +00:00
Caio Oliveira
67210f90ad
compiler/types: Flip wrapping of array related functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:11 +00:00
Caio Oliveira
3bf500af7b
compiler/types: Flip wrapping of "type contains?" predicate functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25129 >
2023-10-25 01:51:11 +00:00
Eric Anholt
74315051a9
ci_run_n_monitor: Always resolve --rev arguments for looking up pipelines.
...
Otherwise you'd loop forever never finding it with --rev <paste from
gitlab UI> or --rev <branch name>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25824 >
2023-10-25 01:48:18 +00:00
David Rosca
9b4fccf4b3
radeonsi/vcn: Add encode support for H264 B-frames
...
Tested with ffmpeg and gstreamer vah264enc.
References to B-frames (b_depth/b-pyramid) not supported.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565 >
2023-10-25 01:03:58 +00:00
David Rosca
3c5d82142d
frontends/va: Fix parsing packed headers without emulation bytes
...
Don't try to handle emulation bytes and only parse first NAL unit
if the packed header has no emulation bytes.
This fixes parsing packed headers from gstreamer.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565 >
2023-10-25 01:03:58 +00:00
David Rosca
081f972eba
util/vl: Fix vl_rbsp parser with bitstreams without emulation bytes
...
This is used for parsing VA packed headers and those can be without
emulation prevention bytes.
Add emulation_bytes argument to vl_rbsp_init and skip all emulation
bytes handling when set.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565 >
2023-10-25 01:03:58 +00:00
David Rosca
9e82c5d864
frontends/va: Parse H264 SPS for max_num_reorder_frames
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565 >
2023-10-25 01:03:58 +00:00
Chia-I Wu
b653669fc5
anv: add gen9 astc workaround
...
gen9 does not handle denorms in void extent blocks correctly. We need
to flush them to zero.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25800 >
2023-10-25 00:06:04 +00:00
Chia-I Wu
c42b1a5a74
anv: prep for gen9 astc workaround
...
We will reuse astc emu for gen9 astc workaround. This commit contains
minor cleanups and has no functional change.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25800 >
2023-10-25 00:06:04 +00:00
Timur Kristóf
9a79c5f1e5
radv: Support SDMA in si_cs_emit_write_event_eop.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833 >
2023-10-24 23:12:45 +00:00
Timur Kristóf
b442de86c1
radv: Support SDMA in radv_cp_wait_mem.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833 >
2023-10-24 23:12:45 +00:00
Timur Kristóf
04a3ed8a92
radv: Support SDMA in radv_cs_write_data_head.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833 >
2023-10-24 23:12:45 +00:00
Mary Guillemard
5308378a35
nir: Add NVIDIA-specific geometry shader opcodes
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:18 +00:00
Faith Ekstrand
1fa7c37a36
nir: Add NVIDIA-specific I/O intrinsics
...
NVIDIA hardware doesn't take a vertex index for per-vertex I/O.
Instead, it takes an offset into the primitive. This has to be fetched
using a combination of SR_INVOCATION_INFO and the ISBERD instruction.
To keep things simple and allow for maximum CSE, we do the lowering in
NIR and patch the load/store_per_vertex_input/output intrinsic.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:18 +00:00
Faith Ekstrand
8188842fdc
nir: Add a range to most I/O intrinsics
...
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:18 +00:00
Faith Ekstrand
a2b799c53c
nir: Add an load_barycentric_at_offset_nv intrinsic
...
NVIDIA hardware takes the offset as two 4.12 fixed-point values packed
into a single 32-bit value.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:18 +00:00
Faith Ekstrand
1a2e8290ab
nir: Add NV-specific texture opcodes
...
These are for implementing various texture queries.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:18 +00:00
Faith Ekstrand
5984265d45
nir: Add a load_sysval_nv intrinsic
...
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:18 +00:00
Faith Ekstrand
abf3175161
nir/lower_tex: Add a lower_txd_clamp option
...
Some of us want to lower all TXD with min_lod regardless of whether or
not it's shadow or cube or whatever.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:17 +00:00
Faith Ekstrand
d3d5122f7c
nir: Add convert_alu_types to divergence analysis
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:17 +00:00
Faith Ekstrand
0680330cf7
nir: Add a nir_ssa_def_all_uses_are_fsat() helper
...
Extracted from nir_lower_to_source_mods, this is useful for back-ends
which don't want to rely on NIR source and destination modifiers.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000 >
2023-10-24 22:21:17 +00:00
Rhys Perry
28ebe62af2
radv: enable mesh shader gs_fast_launch=2 and multi-row export
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:07 +00:00
Rhys Perry
3531136949
radv: implement mesh shader multi-row export
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:07 +00:00
Rhys Perry
773d35d25e
ac/nir: implement mesh shader multi-row export
...
Unlike AMDVLK, this has separate loops for attribute stores and exports,
so that the stores from different rows can overlap.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:07 +00:00
Rhys Perry
c29d8a9e68
ac/nir,radv: pass workgroup size to ac_nir_lower_ngg_ms
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
c300a496ea
ac/nir: add emit_ms_outputs helper
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
23cb0b00db
radv: implement mesh shader gs_fast_launch=2
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
c63ac28014
ac/nir: optimize mesh shader local_invocation_index
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
cddbe9a4c2
ac/nir: implement mesh shader gs_fast_launch=2
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
75bc2e7149
ac/nir: refactor mesh vertex/primitive export
...
To prepare for row export, move them into helpers with index and row
parameters.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
24431419ce
ac/nir: remove dead code
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
6ec72806b7
ac/nir: add row parameter to helpers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
4c3677094e
aco,nir: add export_row_amd intrinsic
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
4bd4ff5d9b
nir: improve ms_cross_invocation_output_access with local_invocation_id
...
Since GFX11, RADV doesn't need to lower local_invocation_id.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Caio Oliveira
b91ed68fa0
intel/compiler: Don't emit calls to validate() in release build
...
While the fs_visitor::validate() implementation is empty in release
build, we still emit calls to it since it is defined in a separate
compilation unit than its callers. To fix this, just expose an inline
empty function in the header for the release mode.
Fossil run time differences in TGL laptop (difference at 95.0% confidence):
```
Rise of The Tomb Rider (Native) [n=7]
-0.482857 +/- 0.010932
-1.60608% +/- 0.0363621%
Cyberpunk 2077 (DXVK) [n=7]
-0.987143 +/- 0.0904516
-0.82996% +/- 0.076049%
Batman Arkham City (DXVK) [n=7]
-7.74857 +/- 0.329561
-1.46298% +/- 0.0622231%
```
Reviewed-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/25847 >
2023-10-24 21:10:35 +00:00