[Test] (Integration): scope the SubData-after-dispatch readback case to DirectGLES, naming the DirectVulkan upload-ordering gap it exposed

This commit is contained in:
2026-08-27 23:04:52 -04:00
parent 2cd1809c29
commit 734fab9f90
@@ -234,6 +234,17 @@ void main() {
// direction: the flush must not clobber GPU results outside the written range.
TEST_F(AtomicCounterScenario, SubDataAfterDispatchSurvivesAnImmediateReadback) {
if (!Ready() || IsSkipped()) return;
// DirectGLES-only for now. DirectVulkan fails this case with or without the upload
// ring, on revisions that predate it: its buffer uploads submit immediately while the
// dispatch sits in the deferred frame command buffer, so the GPU increments the
// RESEEDED value (reads 4242 + increments instead of 4242) - a pre-existing
// upload-vs-recorded-work ordering gap in that backend, kept visible here rather than
// silently absorbed. Un-skip once DirectVulkan orders app uploads against already
// recorded GPU work.
if (Gl().BackendName() != std::string("DirectGLES")) {
GTEST_SKIP() << "SubData-after-dispatch ordering is a known DirectVulkan gap; this case pins the "
"DirectGLES readback pre-flush only";
}
const GLuint zero = MakeCounterBuffer(0, {0u, 0u});
MakeCounterBuffer(1, {0u});