Antonio Ospite
2d2bc5b307
android: simplify building libgallium_dri on Android
...
The versioned libgallium library can be confusing on Android, and it is
probably not even needed there, so simplify the build on Android by
always build the unversioned `libgallium_dri.so` overriding the
`-Dunversion-libgallium=true` option added in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30579
Remove also all the bits that deal with the versioned library which are
not needed anymore.
Fixes: 9568976c52 ("android: fix build in multiple ways")
Acked-by: Rob Clark <robdclark@gmail.com >
Reviewed-by: Mauro Rossi <issor.oruam@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30641 >
2024-08-14 09:11:44 +00:00
Samuel Pitoiset
cf0884d161
radv/meta: create DGC prepare pipeline on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
3a4ce4a5a3
radv/meta: simplify initializing bufimage pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
586d6cb588
radv/meta: create cleari layouts on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
1dfb6e19d5
radv/meta: create itoi layouts on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
bd00446bb0
radv/meta: create btoi layouts on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
f1b8e7fa73
radv/meta: create itob layouts on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
db94ee1e64
radv/meta: create blit2d layouts on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
2352cb2244
radv/meta: remove unused parameter from some blit init functions
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
eabbd077cc
radv/meta: simplify initializing DCC comp-to-single pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
9c591d0c27
radv/meta: rework creating blit pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:53 +00:00
Samuel Pitoiset
978599a052
radv/meta: simplify radv_meta_blit2d_normal_dst()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30640 >
2024-08-14 08:48:52 +00:00
Lucas Stach
c90e2bccf7
etnaviv: properly set PIPE_CAP_GRAPHICS
...
Only advertise graphics capabilities if the GPU isn't compute only.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30606 >
2024-08-14 08:35:36 +00:00
Lucas Stach
8725ec90a3
etnaviv: hwdb: add COMPUTE_ONLY cap
...
Used to tell if the GPU core includes a graphics pipeline.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30606 >
2024-08-14 08:35:36 +00:00
Daniel Schürmann
1d0a12438d
aco/cssa: short-cut some trivial case
...
If a phi-operand is not flagged as kill, it cannot be coalesced
because it interferes with the live-out variable.
Also do the regClass check earlier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
d3e9aef5a2
aco/cssa: update RegisterDemand and validate live variable information
...
instead of recomputing it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
5a39cbdef6
aco: change signature of get_live_changes() and get_temp_registers()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
d494c2a741
aco/cssa: fix kill flags during lowering to CSSA
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
541cfb21ba
aco: don't attempt to spill dead phis
...
These don't affect register pressure.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
e5d920e0b9
aco/scheduler: enable live variables validation when ACO_DEBUG=validate-livevars is set
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
b0c8c5e42e
aco: implement aco::validate_live_vars()
...
This is intended for passes which manually update live variables
and RegisterDemand, like e.g. the scheduler, and can be enabled
with ACO_DEBUG=validate-livevars.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:48 +00:00
Daniel Schürmann
c1a3330ac7
aco/reindex_ssa: free memory of previous live variable sets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30182 >
2024-08-14 08:11:47 +00:00
Samuel Pitoiset
d776f3d3f9
radv: allow VK_EXT_vertex_input_dynamic_state with DGC
...
It should be supported now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29831 >
2024-08-14 07:47:12 +00:00
Samuel Pitoiset
55b497ef19
radv: add support for dynamic vertex input state with DGC
...
DGC preprocessing is disabled for VBOs, so the dynamic vertex input
should always be initialized. Null VBO descriptors are slightly
different when used with dynamic VS inputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29831 >
2024-08-14 07:47:12 +00:00
Samuel Pitoiset
d8861d52a2
radv: add a helper to set shader stage key robustness info
...
For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30643 >
2024-08-14 07:25:03 +00:00
Samuel Pitoiset
7a5b40a2ff
radv: cleanup robustness with vk_pipeline_robustness_state_fill()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30643 >
2024-08-14 07:25:03 +00:00
Samuel Pitoiset
cdf21c5ce5
radv: fix handling view index from device index
...
This feature is marginal but VKCTS recently got coverage and most of
the implementations were broken, including RADV.
Fixes recent tests
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.other.view_index_from_device_index_.*
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30642 >
2024-08-14 06:54:03 +00:00
Faith Ekstrand
65f5364e47
ci: Add NVK to debian-arm64-build-test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30618 >
2024-08-14 03:45:09 +00:00
Faith Ekstrand
aa44a211d3
nak: Pass -C default-linker-libraries when building tests
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11632
Fixes: 4392a5922c ("nak: Add a framework for running hardware tests")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30618 >
2024-08-14 03:45:09 +00:00
Caio Oliveira
e72bf2d02f
intel: Add executor tool
...
Add a tool that programs the hardware the minimum amount to be
able to execute compute shaders and then executes a script that
can perform data manipulation and dispatch execution of the shaders
(written in Xe assembly).
The goal is to have a tool to experiment directly with certain
assembly instructions and the shared units without having to
instrument the drivers.
To make more convenient to write assembly, a few macros (indicated by
the @-symbol) will be processed into the full instruction.
For example, the script
```
local r = execute {
data={ [42] = 0x100 },
src=[[
@mov g1 42
@read g2 g1
@id g3
add(8) g4<1>UD g2<8,8,1>UD g3<8,8,1>UD { align1 @1 1Q };
@write g3 g4
@eot
]]
}
dump(r, 4)
```
produces
```
[0x00000000] 0x00000100 0x00000101 0x00000102 0x00000103
```
There's a help message inside the code that describes the script
environment and the macros for assembly sources.
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062 >
2024-08-14 03:03:46 +00:00
Caio Oliveira
6267585778
intel/brw: Also return the size of the assembled shader
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062 >
2024-08-14 03:03:46 +00:00
Caio Oliveira
f6e7d1dca2
meson: Update Lua dependency version to 5.3
...
Lua is used for unittests in Freedreno. When this was added, 5.3 was too new,
now this version is available in debian stable (and oldstable). A notable
improvement in Lua 5.3 is better handling for integers. Note the wrap provided
in subprojects/ already uses 5.4.
Also move the dependency up so other tools/tests can use it.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Acked-by: Rob Clark <robclark@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062 >
2024-08-14 03:03:46 +00:00
Rob Clark
a5b103e4c1
freedreno/a6xx: Cleanup setup_slices()
...
We don't need to runtime dispatch btwn a6xx and a7xx versions of
setup_lrz().
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649 >
2024-08-14 02:19:55 +00:00
Rob Clark
a127a78548
freedreno: Re-enable LRZ for a7xx
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649 >
2024-08-14 02:19:55 +00:00
Rob Clark
141466eb27
freedreno/a6xx: Fix LRZ
...
LRZ fastclear offset can be greater than 16b.
Fixes: b1937f76ff ("freedreno/a6xx: Allocate lrcfc when needed for direction tracking")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649 >
2024-08-14 02:19:55 +00:00
Rob Clark
4a59c319dc
freedreno/decode: Dump register values on LRZ_CLEAR
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30649 >
2024-08-14 02:19:55 +00:00
Alyssa Rosenzweig
639d69f7e6
pan/mdg: convert to derivative intrinsics
...
strictly I think there's a bug fix here. I don't see the old code handling
swizzles anywhere!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30567 >
2024-08-14 01:34:54 +00:00
Alyssa Rosenzweig
749205fe06
pan/bi: switch to derivative intrinsics
...
rewrote most of the impl but shrug.
regresses code gen for mediump but I'm not too bothered given the lackluster
perf of fp16 on bifrost :(
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30567 >
2024-08-14 01:34:54 +00:00
Paulo Zanoni
20c19351b1
anv: be consistent regarding non-render engines on i915.ko
...
Today, on i915.ko, if Sparse Resources is disabled and the Kernel is
new enough to confirm to us that the GuC version is good, we'll expose
non-render engines, otherwise we don't.
Ever since we merged 5ca224aa0c ("anv/trtt: make all contexts have
the same TR-TT programming"), TR-TT is not anymore the reason why
we're not enabling non-render engines. Our performance team has
analyzed workloads and concluded enabling non-render engines is not
worth it on i915.ko today.
So here we adjust the code to do three things:
- Stop blaming TR-TT
- Unify the default behavior for i915.ko
- Don't disable non-render engines when TR-TT is being used on xe.ko.
v2:
- Comments (José)
Acked-by: Felix DeGrood <felix.j.degrood@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30627 >
2024-08-14 01:09:19 +00:00
Thomas H.P. Andersen
5f366bf822
docs: update for new extensions in nvk
...
Mark as implemented on nvk:
* VK_EXT_descriptor_buffer
* VK_EXT_post_depth_coverage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30628 >
2024-08-13 23:37:16 +00:00
Christian Gmeiner
e05962a4e7
etnaviv: Drop halti from etna_specs
...
Use the one from etna_core_info instead.
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/30394 >
2024-08-13 22:15:22 +00:00
Christian Gmeiner
6e0a28db2e
etnaviv: Extend shader structs with etna_core_info
...
Prep step to drop halti from 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/30394 >
2024-08-13 22:15:22 +00:00
Christian Gmeiner
6d673a3ac7
etnaviv: Switch etna_compiler_create(..) to etna_core_info
...
Prep step to drop halti from 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/30394 >
2024-08-13 22:15:22 +00:00
Christian Gmeiner
ce2fc866ec
etnaviv: Move halti determination to drm
...
The ideal place to store the halti value is in struct etna_core_info.
Let's put it there and the determination of it into etna_gpu_new(..).
This makes it possible to reuse the halti level outside of gallium.
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/30394 >
2024-08-13 22:15:22 +00:00
Michael Cheng
0324d4bcf5
anv: move trace logic to batch_emit_pipe_control_write
...
Move trace logic from cmd_buffer_apply_pipe_flushes down to
genX(batch_emit_pipe_control_write).
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30623 >
2024-08-13 21:42:43 +00:00
José Roberto de Souza
d8597dce63
docs/anv: Remove documentation about INTEL_COMPUTE_CLASS and INTEL_COPY_CLASS
...
Those were renamed in commit fe2982278f and documentation was not
updated and new parameters were just removed, so lets drop it from
documentation.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30593 >
2024-08-13 21:15:31 +00:00
José Roberto de Souza
600d88ab3c
intel: Remove INTEL_ENGINE_CLASS_COMPUTE and INTEL_ENGINE_CLASS_COPY parameters
...
It has been a while that the GuC version with the compute engine fix
was released, same for the KMD uAPI to query the GuC firmware version.
So at this point this parameters do more harm than good.
Also just setting those don't enable the async compute and copy engines
this is not enabled by default on i915.
If user wants to disable or enable usage of those engines a better
approach would be use ANV_QUEUE_OVERRIDE.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30593 >
2024-08-13 21:15:31 +00:00
José Roberto de Souza
61e3a680a4
anv: Extend ANV_QUEUE_OVERRIDE to blit count
...
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30593 >
2024-08-13 21:15:31 +00:00
José Roberto de Souza
2e4179b4a7
docs/anv: Document ANV_SPARSE and ANV_SPARSE_USE_TRTT
...
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30593 >
2024-08-13 21:15:31 +00:00
José Roberto de Souza
92f4008473
anv: Disable sparse even on Xe KMD with ANV_SPARSE
...
ANV_SPARSE had no effect on Xe KMD.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30593 >
2024-08-13 21:15:31 +00:00