C Stout
d6096ce8c8
util: u_thread: add Fuchsia support
...
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29539 >
2024-06-07 18:29:20 +00:00
C Stout
ebe4a8d75f
util: detect_os: add DETECT_OS_FUCHSIA and DETECT_OS_POSIX_LITE
...
Fuchsia is a microkernel-like OS. It strategically implements
some POSIX and Unix APIs to promote software re-use.
It considers itself POSIX lite.
"In order to reduce the amount of source modification needed to
run on Fuchsia, Fuchsia offers a POSIX compatibility layer, POSIX
Lite, that this software can target. POSIX Lite is layered on
top of the underlying Fuchsia System ABI as a client library.
However, POSIX Lite is not a complete implementation of POSIX."
In the case of Fuchsia + src/util, these heavy-weight POSIX
functions shouldn't be used:
- file descriptors
- syslog.h
- signals
- process creation
To differentiate POSIX Lite, which Fuchsia and all heavy-weight
POSIX implementations support, add DETECT_OS_POSIX_LITE.
The use case is incrementally upstreaming functionality used in
downstream drivers (lavapipe, ..). Being in-tree for obvious
patches helps until the full driver can be merged.
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29539 >
2024-06-07 18:29:20 +00:00
Mike Blumenkrantz
9cdbb099ee
gallium: stop dropping drawid_offset param with util_draw_indirect
...
this breaks indirect draws with offsets
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29462 >
2024-06-07 17:47:53 +00:00
Mike Blumenkrantz
27cd4b061c
gallium: add drawid_offset to draw_mesh_tasks interface
...
this matches the other draw interfaces
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29462 >
2024-06-07 17:47:53 +00:00
Alyssa Rosenzweig
761d79ec3e
agx: fix indirect CF accounting
...
if we have a non-compact indirectly indexed array of scalars
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
30c8d55a71
asahi: extract agx_calculate_vbo_clamp
...
honeykrisp will use.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
ad85c043e7
agx: prepare for lower_wpos_center
...
required for correct sample shading in vk
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
55724ec9aa
asahi: implement rba2 for storage texel buffers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
71fbd329fc
asahi: implement rba2 for uniform texel buffers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
e5e3cac409
asahi: move null descriptor routines to common
...
HK will use.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
e08d99063c
asahi: use scalar outputs for rast shaders
...
where applicable, so we can point size lower the result
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
f6439f8c77
asahi: add flag controlling sample mask without MSAA
...
GL vs VK spec difference
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
8998034fa9
agx: switch to combined clip/cull
...
don't swim against the tide.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
24bd46aa10
asahi: pack blend key
...
reduce hashing for fs epilogs, hopefully
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
65e64b6e2d
agx: handle discard with force early tests
...
we need to predicate the store, since we can't do a hardware demote after
running tests. this is similar to what the blob does.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
1dfb461552
asahi: add AGX_TEXTURE_FLAG_CLAMP_TO_0 flag
...
for border colour emulation
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
ff032297de
asahi: support bigger buffer textures
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
b88bcca459
asahi: bounds check eMRT stores
...
this is a hack that fixes faults with eMRT. I do not understand what's going on
here. hopefully we can root cause this at some point :-/
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
152595057c
asahi: force bindless for eMRT
...
the perf difference is neglible and this simplifies the state management.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
e5bc9da499
asahi: add missing lowerings
...
not sure how this worked before.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
a9a6af50a7
agx: rework libagx I/O lowering
...
that would otherwise fight with other driver I/O lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
5f72234745
asahi: split param structs for GS internal kernel
...
this simplifies state management consdierably
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
d3291ad001
agx: fix draw param gather for sw vs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
3c42d55b15
asahi: be robust against out of sync shader info
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
e49e8fcfee
libagx: add libagx_copy_xfb_counters helper
...
for hk
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
70f043d6c1
libagx: drop unused !indexed path
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
5056ead5d2
libagx: fix triangle fan + prim restart + GS/XFB
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
3e3fd6877b
libagx: fix static assert
...
../src/asahi/lib/shaders/geometry.h:193:1: warning: redefinition of typedef 'static_assertion___line__' is a C11 feature [-Wtypedef-redefinition]
../src/asahi/lib/shaders/libagx.h:45:17: note: expanded from macro 'AGX_STATIC_ASSERT'
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
a412bf0127
libagx: rm unused field
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Alyssa Rosenzweig
18658d8d60
asahi/decode: drop Apple-specific decode check
...
Linux doesn't use a BO list.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29607 >
2024-06-07 16:57:03 +00:00
Vignesh Raman
5d9e650ed6
ci/lava: add farm in structured log files
...
Farm variable is added for devices in collabora farm.
So add support in LAVA job submitter to use this in
structured log files.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29583 >
2024-06-07 14:32:49 +00:00
Vignesh Raman
cea3aeefd0
ci: add farm variable for devices in collabora farm
...
Add farm variable for devices in the collabora farm so that
the LAVA job submitter uses this in structured log files.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29583 >
2024-06-07 14:32:49 +00:00
Rhys Perry
5297896856
aco: use ac_get_hw_cache_flags()
...
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/29243 >
2024-06-07 13:22:43 +00:00
Rhys Perry
167b6cac45
ac: stop using radeon_info for ac_get_hw_cache_flags
...
This makes the function easier to use when radeon_info is not available.
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/29243 >
2024-06-07 13:22:43 +00:00
Rhys Perry
00eccf524f
aco: use GFX12 scope/temporal-hint
...
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/29243 >
2024-06-07 13:22:42 +00:00
Rhys Perry
b41f0f6cc1
aco: use ac_hw_cache_flags
...
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/29243 >
2024-06-07 13:22:42 +00:00
Rhys Perry
cdaf269924
aco: inline store_vmem_mubuf/emit_single_mubuf_store
...
Both of these are only used once.
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/29243 >
2024-06-07 13:22:42 +00:00
Rhys Perry
185fa04baa
aco/gfx6: set glc for buffer_store_byte/short
...
For the same reason we set it for image stores. GFX6 has a caching bug
which requires this.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29243 >
2024-06-07 13:22:42 +00:00
Rohan Garg
6f6da58315
intel/compiler: fix shuffle generation on LNL
...
There doesn't seem to be a restriction on the mentioned data types on
LNL anymore. Default to a maximum exec size of SIMD16.
This patch fixes dEQP-VK.subgroups.shuffle.framebuffer.* on LNL
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29504 >
2024-06-07 12:51:30 +00:00
Samuel Pitoiset
d4ccae739b
radv: fix creating unlinked shaders with ESO when nextStage is 0
...
When nextStage is 0, the driver needs to assume that a stage might be
used with any valid next stages.
Fixes new dEQP-VK.shader_object.binding.*_no_next_stage.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29567 >
2024-06-07 12:21:38 +00:00
Mark Collins
cc82f7f8ac
tu: Emit GRAS_LRZ_DEPTH_BUFFER_INFO correctly
...
This register stores the depth format of the underlying depth
buffer, it seemingly doesn't change anything about the LRZ buffer
itself and has no behavioral changes over setting it to 0.
However, it's possible that there's some case where it does matter
so matching the proprietary driver's behavior is safer.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
f57f1f70cf
docs/freedreno: Add documentation on A7XX LRZ
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
a6f08fd69d
fd/a7xx: Document LRZ_FLIP_BUFFER event
...
I found this while reverse engineering A7XX LRZ, it's going to be
relevant when we implement concurrent binning so I've added the
register definition.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
7ad5bacf7a
tu: Enable LRZ fast-clear for A7XX
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
9e936d3fde
tu: Specify LRZ FC depth clear value on A7XX
...
A7XX allows setting the FC depth to an arbitrary F32 value rather
than being limited to 0.0/1.0, we use this to match the depth clear
value.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
15b02f4700
tu: Update LRZ FC dirty clear for A7XX
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
db505ea565
tu: Update LRZ FC allocation for A7XX layout
...
The allocation size is now determined based off the LRFC structure
rather than hardcoding in A6XX's layout.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
bf5e8fb394
tu/lrz: Add structure for LRZ FC layout
...
The layout of the LRZ FC section has changed substantially between
A6XX and A7XX so the best way to express the layout was determined
to be a templated structure.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
c801fd9771
tu: Allow LRZ on A7XX
...
LRZ without FC should work with all the current changes.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00
Mark Collins
e2eda5a9eb
fd/a7xx: Initialize magic register 8008 to 0
...
This can be seen emitted in traces related to FDM on A740, it's set
to zero to ensure there's no side effects from prop writing to it.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453 >
2024-06-07 10:18:10 +00:00