Skip to content

Ci issue#86

Open
koubaa wants to merge 5 commits intomainfrom
ci-issue
Open

Ci issue#86
koubaa wants to merge 5 commits intomainfrom
ci-issue

Conversation

@koubaa
Copy link
Copy Markdown
Owner

@koubaa koubaa commented Apr 11, 2026

No description provided.

koubaa added 5 commits April 10, 2026 23:03
Reads from a buffer view via goldy_dyn_buf_ro (SRV) where the
view has a non-zero byte offset, producing FirstElement != 0 in
the DX12 descriptor. This has been observed to return wrong data
on WARP (reads from element 0 instead of FirstElement).

Made-with: Cursor
The simple single-dispatch test passes on WARP, but Ekrano's full
pipeline triggers the SRV FirstElement bug. Add a stress test with:
- 8 pool buffers x 4 views each (32 views with FirstElement != 0)
- 32 fill dispatches to churn GPU state before SRV reads
- 8 SRV copy dispatches reading from high-offset views
- 10 iterations
This tries to reproduce the state-dependent WARP bug.

Made-with: Cursor
The previous test filled pool data via UAV dispatches then checked
against pre-fill expected values, causing failures on all backends.

Rewrite so pool data is uploaded once via Buffer::with_data and never
modified by dispatches. Churn dispatches write to independent buffers.
Only the SRV read uses views with FirstElement != 0, so mismatches
isolate the WARP SRV FirstElement bug specifically.

Made-with: Cursor
Fill pool views via UAV (which works on WARP), then read back via SRV
(which breaks on WARP when FirstElement != 0). Each of 8 views gets a
distinct base value so we can tell exactly which offset the SRV read
from. On correct hardware UAV and SRV agree; on WARP the SRV ignores
FirstElement and reads view 0's data instead of the target view's.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant