Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
376 commits
Select commit Hold shift + click to select a range
1593151
asahi: fold dead branches before coalescing sample coverage
DjDeveloperr Oct 18, 2026
d2c9df6
asahi: apply API sample mask before M5 pixel early tests
DjDeveloperr Oct 18, 2026
a7682be
hk: widen 16-bit per-primitive mesh varyings before linkage
DjDeveloperr Oct 18, 2026
dcc42a6
hk: apply requested texel-fetch bounds to M5
DjDeveloperr Oct 18, 2026
9b3e5de
hk: native write-class metadata for M5 submissions
DjDeveloperr Oct 19, 2026
bedd753
agx: keep loop texture fetches in flight on M5 geometry stages
DjDeveloperr Oct 19, 2026
bff7b96
hk: page-align implicit planes of sparse multi-planar images
DjDeveloperr Oct 19, 2026
284f4ee
hk/agx: lower M5 ray queries beyond the native slot count and dynamic…
DjDeveloperr Oct 19, 2026
7b2d44d
hk: keep the texture half of M5 storage descriptors without a native PBE
DjDeveloperr Oct 19, 2026
00405c7
agx: skip M5 robust texel-fetch size checks for zero coordinates
DjDeveloperr Oct 19, 2026
d44dae1
nir/opt_if: add nir_opt_if_merge
DjDeveloperr Oct 19, 2026
1eac26d
agx: issue M5 loop samples ahead of side-effect-free conditional blocks
DjDeveloperr Oct 19, 2026
b778015
nir/opt_reassociate: optionally rank loop-invariant sources first
DjDeveloperr Oct 19, 2026
90add91
agx: sum M5 loop-invariant accumulation terms once
DjDeveloperr Oct 19, 2026
efed967
agx: fuse M5 doubled adds into shifted adds
DjDeveloperr Oct 19, 2026
5f3f6ef
hk: chain a global priority for the internal host acceleration-struct…
DjDeveloperr Oct 19, 2026
2a4de39
hk: add an opt-in M5 frame anatomy profiler
DjDeveloperr Oct 19, 2026
da94f20
hk: continue M5 render pass instances on the same attachments
DjDeveloperr Oct 19, 2026
878cd4c
hk: republish M5 multi-draw vertex programs from the previous record
DjDeveloperr Oct 19, 2026
7001e5a
hk: continue M5 render passes across ordered dependencies
DjDeveloperr Oct 19, 2026
38dc867
hk: fold the M5 depth/stencil test selector under static state
DjDeveloperr Oct 19, 2026
1c20fa0
hk: store and elide depth/stencil precisely on every AGX3 part
DjDeveloperr Oct 19, 2026
a9bd055
hk: continue render passes and fold the test selector on every AGX3 part
DjDeveloperr Oct 19, 2026
d0aae8d
hk: load the M5 query traversal assets only for devices that use them
DjDeveloperr Oct 19, 2026
0a7daea
agx: name the refused instruction when an AGX3 pack fails
DjDeveloperr Oct 19, 2026
b1788ca
agx: carry M5 perspective-multiply waits on slots 7 and 8
DjDeveloperr Oct 19, 2026
1354304
agx: keep M5 cube samples with uniform descriptors off slot 8
DjDeveloperr Oct 19, 2026
0bd6c21
agx: do not fold saturate into M5 reciprocals
DjDeveloperr Oct 19, 2026
b07b134
hk: keep the M5 fragment program across roots it does not read
DjDeveloperr Oct 19, 2026
7c1dd1c
agx: lower M5 task payload atomics to global atomics
DjDeveloperr Oct 19, 2026
34c2a3b
hk: read the M5 draw and dispatch diagnostic controls once
DjDeveloperr Oct 19, 2026
7d1a37d
agx: keep M5 f32 adds to one half operand
DjDeveloperr Oct 19, 2026
96ed774
agx: relax only non-binding bank limits when no region can be evicted
DjDeveloperr Oct 19, 2026
348c645
agx: keep M5 funnel extract sources word-sized
DjDeveloperr Oct 19, 2026
8e79f76
hk: share compressed colour images between M5 processes
DjDeveloperr Oct 19, 2026
8e01798
agx: encode M5 gradients over the whole register file
DjDeveloperr Oct 19, 2026
8877171
agx: let M5 itrcoords wait on scoreboard slots 6 and 7
DjDeveloperr Oct 19, 2026
c46b868
hk: allocate occlusion counters on first use
DjDeveloperr Oct 20, 2026
4e3d9db
asahi: Preserve packed uniform pointers in M5 device loads
DjDeveloperr Oct 20, 2026
e02d0e5
hk: make M5 empty queries and capture replay scale correctly
DjDeveloperr Oct 20, 2026
bea0ee2
hk: preserve loaded M5 color attachments after compute clears
DjDeveloperr Oct 20, 2026
fffe25e
asahi: preserve M5 vertex position arithmetic across pass variants
DjDeveloperr Oct 20, 2026
3f1e136
hk: compare M5 fragment roots from cached CPU snapshots
DjDeveloperr Oct 20, 2026
062cee8
hk: merge compatible uncompressed MSAA passes on G17S
DjDeveloperr Oct 20, 2026
20e8c1d
hk: enable compressed multisample D32 storage on G17S
DjDeveloperr Oct 20, 2026
aa2d33a
asahi: enable compressed MSAA color storage and preamble retries
DjDeveloperr Oct 20, 2026
262b6af
hk: prune unused fragment colors from depth-only M5 pipelines
DjDeveloperr Oct 21, 2026
062cd93
asahi: widen non-array M5 multisample operand banking
DjDeveloperr Oct 21, 2026
1df09c5
asahi: keep pending work across non-emitting control-flow markers
DjDeveloperr Oct 21, 2026
a965206
hk: preserve split-submit completion without engine-wide waits
DjDeveloperr Oct 21, 2026
8b0daef
asahi: keep masked sample padding out of completion dependencies
DjDeveloperr Oct 21, 2026
41e940d
asahi: avoid rescanning advised buffer-cache entries
DjDeveloperr Oct 21, 2026
f3f1b4b
asahi: publish M5 3D texture coordinates independently
DjDeveloperr Oct 21, 2026
dae0194
asahi: allow full-range M5 scalar texture sources
DjDeveloperr Oct 21, 2026
a71f683
asahi: fold exact constant texture LOD parameters on M5
DjDeveloperr Oct 21, 2026
0a4d93f
asahi: remove redundant physical register copies on M5
DjDeveloperr Oct 21, 2026
e88a812
hk: index tile preservation footprints during submission
DjDeveloperr Oct 21, 2026
2daf8b1
hk: name fragment programs and image compression in the frame anatomy
DjDeveloperr Oct 21, 2026
3e49890
hk: compress M5 half-float storage images that are also attachments
DjDeveloperr Oct 21, 2026
18b134b
hk: name compute programs in the frame anatomy
DjDeveloperr Oct 21, 2026
2bf0964
hk: compress the M5 single-sample stencil plane
DjDeveloperr Oct 21, 2026
47512ad
hk: name internal kernels and clear handling in the frame anatomy
DjDeveloperr Oct 21, 2026
17c088f
hk: compress M5 R32F and RG32F storage images
DjDeveloperr Oct 21, 2026
d7e8faf
hk: let image barriers order only image-reading vertex work
DjDeveloperr Oct 21, 2026
f2a3ada
asahi: fast clear M5 compression tiles of their own height
DjDeveloperr Oct 21, 2026
1a2d12e
hk: compress M5 RGBA32F storage images
DjDeveloperr Oct 21, 2026
ac79809
hk: name barriers, timestamps and image clears in the frame anatomy
DjDeveloperr Oct 21, 2026
7d31761
hk: compress M5 RGBA8 storage images, including mutable ones
DjDeveloperr Oct 21, 2026
3b63836
hk: record barrier access masks in the frame anatomy
DjDeveloperr Oct 21, 2026
7701440
hk: continue compressed multisample render passes on M5
DjDeveloperr Oct 21, 2026
d57f048
hk: note mutable image views in the frame anatomy
DjDeveloperr Oct 22, 2026
eb8a567
asahi: keep M5 compressed multisample attachments in the tilebuffer
DjDeveloperr Oct 22, 2026
b337b61
hk: compress RGBA8 and BGRA8 multisample attachments on M5
DjDeveloperr Oct 22, 2026
7c4bacf
hk: drop untouched colour attachments from M5 tile programs
DjDeveloperr Oct 22, 2026
f6835fb
agx: restore trivial phi elimination after spilling
DjDeveloperr Oct 22, 2026
96ae25e
agx: use phi edge affinity on every AGX3 encoding
DjDeveloperr Oct 22, 2026
6f3da56
hk: compress list-less mutable images of Counter-Strike 2
DjDeveloperr Oct 22, 2026
580f4cf
hk: count barrier kinds in the frame anatomy
DjDeveloperr Oct 22, 2026
5b9041c
agx: keep phi inputs in place within a block
DjDeveloperr Oct 22, 2026
81c5053
agx: reuse M5 copies of a modified comparand within a block
DjDeveloperr Oct 22, 2026
0342b87
hk: list vertex programs in the frame anatomy
DjDeveloperr Oct 22, 2026
36edfb7
hk: continue M5 passes across barriers that cannot reach their attach…
DjDeveloperr Oct 22, 2026
2d9b95e
hk: order M5 tiling only after renders that wrote memory
DjDeveloperr Oct 22, 2026
adc56e0
hk: give M5 render tiling its own compute prefix
DjDeveloperr Oct 22, 2026
c3586f6
hk: record dispatch sizes in the frame anatomy
DjDeveloperr Oct 22, 2026
b881d5e
hk: note unsignalled submission waits in the frame anatomy
DjDeveloperr Oct 22, 2026
82df548
hk: compress the stencil plane of M5 multisample D32_S8 images
DjDeveloperr Oct 22, 2026
d728844
agx: keep values live through an M5 loop out of its header's registers
DjDeveloperr Oct 22, 2026
73f2481
agx: copy one uniform of an M5 float operation on uniforms alone
DjDeveloperr Oct 22, 2026
ceeb76f
agx: merge repeated M5 uniform copies within the pressure peak
DjDeveloperr Oct 22, 2026
b787e3e
agx: keep the M5 low bank free for its operands once a shader spills
DjDeveloperr Oct 22, 2026
2aa3359
hk: emit only the changed records of the M5 graphics core
DjDeveloperr Oct 22, 2026
68a00ea
hk: count render-state publications in the frame anatomy
DjDeveloperr Oct 22, 2026
55e195f
hk: compress M5 storage images of typeless integer and normalized for…
DjDeveloperr Oct 22, 2026
d3a6b55
hk: skip the tile load a full-screen first draw overwrites on M5
DjDeveloperr Oct 22, 2026
ba353b2
hk: note the view formats of large images in the frame anatomy
DjDeveloperr Oct 22, 2026
0056160
hk: read M5 robust storage buffers the way constant buffers are read
DjDeveloperr Oct 22, 2026
6643967
hk: compress M5 R16 and mipmapped storage images
DjDeveloperr Oct 22, 2026
f9a3925
agx: flush min/max denormals only in flush-to-zero shaders
DjDeveloperr Oct 22, 2026
d07c989
agx: divide shared-memory byte offsets exactly into element indices
DjDeveloperr Oct 22, 2026
6105aab
agx: stage M5 texel-fetch coordinates from scalar sources
DjDeveloperr Oct 22, 2026
eef8df1
hk: count M5 fragment pass types and render areas in the frame anatomy
DjDeveloperr Oct 22, 2026
1513e75
agx: stage M5 2D sample coordinates from scalar sources
DjDeveloperr Oct 22, 2026
b4db7c7
agx: publish M5 3D sample coordinates from their own registers
DjDeveloperr Oct 22, 2026
c43d7ae
agx: stage M5 2D-array texel-fetch coordinates from scalar sources
DjDeveloperr Oct 22, 2026
ec6b530
agx: export M5 64-bit constant-program results one word at a time
DjDeveloperr Oct 22, 2026
bbf5bf5
agx: leave the padding half of an M5 lone half export undefined
DjDeveloperr Oct 22, 2026
f3a6bd4
agx: check M5 constant-program buffer reads in words
DjDeveloperr Oct 22, 2026
463ef6c
hk: skip empty tiles of M5 passes whose load-op clear is drawn
DjDeveloperr Oct 22, 2026
d4e77cb
hk: keep M5 compute work out of later render waits
DjDeveloperr Oct 23, 2026
d492ea4
hk: keep M5 multisample clear-only passes as renders
DjDeveloperr Oct 23, 2026
83c6a1f
agx: share the end of M5 robust reads at constant distances
DjDeveloperr Oct 23, 2026
f14efcd
hk: merge consecutive M5 buffer word reads into vector loads
DjDeveloperr Oct 23, 2026
bd4290a
hk: compress M5 storage images that are also input attachments
DjDeveloperr Oct 23, 2026
52e3562
agx: run nir_opt_uniform_atomics on AGX3 where SR 34/36 are admitted
jgoyvaerts Oct 24, 2026
141481c
asahi: build with -Dwerror=true again
jgoyvaerts Oct 25, 2026
9aeb4ff
hk: copy pNext straight out of the G17P compression chain walk
jgoyvaerts Oct 25, 2026
b01a0ef
agx: compare image-store binaries within one chip
jgoyvaerts Oct 25, 2026
075cba6
agx: compare only the image store across chips in the data-type test
DjDeveloperr Oct 25, 2026
4676f31
Merge pull request #74 from aurora-silicon/fix/agx-image-store-test-g16g
DjDeveloperr Oct 25, 2026
c7d849e
agx: let RA evict bank-constrained values instead of returning ~0
jgoyvaerts Oct 25, 2026
586def0
asahi: unbind a freed BO's VA under virtio before recycling it
jgoyvaerts Oct 25, 2026
6976b83
Merge aurora-wip into pr/agx3-uniform-atomics
RyanTheTide Oct 25, 2026
b35249b
Merge pull request #70 from jgoyvaerts/pr/agx3-uniform-atomics
RyanTheTide Oct 25, 2026
001e561
Merge pull request #75 from jgoyvaerts/pr/agx-ra-evict-bank
RyanTheTide Oct 25, 2026
28f65a6
Merge pull request #76 from jgoyvaerts/pr/asahi-virtio-unbind-va
RyanTheTide Oct 25, 2026
a29a074
hk: copy G17P compute push data and descriptors by uniform DMA
DjDeveloperr Oct 24, 2026
8fc7dc7
hk: give uniform-colour inline-blend programs their own constant program
DjDeveloperr Oct 24, 2026
5968fc3
hk: publish cumulative queue signals in the submit ioctl
DjDeveloperr Oct 24, 2026
7b72437
hk: clean only written extents of unlinked command streams
DjDeveloperr Oct 24, 2026
0b03b01
hk: avoid redundant compute timestamp prefixes on native G17P
DjDeveloperr Oct 24, 2026
434886f
asahi/clc: build G17P acceleration-structure relocation kernels
DjDeveloperr Oct 24, 2026
5fbf9b7
vulkan/asahi: fix inactive TLAS leaves and empty AS identity
DjDeveloperr Oct 24, 2026
4390172
hk: use uniform DMA for internal compute pipelines
DjDeveloperr Oct 24, 2026
08a8a66
hk: use linear PBE writes for large G17P buffer fills
DjDeveloperr Oct 24, 2026
d4490a3
hk: refit G17P native acceleration structures without replanning
DjDeveloperr Oct 23, 2026
6074917
vulkan/runtime: skip scene-bound atomics in update leaf generation
DjDeveloperr Oct 25, 2026
b25b172
hk: encode four G17P native nodes per workgroup
DjDeveloperr Oct 23, 2026
e07644e
hk: let renders carry occlusion availability on native AGX3
DjDeveloperr Oct 25, 2026
360a1c9
hk: emit leftover occlusion availability once per command buffer
DjDeveloperr Oct 25, 2026
89bb9b9
hk: report why an internal passthrough GS failed to build
DjDeveloperr Oct 25, 2026
933e1ac
Merge branch 'agx3c' into aurora-wip
RyanTheTide Oct 25, 2026
b7f2e61
Merge branch 'main' into aurora-wip
RyanTheTide Oct 25, 2026
cb86169
Merge branch 'agx3b' into aurora-wip
RyanTheTide Oct 25, 2026
c0bafa6
Merge branch 'agx3b-rebase' into aurora-wip
RyanTheTide Oct 25, 2026
7e075d0
asahi: reconcile draw and register-bank interfaces across integration…
RyanTheTide Oct 25, 2026
7b3a9ab
vulkan: check formatted acceleration-structure marker allocation
RyanTheTide Oct 25, 2026
094f62d
asahi: retain the incoming G16G formatted-store path during consolida…
RyanTheTide Oct 25, 2026
39f1a9b
asahi: sync the optional capacity UAPI tail and retain legacy replies
RyanTheTide Oct 25, 2026
2cc9934
genxml: pass the restart index in the empty M5 draw test
RyanTheTide Oct 25, 2026
acb2189
Merge pull request #77 from aurora-silicon/wip/m4pro-mesa-build-base-…
RyanTheTide Oct 25, 2026
ada2f90
asahi: check the intrinsic kind before reading mesh test IO semantics
RyanTheTide Oct 25, 2026
0aa4943
asahi: construct malformed uniform test indices explicitly
RyanTheTide Oct 25, 2026
685c2f4
asahi: size staged ALU overrides for the complete M5 FMA form
RyanTheTide Oct 25, 2026
ae5f191
asahi: preserve the newer WIP shared G16G store selector
RyanTheTide Oct 25, 2026
7b3ee81
Merge current aurora-wip allocation fix into the consolidation
RyanTheTide Oct 25, 2026
6db6138
asahi: read BFEIL operand fields directly at packing
RyanTheTide Oct 25, 2026
fc28bfd
asahi: restore pass-merge diagnostics and query-test dependencies
RyanTheTide Oct 25, 2026
086fcef
asahi: classify SCS reads and materialize M5 mask constants
RyanTheTide Oct 25, 2026
ad1d717
asahi: model resource capabilities in shader regression fixtures
RyanTheTide Oct 25, 2026
30c14dc
asahi: give the second triangle of a G17P record edge ownership
DjDeveloperr Oct 25, 2026
e1e3c6d
hk: pair triangles that share an edge in G17P leaf records
DjDeveloperr Oct 25, 2026
309c3fe
drm-uapi: asahi: cumulative signals are feature bit 29
DjDeveloperr Oct 25, 2026
79ea546
asahi: fix Werror diagnostics in consolidated compiler and tests
RyanTheTide Oct 26, 2026
17f59cd
vulkan: handle failures when signalling dropped submissions
RyanTheTide Oct 26, 2026
da770a4
asahi: repair remaining Vulkan and SCS Werror diagnostics
RyanTheTide Oct 26, 2026
c611ffd
hk: refit G17P acceleration structures from their retained encoding jobs
DjDeveloperr Oct 26, 2026
4e871f0
hk: store G17P node records a line at a time
DjDeveloperr Oct 26, 2026
f2c9dc3
Merge pull request #62 from aurora-silicon/perf/g17-finalized-submit-…
DjDeveloperr Oct 26, 2026
78e871a
Merge aurora-wip f2c9dc3f (#62 perf/g17-finalized-submit) into the co…
RyanTheTide Oct 26, 2026
c9ef005
hk: propagate G17P refits in their own dispatch
DjDeveloperr Oct 26, 2026
d742bb7
asahi: replay layer-copy driver logs on setup failure
RyanTheTide Oct 26, 2026
f289ea2
hk: encode G17P nodes without shared memory
DjDeveloperr Oct 26, 2026
f1ef241
hk: leave M4 Pro conformance version unclaimed
RyanTheTide Oct 25, 2026
bdff32b
asahi: create HIGH-priority contexts as HIGH
jgoyvaerts Oct 20, 2026
c5930dc
poly: preserve mixed types in packed GS outputs
erykwieliczko Oct 25, 2026
d9cda84
agx: keep select-guard immediates within eight bits
erykwieliczko Oct 25, 2026
780024f
asahi/drm-shim: model M1 Pro, M2 and M4 Pro compile targets
RyanTheTide Oct 26, 2026
838493b
asahi: brace packed-output and select-boundary regression checks
RyanTheTide Oct 26, 2026
409edac
asahi/drm-shim: cover G16S ray-tracing and independent queues
RyanTheTide Oct 26, 2026
33f2bf1
hk: port bounded HAL200 compression shapes to the M4 Pro
RyanTheTide Oct 26, 2026
1b7f959
hk/tests: declare NIR headers for the per-level ZLS test
RyanTheTide Oct 26, 2026
52a0fa7
hk/tests: retain the consolidated descriptor and M5 sharing contracts
RyanTheTide Oct 26, 2026
ee1ef4c
hk/tests: exercise the G16S MSAA colour spill boundary for every format
RyanTheTide Oct 26, 2026
bdbc568
hk: separate T6040 native AS construction from ray traversal
RyanTheTide Oct 26, 2026
51bc273
asahi/drm-shim: exercise native AS without a ray traversal contract
RyanTheTide Oct 26, 2026
d3da729
hk/tests: cover independent AS and traversal kernel capabilities
RyanTheTide Oct 26, 2026
c7b47d6
hk: encode G17P refit inner jobs a level at a time
DjDeveloperr Oct 26, 2026
58739ac
hk: place G17P triangle updates where refit encoding reads them
DjDeveloperr Oct 26, 2026
85a781c
hk: retain the existing G16S depth/stencil compression contract
RyanTheTide Oct 27, 2026
c29122c
hk: admit AABB and instance builds independently of traversal state
RyanTheTide Oct 27, 2026
d00d104
Merge pull request #79 from aurora-silicon/perf/rt-refit-20261026
DjDeveloperr Oct 27, 2026
b3e43a9
Merge aurora-silicon/mesa aurora-wip into integration/aurora
DjDeveloperr Oct 27, 2026
74e76eb
vulkan/bvh: acquire the sibling subtree before H-PLOC merges it
DjDeveloperr Oct 26, 2026
f01b927
Merge pull request #81 from aurora-silicon/fix/hploc-acquire-20261027
DjDeveloperr Oct 27, 2026
5d170fe
Merge aurora-silicon/mesa aurora-wip (#81, H-PLOC acquire) into integ…
DjDeveloperr Oct 27, 2026
c089bff
hk: move deferred occlusion availability into hk_query_oq.c
DjDeveloperr Oct 27, 2026
b451662
hk/tests: test the deferred occlusion-availability resolver
DjDeveloperr Oct 27, 2026
eebf55e
Merge pull request #82 from aurora-silicon/test/hk-query-oq-20261027
DjDeveloperr Oct 27, 2026
212cc83
Merge aurora-silicon/mesa aurora-wip (#82, deferred occlusion-availab…
DjDeveloperr Oct 27, 2026
51e2f6c
hk: resolve deferred occlusion availability from the end on G17P
DjDeveloperr Oct 27, 2026
aa733fc
agx: skip RTE FMA tininess repair for nonzero native results
RyanTheTide Oct 27, 2026
f3639d3
Merge pull request #83 from aurora-silicon/fix/hk-oq-resolve-from-end…
DjDeveloperr Oct 27, 2026
60b8b3a
Merge aurora-silicon/mesa aurora-wip (#83, occlusion availability fro…
DjDeveloperr Oct 27, 2026
2c4da61
zink: restrict direct poll readback to a single query start
RyanTheTide Oct 27, 2026
61e4282
zink: test aggregation after a split query
RyanTheTide Oct 27, 2026
b719b4a
Merge pull request #84 from aurora-silicon/fix/zink-split-query-readb…
RyanTheTide Oct 27, 2026
e799352
hk: skip the kernel queue-limits query under virtio
jgoyvaerts Oct 27, 2026
2a5fd4a
Merge pull request #86 from jgoyvaerts/pr/hk-virtio-queue-limits
RyanTheTide Oct 27, 2026
7ee24c1
Merge aurora-wip into the J616s daily Mesa (aa733fca)
RyanTheTide Oct 28, 2026
25885c4
asahi: use current refit ABI with GEN1 layout
Oct 27, 2026
7a2a588
asahi: align GEN1 plan and envelope with retained-job ABI
Oct 27, 2026
bb0b995
asahi: remove obsolete GEN1 retained-plan restore path
Oct 27, 2026
e351e57
asahi: reconcile query stamp and M5 refit build ABI
Oct 27, 2026
e0c8c74
hk/tests: match deferred-clear trace helper signature
Oct 27, 2026
d2567e6
asahi: keep qualified M5 AS programs separate from GEN1 tip refit
Oct 27, 2026
acad37c
asahi: build GEN1 AS encoders from the G17P refit sources
RyanTheTide Oct 28, 2026
9460d93
hk: specialize single-slice graphics buffer uploads on G16S
RyanTheTide Oct 27, 2026
4d9c3e1
hk: profile the owned inline fragment layout on G16S
RyanTheTide Oct 27, 2026
02f193c
hk: avoid full-write tile retirement queries on G16S
RyanTheTide Oct 27, 2026
ac46dbe
hk: publish single-buffer G16S footprints without a temporary list
RyanTheTide Oct 27, 2026
abbd004
hk: avoid clearing native graphics caches on AGX2 resets
RyanTheTide Oct 24, 2026
0f74517
hk: leave the native background cache untouched on AGX2 resets
RyanTheTide Oct 24, 2026
23e8a4a
hk: submit G13X control streams in separate ioctls
RyanTheTide Oct 24, 2026
c37d755
hk: keep small G16S submission payloads on the stack
RyanTheTide Oct 27, 2026
b39f053
hk: join deferred occlusion stores into the movable stream on G17P
RyanTheTide Oct 28, 2026
473e325
Merge pull request #87 from aurora-silicon/consolidate/aurora-wip-202…
RyanTheTide Oct 28, 2026
6f51abf
agx: lower G17P sin/cos after the explicit-RTE FMA repair
RyanTheTide Oct 28, 2026
7c3c33a
hk: align the G17P BG/EOT cache key to 8 bytes
RyanTheTide Oct 28, 2026
f172a65
agx: keep preprocess sin/cos lowering when no RTE repair applies
RyanTheTide Oct 28, 2026
5032aa1
Merge pull request #88 from aurora-silicon/fix/hk-bg-eot-key-i386-align
RyanTheTide Oct 28, 2026
4243194
Merge pull request #89 from aurora-silicon/wip/m4pro-rte-sincos-late
RyanTheTide Oct 28, 2026
d164a6c
hk: encode GEN1 TLAS nodes and triangle refits with geometry-specific…
DjDeveloperr Oct 28, 2026
170fb77
hk: run the GEN1 refit level and propagation phases as their own prog…
DjDeveloperr Oct 28, 2026
a6a998e
hk: read the IR internal node count once per GEN1 plan invocation
DjDeveloperr Oct 28, 2026
d699a8b
hk: clear GEN1 TLAS instance pointers with a thread per instance
DjDeveloperr Oct 28, 2026
11005a3
Merge pull request #90 from aurora-silicon/perf/g17p-as-encoders-2026…
DjDeveloperr Oct 28, 2026
17f835e
Merge aurora-silicon/mesa aurora-wip (#84-#90) into integration/aurora
DjDeveloperr Oct 28, 2026
a7a0a9e
Merge omacom integration/aurora into sync/aurora-wip-20261027
DjDeveloperr Oct 28, 2026
b929e8d
ci: check the asahi UAPI against omacom/linux-aurora#229
DjDeveloperr Oct 28, 2026
87ba417
hk: keep the pass-merge diagnostics' device and slot
DjDeveloperr Oct 28, 2026
6fdc9de
asahi: point the GS query counter at the scratch page
DjDeveloperr Oct 28, 2026
2f8f892
vulkan: record queue loss before signalling a failed submission
DjDeveloperr Oct 28, 2026
14d5e38
hk: release the M5 sparse reservation when buffer creation fails
DjDeveloperr Oct 28, 2026
ebc78bf
ci: check the asahi UAPI against omacom/linux-aurora#229 6c66b41a
DjDeveloperr Oct 29, 2026
1ccff51
hk: let renders carry occlusion availability only on G17P
DjDeveloperr Oct 29, 2026
2b1bc1e
hk: let M5 renders carry occlusion availability too
DjDeveloperr Oct 29, 2026
4418ce2
asahi: remove a stray copy of the M5 instruction test
DjDeveloperr Oct 29, 2026
463b1a7
hk: read the M5 compression pNext chains like the G17P one
DjDeveloperr Oct 29, 2026
acb855f
hk: test later links of the M5 depth compression chain
DjDeveloperr Oct 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion SILICONFOREST-SOURCES.json
Original file line number Diff line number Diff line change
Expand Up @@ -2862,7 +2862,7 @@
"aurora_merge": "5323fb87815718ca294ebe3c4f92b56cc18c577e",
"scott_merge": "44fe9cab321168c782babaeb0f035088b574d823",
"kernel_repository": "https://github.com/omacom/linux-aurora",
"kernel_commit": "7b969982306e1498a8cbe6e5da9bde743acd8fc5",
"kernel_commit": "6c66b41af3e77c0509ce24f3615c1bc2016cea14",
"kernel_header": "include/uapi/drm/asahi_drm.h",
"hardware_qualified": false,
"system_install_performed": false
Expand Down
225 changes: 225 additions & 0 deletions include/drm-uapi/asahi_drm.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,20 @@ struct drm_asahi_params_global {
* DRM_ASAHI_GPU_HAL_300 for G17G/G17S/G17C.
*/
__u32 gpu_hal_generation;

/**
* @memory_limit: Device-wide limit on user committed plus kernel
* resident bytes. Zero means no driver limit. This is a capacity,
* not current free memory; other clients share it.
*/
__u64 memory_limit;

/**
* @client_memory_limit: Per-DRM-file limit on user committed bytes.
* Zero means no driver limit. Userspace must zero-initialize the reply
* buffer: older kernels leave these optional tail fields untouched.
*/
__u64 client_memory_limit;
};

/**
Expand Down Expand Up @@ -304,6 +318,47 @@ enum drm_asahi_feature {
* DRM_ASAHI_COMPUTE_AS_BUILD for a bounded long execution allowance.
*/
DRM_ASAHI_FEATURE_BOUNDED_AS_BUILD = (1UL) << 16,

/*
* Bits 17 to 28 are reported only by the M5 (G17G/G17S) runtime. They
* follow the numbering above, so one userspace reads every kernel's
* features the same way. Bits 25 and 27 are reserved for that runtime.
*/

/** @DRM_ASAHI_FEATURE_RENDER_RESOURCES: Per-program render storage declarations. */
DRM_ASAHI_FEATURE_RENDER_RESOURCES = (1UL) << 17,
/** @DRM_ASAHI_FEATURE_RENDER_RESOURCES_V2: Versioned SCS and mesh storage. */
DRM_ASAHI_FEATURE_RENDER_RESOURCES_V2 = (1UL) << 18,
/** @DRM_ASAHI_FEATURE_SPARSE_TILES: DRM_ASAHI_BIND_SPARSE_TILE accepted. */
DRM_ASAHI_FEATURE_SPARSE_TILES = (1UL) << 19,
/** @DRM_ASAHI_FEATURE_COMPUTE_MATRIX: Native compute matrix instructions. */
DRM_ASAHI_FEATURE_COMPUTE_MATRIX = (1UL) << 20,
/*
* Render programs accept DRM_ASAHI_RENDER_PROGRAM_TASK; task kicks get the
* TA mesh rendering buffer that backs the object payload address.
*/
DRM_ASAHI_FEATURE_TASK_MESH_STORAGE = (1UL) << 21,
/** @DRM_ASAHI_FEATURE_RENDER_SHADER_WRITES: Per-render external shader writes. */
DRM_ASAHI_FEATURE_RENDER_SHADER_WRITES = (1UL) << 22,
/** @DRM_ASAHI_FEATURE_M5_DEPTH_MSAA_COMPRESSION: D32 2x/4x compressed depth and copy admission. */
DRM_ASAHI_FEATURE_M5_DEPTH_MSAA_COMPRESSION = (1UL) << 23,
/**
* @DRM_ASAHI_FEATURE_COMPUTE_STAGE_BARRIERS: A render may carry a
* separate compute prefix for its tiling half
* (DRM_ASAHI_RENDER_COMPUTE_STAGE_BARRIERS,
* struct drm_asahi_cmd_render_with_stage_prior).
*/
DRM_ASAHI_FEATURE_COMPUTE_STAGE_BARRIERS = (1UL) << 24,
/** @DRM_ASAHI_FEATURE_M5_STENCIL_MSAA_COMPRESSION: single-layer 2x/4x compressed stencil in the native ZLS form. */
DRM_ASAHI_FEATURE_M5_STENCIL_MSAA_COMPRESSION = (1UL) << 26,
/** @DRM_ASAHI_FEATURE_COMPUTE_RESOURCES: Per-dispatch storage declarations. */
DRM_ASAHI_FEATURE_COMPUTE_RESOURCES = (1UL) << 28,
/**
* @DRM_ASAHI_FEATURE_CUMULATIVE_SIGNALS: SUBMIT accepts one
* DRM_ASAHI_SYNC_TIMELINE_SYNCOBJ_CUMULATIVE output. All outputs
* include the earlier points of that timeline without adding GPU waits.
*/
DRM_ASAHI_FEATURE_CUMULATIVE_SIGNALS = (1UL) << 29,
};

#define DRM_ASAHI_PARAM_GROUP_VM_STATUS 1
Expand Down Expand Up @@ -546,6 +601,15 @@ enum drm_asahi_bind_flags {
* It is intended as a mechanism to accelerate sparse.
*/
DRM_ASAHI_BIND_SINGLE_PAGE = (1L << 3),

/**
* @DRM_ASAHI_BIND_SPARSE_TILE: With DRM_ASAHI_BIND_SINGLE_PAGE, fill
* the range from kernel-owned, physically contiguous tiles instead of
* repeating the BO's first page: read-only binds read zeroes, writable
* binds target a sink; both tile pools are private to the VM. The BO
* only anchors the mapping. Requires DRM_ASAHI_FEATURE_SPARSE_TILES.
*/
DRM_ASAHI_BIND_SPARSE_TILE = (1L << 4),
};

/**
Expand Down Expand Up @@ -707,6 +771,18 @@ enum drm_asahi_cmd_type {
* Followed by (possibly multiple) @drm_asahi_attachment payloads.
*/
DRM_ASAHI_SET_COMPUTE_ATTACHMENTS = 4,

/**
* @DRM_ASAHI_SET_RENDER_RESOURCES: Replace linked render program storage.
* Followed by zero or more drm_asahi_render_program entries. This software
* command has no barriers and does not advance either command index.
*/
DRM_ASAHI_SET_RENDER_RESOURCES = 5,

/** @DRM_ASAHI_SET_COMPUTE_RESOURCES: Replace compute storage declarations. */
DRM_ASAHI_SET_COMPUTE_RESOURCES = 6,
/** Replace the render list with drm_asahi_render_program_v2 entries. */
DRM_ASAHI_SET_RENDER_RESOURCES_V2 = 7,
};

/**
Expand Down Expand Up @@ -794,6 +870,16 @@ enum drm_asahi_sync_type {

/** @DRM_ASAHI_SYNC_TIMELINE_SYNCOBJ: Timeline sync object */
DRM_ASAHI_SYNC_TIMELINE_SYNCOBJ = 1,

/**
* @DRM_ASAHI_SYNC_TIMELINE_SYNCOBJ_CUMULATIVE: Output-only queue
* timeline anchor, requiring CUMULATIVE_SIGNALS and a nonzero point.
* At most one is allowed. All outputs receive completion of this submit
* and the earlier anchor points.
* Other outputs must not alias the anchor. No execution dependency is
* added. Calls updating this private anchor must be externally serialized.
*/
DRM_ASAHI_SYNC_TIMELINE_SYNCOBJ_CUMULATIVE = 2,
};

/**
Expand All @@ -819,6 +905,87 @@ struct drm_asahi_sync {
*/
#define DRM_ASAHI_BARRIER_NONE (0xFFFFu)

/**
* struct drm_asahi_compute_program - Storage of one linked compute dispatch.
*
* SET_COMPUTE_RESOURCES replaces the list for subsequent compute commands.
* Include each distinct dispatch profile in the command stream. The kernel
* combines their requirements before publishing work. All sizes are bytes.
*/
struct drm_asahi_compute_program {
/** @primary_bytes: Per-thread primary storage. */
__u32 primary_bytes;
/** @secondary_bytes: Per-thread secondary storage. */
__u32 secondary_bytes;
/** @linked_bytes: Additional primary storage after linking. */
__u32 linked_bytes;
/** @minimum_primary_bytes: Minimum primary storage across variants. */
__u32 minimum_primary_bytes;
/** @threadgroup_bytes: Storage shared by a workgroup. */
__u32 threadgroup_bytes;
/** @threads: Number of invocations in a workgroup. */
__u32 threads;
/** @flags: Reserved; must be zero. */
__u32 flags;
};

/**
* struct drm_asahi_render_program - Storage of one linked render program.
*
* SET_RENDER_RESOURCES replaces the list for subsequent renders in this submit.
* Include every vertex and fragment program, including background and end-of-tile
* programs. Sizes describe the final linked program, in bytes. Each entry is
* evaluated separately before taking the maximum demand across the pass.
*/
struct drm_asahi_render_program {
/** @stage: 0 for vertex, 1 for fragment (including background/end-of-tile). */
__u32 stage;
/** @primary_bytes: Primary per-thread storage after linking. */
__u32 primary_bytes;
/** @secondary_bytes: Secondary per-thread storage after linking. */
__u32 secondary_bytes;
/** @linked_bytes: Additional primary storage from linked programs. */
__u32 linked_bytes;
/** @minimum_primary_bytes: Minimum primary storage across linked variants. */
__u32 minimum_primary_bytes;
/** @auxiliary_count: Fragment auxiliary entries; zero for vertex programs. */
__u32 auxiliary_count;
/** @threadgroup_bytes: Fragment threadgroup storage; zero for vertex. */
__u32 threadgroup_bytes;
/** @imageblock_bytes: Fragment imageblock storage; zero for vertex. */
__u32 imageblock_bytes;
/** @multisample_bytes: Fragment multisample storage; zero for vertex. */
__u32 multisample_bytes;
/** @flags: MBZ. */
__u32 flags;
};
/** Version 2 linked render storage. Version 1 remains exactly 40 bytes. */
#define DRM_ASAHI_RENDER_PROGRAM_SCS (1U << 0)
#define DRM_ASAHI_RENDER_PROGRAM_MESH (1U << 1)
#define DRM_ASAHI_RENDER_PROGRAM_OBJECT (1U << 2)
/* With OBJECT: the object program is an API task stage. The kernel binds the
* TA mesh rendering buffer (the backing of the object payload address) to
* such kicks only. Requires DRM_ASAHI_FEATURE_TASK_MESH_STORAGE. */
#define DRM_ASAHI_RENDER_PROGRAM_TASK (1U << 3)
struct drm_asahi_render_program_v2 {
struct drm_asahi_render_program legacy;
/** @threads: Mesh/object workgroup invocation count; zero otherwise. */
__u32 threads;
/** @usage_flags: DRM_ASAHI_RENDER_PROGRAM_* bits. */
__u32 usage_flags;
/** @scs_layout: Packed depth/levels/cliques/user/driver SCS layout. */
__u64 scs_layout;
/** @auxiliary_allocation: Stage native auxiliary allocation word. */
__u32 auxiliary_allocation;
__u32 reserved;
__u64 intersection_pool;
__u64 intersection_pool_bytes;
__u32 intersection_first;
__u32 intersection_count;
__u64 intersection_default_program;
__u64 intersection_default_control;
};

/**
* struct drm_asahi_cmd_header - Top level command structure
*
Expand Down Expand Up @@ -1032,6 +1199,24 @@ enum drm_asahi_render_flags {
* may depend on it. Requires DRM_ASAHI_FEATURE_FRAGMENT_BARRIERS.
*/
DRM_ASAHI_RENDER_FRAGMENT_BARRIERS = (1U << 20),

/**
* @DRM_ASAHI_RENDER_SHADER_WRITES: A graphics program in this command
* writes external memory, including buffer/image stores or atomic RMW.
* Ordinary raster outputs and compiler-private transport do not count.
* Requires DRM_ASAHI_FEATURE_RENDER_SHADER_WRITES. Omission retains the
* existing encoding, allowing older userspace to submit unchanged.
*/
DRM_ASAHI_RENDER_SHADER_WRITES = (1U << 21),

/**
* @DRM_ASAHI_RENDER_COMPUTE_STAGE_BARRIERS: The command is a struct
* drm_asahi_cmd_render_with_stage_prior. Its tiling half waits only on
* the compute prefix named by ta_cdm_barrier and ta_prior_cdm, which must
* not exceed the command's own compute prefix; its fragment half waits on
* the whole one. Requires DRM_ASAHI_FEATURE_COMPUTE_STAGE_BARRIERS.
*/
DRM_ASAHI_RENDER_COMPUTE_STAGE_BARRIERS = (1U << 22),
};

/**
Expand Down Expand Up @@ -1370,6 +1555,19 @@ struct drm_asahi_cmd_render_with_prior {
__u64 prior_cdm;
};

/* DRM_ASAHI_RENDER_COMPUTE_STAGE_BARRIERS: the tiling half's compute prefix,
* a command index like drm_asahi_cmd_header::cdm_barrier and an exact prior
* ordinal like prior_cdm. Its tail takes the place of the ray-query stage
* state of struct drm_asahi_cmd_render_with_ray_query, so a command carries
* one of the two. */
struct drm_asahi_cmd_render_with_stage_prior {
struct drm_asahi_cmd_render_with_prior legacy;
__u16 ta_cdm_barrier;
__u16 reserved0;
__u32 reserved1;
__u64 ta_prior_cdm;
};

struct drm_asahi_render_ray_query_stage {
__u64 scs_layout;
__u32 intersection_aux;
Expand Down Expand Up @@ -1444,13 +1642,30 @@ struct drm_asahi_cmd_compute_with_prior {
__u64 scs_layout;
__u64 prior_vdm;
__u64 prior_cdm;
/* Native M5 compute allocation word, independent of scs_layout.
* Zero preserves the legacy path. Older kernels reject a nonzero tail. */
__u32 cdm_auxiliary_allocation;
__u32 reserved;
/** @intersection_pool: M5 intersection-table pool, 16 KiB aligned. */
__u64 intersection_pool;
/** @intersection_pool_bytes: Mapped size, a multiple of 16 KiB. */
__u64 intersection_pool_bytes;
/** @intersection_first: First 128-byte driver table block. */
__u32 intersection_first;
/** @intersection_count: Number of driver table blocks (1..262143). */
__u32 intersection_count;
/**
* @intersection_default_program: Native default program descriptor.
* Low 48 bits are the 64-byte aligned program address; upper 16 bits
* contain the low resource-specification bits.
*/
__u64 intersection_default_program;
/**
* @intersection_default_control: Native default program control word.
* Bits 13:0 and 46:32 are defined by the M5 program descriptor. All
* other bits must be zero. A nonzero default program requires bit 40.
* An all-zero intersection extension preserves the ordinary compute path.
*/
__u64 intersection_default_control;
};

Expand All @@ -1473,6 +1688,16 @@ enum drm_asahi_compute_flags {
* ordered helpers cannot time out while waiting for the build.
*/
DRM_ASAHI_COMPUTE_AS_BUILD = (1L << 2),

/*
* Bits 16 and up are accepted only by the M5 (G17G/G17S) runtime.
*/

/**
* @DRM_ASAHI_COMPUTE_USES_MATRIX: The command's dispatches use native
* matrix instructions. Requires DRM_ASAHI_FEATURE_COMPUTE_MATRIX.
*/
DRM_ASAHI_COMPUTE_USES_MATRIX = (1L << 16),
};

/**
Expand Down
Loading
Loading