Timur Kristóf
a083a25a80
nir/opt_varyings: Fix explicit and per-vertex FS inputs.
...
Fixes: 772149b15a
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
586acb47c8
nir/opt_varyings: Support per-primitive I/O.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
21ff2907c7
nir/opt_varyings: Allow optimizing primitive ID for MS -> FS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
8792098772
nir/lower_io_to_scalar: Support per-primitive outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
38bd578029
nir/lower_io_to_scalar: Support explicit (and per-vertex) FS inputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
433fe2022c
nir/gather_info: Clear per-primitive I/O masks at the beginning.
...
Fixes: b085248819
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
28c0f6f369
nir/recompute_io_bases: Fix per-primitive inputs.
...
This was a mistake, the decision shouldn't be based on shader info.
Fixes: 8a24610477
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Timur Kristóf
723b3d354e
nir/print: Print per-primitive and explicit strict IO info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28685 >
2024-04-14 19:51:11 +00:00
Konstantin Seurer
566174785c
lavapipe: Explicitely support ycbcr formats
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28697 >
2024-04-14 17:32:56 +00:00
Konstantin Seurer
8f5fb4e095
lavapipe: Handle multiple planes in GetDescriptorEXT
...
Fixes: a13a07d
("lavapipe: add descriptor sets bindings for planar images")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28697 >
2024-04-14 17:32:56 +00:00
Konstantin Seurer
c48d6097cd
lavapipe: Do nort use NIR_PASS during lowering
...
NIR_DEBUG=clone,serialize replaces the whole shader which invalidates
the build state.
Fixes: d99e95e
("lavapipe: Implement VK_KHR_ray_tracing_pipeline")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Konstantin Seurer
4335d006a7
lavapipe: Implement ray_tracing_maintenance1 queries
...
Fixes: 1f729d9
("lavapipe: Implement KHR_ray_tracing_maintenance1")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Konstantin Seurer
a26f96ed3d
lavapipe: Handle accel struct queries in handle_copy_query_pool_results
...
Fixes: 897ccbd
("lavapipe: Implement VK_KHR_acceleration_structure")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28716 >
2024-04-14 16:58:52 +00:00
Pavel Ondračka
6cc780173a
r300/ci: failures list update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28726 >
2024-04-13 17:22:56 +00:00
Marek Olšák
fe35a8b00e
nir: change "user_data_amd" sysval from 4 to 8 components
...
so that we can pass more fast constants to compute shaders (without
reading memory in the shader).
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
c1f750eed9
nir: add nir_intrinsic_optimization_barrier_sgpr_amd
...
for radeonsi
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
6426f6de6a
nir: allow FP16 in nir_format_linear_to_srgb
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
Marek Olšák
281e08714e
nir: add more build helpers
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28606 >
2024-04-13 16:45:08 +00:00
M Henning
b681677f7d
nak: Rewrite union_find and use it in repair_ssa
...
The new UnionFind is safe code, is generic over the element type, and
uses constant stack space.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27454 >
2024-04-13 15:55:44 +00:00
M Henning
b5f4c54d0d
nak: Remove old union_find implementation
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27454 >
2024-04-13 15:55:44 +00:00
David Heidelberg
7101ed7f88
ci: temporarily disable Android test builds
...
We need to figure out:
a) how to download the images
b) where to host them (1G+)
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
b9c80ee59e
etnaviv: drm: Remove fallback value for ETNA_GPU_NUM_CONSTANTS
...
The kernel commit a8c21a5451d8 ("drm/etnaviv: add initial etnaviv DRM driver") has this
fallback logic already.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
57a662fc4c
etnaviv: Copy values from etna_core_info
...
There is no need to query them again.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
e60e045b89
etnaviv: drm: Fill limits
...
Note: etna_gpu_get_param(..) will only fail if a wrong enum etna_param_id
param value is passed.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
def32f8668
etnaviv: hwdb: Fill limits
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
b68e868d31
etnaviv: common: Add some limit values
...
These are loosely based on struct etna_specs.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
ef19966e38
etnaviv: common: Add enum etna_core_type
...
We support the following two core types: GPU and NPU.
Both are using the 3d pipe to submit work so the only way to
differentiate is the nn core count.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
aaccc25a4d
etnaviv: drm: Make use of hwdb
...
If the kernel provides correct ID values query the hwdb.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
2192e620bb
etnaviv: hwdb: Add etna_query_feature_db(..)
...
This function is used to
- find a database entry
- fill our etna_device_info struct
If no database entry is found we just return false.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
394652e5a0
etnaviv: hwdb: Generate hwdb.h
...
This python script does the following work:
- For all gc_feature_database.h files
- Translate the C Struct to Python
- Store database entries
- Create a merged struct
- Transform all entires to the merged struct
- Write a header that contains the merged struct and all entries
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
a07d1864db
ci: Install python3-pycparser in build container
...
pycparse will be used for etnaviv to parse C header files and generate a new one.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
d9e490c2f4
etnaviv: hwdb: Import gc_feature_database from ST
...
This commit imports the gc_feature_database.h file from
https://github.com/STMicroelectronics/gcnano-binaries/blob/gcnano-6.4.13-binaries/gcnano-driver-stm32mp/hal/kernel/inc/gc_feature_database.h
git commit: 5d02efd5cb4cfa85307633891f3cf87550a8bc1d
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
5c5dc646ed
etnaviv: hwdb: Import gc_feature_database from Amlogic
...
This commit imports the gc_feature_database.h from
https://github.com/khadas/android_vendor_amlogic_common_npu/blob/khadas-vim4-r-64bit/hal/kernel/inc/gc_feature_database.h
git commit: 9d81096a001af8a099ca767855d548983d037dd8
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
775eff3046
etnaviv: hwdb: Import gc_feature_database from NXP
...
This commit imports the gc_feature_database.h file from
https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h
git commit: ccf0a99701a701fb48a04e31ffe3f9d585a8374a
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
e1c6748cf4
etnaviv: drm: Query some id values in etna_gpu_new(..)
...
We want to fully initialise etna_device_info. We only query the kernel
for these values if the drm driver is recent enough.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
d600b45ccc
etnaviv: Switch to etna_core APIs
...
This removes the in-driver feature handling and switches to the one from
common.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
358e1f10c5
etnaviv: drm: Initialize etna_core_info based on kernel features
...
Query all the gpu features in etna_gpu_new(..) and update the feature
bitset in etna_core_info accordingly.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
8639367f55
etnaviv: common: Add feature bitset
...
Extend struct etna_core_info with a feature bitset and some helper
functions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
df198d21f9
etnaviv: Introduce etna_feature enum
...
This etna_feature enum will be used as abstraction layer. We will add
support for a hardware database - borrowed from the binary blob.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
9eede9ba0b
etnaviv: Move hw header to common place
...
I am planning to make use of these headers outside of the gallium
driver.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
f4c90d4316
etnaviv: Switch to etna_core_info
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
d3f8e3ee42
etnaviv: drm: Add etna_gpu_get_core_info(..)
...
Makes it possible to access etna_core_info.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
ad4b6cce30
etnaviv: drm: Make use of etna_core_info
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Christian Gmeiner
3b150bcba8
etnaviv: Introduce common etna_core_info
...
This struct will be used in different places outside of the gallium
driver.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28574 >
2024-04-13 12:43:52 +00:00
Timothy Arceri
1984712a8e
glsl: inline _mesa_copy_linked_program_data()
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Timothy Arceri
4655381e3b
glsl: remove UsesEndPrimitive field
...
Here we store the value directly in shader info rather than passing
it around.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Timothy Arceri
1139a703c1
glsl: remove ActiveStreamMask field
...
There is no need to pass this value around just store it directly
in the shader info.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Timothy Arceri
1e13e9be45
glsl: remove FragDepthLayout field
...
Nothing uses it. I *looks* like _mesa_copy_linked_program_data()
copies it somewhere useful however that function is called before
the value are even initialised.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28709 >
2024-04-13 11:36:08 +00:00
Pavel Ondračka
9dc6ea2fad
r300: remove nir_to_rc_options wrapper
...
Just call nir_to_rc directly since we don't have any options anymore.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00
Pavel Ondračka
b1c98ffd9e
r300: move lower_fabb option out of the options struct
...
It is the last one, we don't need an extra struct for it...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28663 >
2024-04-13 09:49:38 +00:00