mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[Test] (docs/ci, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, scripts/data): check the push control across a Present and only where it can run
- the forgotten mapping's next-frame write must also miss the server; the re-announce must ship the latest write - the case is left out of the ambient, Verify, VerifySplit and Magma Full registrations, where it only skipped - DirectVulkan.Split pins MOBILEGL_IPC_ADOPT_TIER=2 for it, so its emulated declaration holds
This commit is contained in:
@@ -794,11 +794,17 @@ set(MGL_ITEST_MONOLITH_MECHANISM_FILTER
|
||||
# would be a name in a list.
|
||||
set(MGL_ITEST_GLES_VIEW_FILTER
|
||||
"TextureViewScenario.*:TextureViewAliasScenario.*:F1WireScenario.ComputeImageStoreThroughViewPreservesOtherRootLayer:F1WireScenario.TextureViewClearTargetsItsRootMipAndLayer:F1WireScenario.GenerateMipmapThroughViewKeepsOwnerLevelsAndLayersOutsideItsWindow:InvalidImageUnitScenario.ALevelPastATextureViewsWindowReadsZero")
|
||||
# Cases that run only in the split-arm entries Harness/SplitLogPaths.cmake.in declares a lane
|
||||
# for, and skip by construction anywhere else (no split transport, no declared arm). They are
|
||||
# left out of the ambient, verify and whole-binary Magma registrations for the reason above:
|
||||
# there they would green-skip on every run.
|
||||
set(MGL_ITEST_SPLIT_ARM_ONLY_FILTER
|
||||
"PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer")
|
||||
|
||||
mgl_itest_lane("DirectGLES." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:${MGL_ITEST_GLES_VIEW_FILTER}"
|
||||
mgl_itest_lane("DirectGLES." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:${MGL_ITEST_GLES_VIEW_FILTER}:${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
ENV "${MGL_ITEST_GLES_ENVIRONMENT}")
|
||||
|
||||
mgl_itest_lane("DirectVulkan." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}"
|
||||
mgl_itest_lane("DirectVulkan." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
ENV "${MGL_ITEST_VULKAN_ENVIRONMENT}")
|
||||
|
||||
# ScenarioIsolationScenario's two cases in ONE process: the first leaves a deleted program current
|
||||
@@ -1328,12 +1334,13 @@ if (MOBILEGL_PIPE_VERIFY)
|
||||
# from the live context at the verb boundary - which is what "the 742 integration entries
|
||||
# prove push equals pull" means. Labelled integration-gpu as well so a verify build's
|
||||
# `ctest -L integration-gpu` still describes the whole registration set.
|
||||
mgl_itest_lane("DirectGLES.Verify." "-${MGL_ITEST_GLES_VIEW_FILTER}"
|
||||
mgl_itest_lane("DirectGLES.Verify." "-${MGL_ITEST_GLES_VIEW_FILTER}:${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
LABELS "integration-gpu\;integration-verify\;integration-monolith-control" TIMEOUT ${MGL_ITEST_VERIFY_TIMEOUT} ENV "${MGL_ITEST_GLES_VERIFY_ENVIRONMENT}")
|
||||
mgl_itest_lane("DirectGLES.Verify." "${MGL_ITEST_GLES_VIEW_FILTER}"
|
||||
LABELS "integration-verify\;integration-monolith-control" TIMEOUT ${MGL_ITEST_VERIFY_TIMEOUT} ENV "${MGL_ITEST_GLES_VERIFY_ENVIRONMENT}\;MOBILEGL_ESPRYT_ENABLE_TEXTURE_VIEW=1")
|
||||
gtest_discover_tests(MobileGLIntegrationTest
|
||||
TEST_PREFIX "DirectVulkan.Verify."
|
||||
TEST_FILTER "-${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
DISCOVERY_TIMEOUT 30
|
||||
PROPERTIES
|
||||
LABELS "integration-gpu\;integration-verify\;integration-monolith-control"
|
||||
@@ -3546,8 +3553,9 @@ endif()
|
||||
# Whole integration binary on Magma split (informational, no CI gate)
|
||||
# =====================================================================================
|
||||
# The set the monolith `DirectVulkan.` arm runs (all but MGL_ITEST_MONOLITH_MECHANISM_FILTER,
|
||||
# oracles that must not inherit a transport), minus DualBlockScenario (its own lane). No
|
||||
# MGITEST_SPLIT_LANE: query-only cases emit no record (ARCHITECTURE.md §16.1). Private log paths
|
||||
# oracles that must not inherit a transport, and MGL_ITEST_SPLIT_ARM_ONLY_FILTER), minus
|
||||
# DualBlockScenario (its own lane). No MGITEST_SPLIT_LANE: query-only cases emit no record
|
||||
# (ARCHITECTURE.md §16.1). Private log paths
|
||||
# come through MGL_MAGMA_FULL_TEST_LISTS, not MGL_SPLIT_ARM_TEST_LISTS, whose entries also get
|
||||
# lane markers that would arm unrelated oracles here; SplitLogPaths.cmake.in walks both.
|
||||
if (MOBILEGL_BUILD_DISAGGREGATED)
|
||||
@@ -3558,7 +3566,7 @@ if (MOBILEGL_BUILD_DISAGGREGATED)
|
||||
mgl_itest_join_environment(mglItestMagmaFullEnvironment
|
||||
"MOBILEGL_BACKEND_TYPE=DirectVulkan" "MOBILEGL_ITEST_REQUIRE_GPU=1"
|
||||
${MGL_ITEST_CAPABILITY_ENV} ${MGL_ITEST_VULKAN_ENV} ${mglItestArmTransportEnv})
|
||||
mgl_itest_lane("DirectVulkan.${mglItestArm}.Full." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:DualBlockScenario.*"
|
||||
mgl_itest_lane("DirectVulkan.${mglItestArm}.Full." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:DualBlockScenario.*:${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
LABELS "integration-magma-full-${mglItestArmLower}" TEST_LIST "MGL_MAGMA_FULL_TESTS_${mglItestArmUpper}" PROPERTIES ${mglItestArmProperties} ENV "${mglItestMagmaFullEnvironment}")
|
||||
list(APPEND MGL_MAGMA_FULL_TEST_LISTS "MGL_MAGMA_FULL_TESTS_${mglItestArmUpper}")
|
||||
endforeach()
|
||||
@@ -3602,11 +3610,11 @@ if (MOBILEGL_BUILD_DISAGGREGATED AND MOBILEGL_PIPE_VERIFY)
|
||||
# MOBILEGL_ESPRYT_ENABLE_TEXTURE_VIEW=1 or DirectGLES withholds GL_ARB_texture_view and they
|
||||
# green-skip, so they are subtracted from the first registration and re-registered with the
|
||||
# knob. "Every existing verify case on the split arm" is false without the second block.
|
||||
mgl_itest_lane("DirectGLES.VerifySplit." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:${MGL_ITEST_GLES_VIEW_FILTER}:DualBlockScenario.*:${MGL_ITEST_VERIFY_SPLIT_GLES_MAGMA_DECLINE_FILTER}"
|
||||
mgl_itest_lane("DirectGLES.VerifySplit." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:${MGL_ITEST_GLES_VIEW_FILTER}:DualBlockScenario.*:${MGL_ITEST_VERIFY_SPLIT_GLES_MAGMA_DECLINE_FILTER}:${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
LABELS "integration-verify-split" TIMEOUT ${MGL_ITEST_VERIFY_TIMEOUT} TEST_LIST MGL_VERIFY_SPLIT_TESTS_GLES ENV "${MGL_ITEST_GLES_VERIFY_SPLIT_ENVIRONMENT}")
|
||||
mgl_itest_lane("DirectGLES.VerifySplit." "${MGL_ITEST_GLES_VIEW_FILTER}"
|
||||
LABELS "integration-verify-split" TIMEOUT ${MGL_ITEST_VERIFY_TIMEOUT} TEST_LIST MGL_VERIFY_SPLIT_TESTS_GLES_VIEW ENV "${MGL_ITEST_GLES_VERIFY_SPLIT_ENVIRONMENT}\;MOBILEGL_ESPRYT_ENABLE_TEXTURE_VIEW=1")
|
||||
mgl_itest_lane("DirectVulkan.VerifySplit." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:DualBlockScenario.*"
|
||||
mgl_itest_lane("DirectVulkan.VerifySplit." "-${MGL_ITEST_MONOLITH_MECHANISM_FILTER}:DualBlockScenario.*:${MGL_ITEST_SPLIT_ARM_ONLY_FILTER}"
|
||||
LABELS "integration-verify-split" TIMEOUT ${MGL_ITEST_VERIFY_TIMEOUT} TEST_LIST MGL_VERIFY_SPLIT_TESTS_VULKAN ENV "${MGL_ITEST_VULKAN_VERIFY_SPLIT_ENVIRONMENT}")
|
||||
list(APPEND MGL_VERIFY_SPLIT_TEST_LISTS MGL_VERIFY_SPLIT_TESTS_GLES
|
||||
MGL_VERIFY_SPLIT_TESTS_GLES_VIEW MGL_VERIFY_SPLIT_TESTS_VULKAN)
|
||||
|
||||
@@ -26,8 +26,13 @@ foreach(listName IN ITEMS @MGL_SPLIT_ARM_TEST_LISTS@)
|
||||
set_tests_properties("${entry}" PROPERTIES ENVIRONMENT
|
||||
"MGITEST_PMAP_LANE=1;MGITEST_PERSISTENT_MAP_ARM=emulated;MOBILEGL_PIPE_STATS=1;MOBILEGL_PIPE_STATS_PERIOD=1")
|
||||
elseif(entry MATCHES "PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer$")
|
||||
# The case takes the push away, which only the emulated arm has (R-6: every split arm).
|
||||
# The case takes the push away, which only the emulated arm has. Every split arm
|
||||
# emulates by default except Magma in process, which is granted T0 and adopts, so
|
||||
# that entry asks for T2 by name, as the Magma buffer lanes do.
|
||||
set_tests_properties("${entry}" PROPERTIES ENVIRONMENT "MGITEST_PERSISTENT_MAP_ARM=emulated")
|
||||
if(entry MATCHES "^DirectVulkan\\.Split\\.")
|
||||
set_tests_properties("${entry}" PROPERTIES ENVIRONMENT "MOBILEGL_IPC_ADOPT_TIER=2")
|
||||
endif()
|
||||
elseif(entry MATCHES "LargeArenaAdoptionScenario.TheArenaLandsInTheTierItsLaneDeclares$")
|
||||
# P11 A2: every split arm runs T2, so the arena is declared emulated.
|
||||
set_tests_properties("${entry}" PROPERTIES ENVIRONMENT "MGITEST_PERSISTENT_MAP_ARM=emulated")
|
||||
|
||||
@@ -448,9 +448,10 @@ void main() { oColor = vec4(vColor, 1.0); }
|
||||
// E3(a): the push is the ONLY route a coherent write takes to the server. The cases above go
|
||||
// green just as well if something else delivered the bytes - an unmap or flush record, a
|
||||
// whole-buffer re-sync, the live-host-writes state record, an inproc server reading client
|
||||
// memory - so this one takes the push away and requires the next draw to miss the write.
|
||||
// Forget is what an unmap or a destroy calls and leaves the mapping itself alone; the
|
||||
// re-announce is the call every map-state change makes, and the next draw must see the write.
|
||||
// memory - so this one takes the push away and requires the draws to miss the write, within
|
||||
// one frame and across a Present (the two shapes the cases above draw). Forget is what an
|
||||
// unmap or a destroy calls and leaves the mapping itself alone; the re-announce is the call
|
||||
// every map-state change makes, and the next draw must see the latest write.
|
||||
TEST_F(PersistentCoherentMapScenario, ThePushIsTheOnlyRouteAWriteTakesToTheServer) {
|
||||
if (!Ready() || IsSkipped()) return;
|
||||
if (!SplitLane::IsSplitLane() || SplitLane::DeclaredPersistentMapArm() != "emulated") {
|
||||
@@ -477,13 +478,23 @@ void main() { oColor = vec4(vColor, 1.0); }
|
||||
"a write through a mapping the tracker has forgotten: red here means "
|
||||
"something other than the persistent-map push delivered it, and the "
|
||||
"two cases above would stay green without the push"));
|
||||
Gl().EndFrame();
|
||||
|
||||
ArmTheDrawState();
|
||||
WriteThroughTheMapThenDraw(m_map, 0.0f, 0.0f, 1.0f);
|
||||
const Image nextFrame = ReadPixels(Gl().Width(), Gl().Height());
|
||||
EXPECT_EQ(FirstGLError(), 0u);
|
||||
EXPECT_TRUE(WholeSurfaceIs(nextFrame, "green",
|
||||
"the next frame's write through the forgotten mapping, after a Present: "
|
||||
"red or blue here means the frame boundary delivered a write the push "
|
||||
"did not carry"));
|
||||
|
||||
ASSERT_TRUE(ReannounceLivePersistentMap(m_vbo)) << "no frontend BufferObject behind GL buffer " << m_vbo;
|
||||
glDrawArrays(GL_TRIANGLES, 0, 6);
|
||||
const Image repushed = ReadPixels(Gl().Width(), Gl().Height());
|
||||
EXPECT_EQ(FirstGLError(), 0u);
|
||||
EXPECT_TRUE(WholeSurfaceIs(repushed, "red",
|
||||
"the same write after the map is announced again: the tracker must "
|
||||
EXPECT_TRUE(WholeSurfaceIs(repushed, "blue",
|
||||
"the latest write after the map is announced again: the tracker must "
|
||||
"push the whole mapping once, or the green above proves nothing"));
|
||||
AssertOrRecordArm(m_vbo, "after the push was taken away and given back");
|
||||
Gl().EndFrame();
|
||||
|
||||
@@ -54,7 +54,7 @@ them wrong.
|
||||
| 2026-10-17 | `Magma split lane (strict, dual-block)` on the disaggregation branches when the dual-block step proved its defaults | Test / `integration-split-strict` | the dual-block census run covers the `integration-magma-split` label in the same environment | the dual-block census run |
|
||||
| 2026-10-17 | the 75 retrace-split inproc rows other than OpenRA's, when `build-linux-split` reuses `build-linux` | Test / `retrace-split` | the retrace job's inproc-acceptance rows replay the same cases on the same library, strict and with the dual block and run-ahead on; no one-sided pair since 10-05 | the inproc-acceptance rows, which now prove per leg from the client log that they run with strict=1, role-split-state=1 and run-ahead=1 (`MGTRACE_EXPECT_IPC`) and keep a refusal census; every remaining retrace-split leg proves its defaults (strict=0, role-split-state=1, run-ahead=1) and a changed default reds every leg with the rows to restore; `trace_cases.py --self-test-split-matrix` (disaggregation branches) proves every dropped row is an acceptance row; OpenRA's inproc rows stay for the wire evidence |
|
||||
| 2026-10-17 | `Transport resolution check`'s grep of one entry's log for the inproc resolution sentence | Test / `integration-split` | it checked one entry (`DirectGLES.Split.PersistentMapArm.`) after the fact | in-test: the split fixture (`Harness/ScenarioFixture.h`) now fails every armed Split/Spawn/Tcp entry whose process did not resolve the transport its registration claims, or whose server is not where the claim says (a thread here for inproc, a process of its own for spawn and tcp), from the running process (`SplitRuntimePeek`, `ClientSession::PeerServerPid()`); `SplitLaneHarness.TransportClaimRule` (unit) proves the rule red on canned inputs; the step keeps the IPC default proof as `Default-knob resolution check` |
|
||||
| 2026-10-18 | `Negative controls (barrier, map push)` (`scripts/ci/split_negative_controls.sh`; skip-census lane `junit-integration-split/control`) | Test / `integration-split` | it reran the split entries with `MOBILEGL_IPC_VERB_BARRIER=0` and `MOBILEGL_IPC_PERSISTENT_BLOCK_KB=0`, two product knobs that exist only for it; what was left without them (the ownership check and the baseline tally) repeats `SplitLogPaths.PrivateAndDistinct` and the lane step's own `junit_tally.py --require-split-ran` | E1: `RemoteWaitBoundaryControl.AnUnwaitedPublishIsSeenAsNoWait` (unit, always on); E3(a): `PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer` on the inproc, spawn, tcp and small-ring split entries (always on) |
|
||||
| 2026-10-18 | `Negative controls (barrier, map push)` (`scripts/ci/split_negative_controls.sh`; skip-census lane `junit-integration-split/control`) | Test / `integration-split` | it reran the split entries with `MOBILEGL_IPC_VERB_BARRIER=0` and `MOBILEGL_IPC_PERSISTENT_BLOCK_KB=0`, two product knobs that exist only for it; what was left without them (the ownership check and the baseline tally) repeats `SplitLogPaths.PrivateAndDistinct` and the lane step's own `junit_tally.py --require-split-ran` | E1: `RemoteWaitBoundaryControl.AnUnwaitedPublishIsSeenAsNoWait` (unit, always on); E3(a): `PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer`, always on in the split-arm entries (DirectGLES inproc, spawn, tcp and small ring; Magma's in the informational tier), within one frame and across a Present. Narrower than the control: it takes the push away with `PersistentMapTracker::Forget`, which also drops the membership (only the push reads it today), and draws its own frames, so it no longer shows that the bodies of `TwoWrites...` and `AWriteAfter...` make no announcing call |
|
||||
| 2026-10-18 | `scripts/ci/wait_boundary_negative_control.py` | Test / `integration-split` | E1's body inside the step above: the three boundary cases rerun with the barrier off | `RemoteWaitBoundaryControl.AnUnwaitedPublishIsSeenAsNoWait`: the same ApplierReset published with no wait must read parked=0, the observation the owed waits read as parked=1 |
|
||||
| 2026-10-18 | `scripts/ci/control_smoke_test.sh`, `scripts/ci/testdata/stub_ctest.sh`, `scripts/ci/testdata/split_private_log_smoke.sh`, and the `reset` / `results` / `assertion` / `evidence` modes of `split_log_paths.py` | Test / pipe-gates (R-16) | smoke cases and helpers of the step above only | none needed |
|
||||
| 2026-10-18 | unit `RemoteRunAhead.ClearingTheVerbBarrierDisarmsRunAheadEvenWithTheCapBit`, and the `MOBILEGL_IPC_VERB_BARRIER` knob with its arm in the shipped client (`ClientSession`: the free-running `EmitAndWaitTails` return, the run-ahead latch term, the `gPipeInputs` guard's early return, the `verb-barrier=` field of the `Config: IPC` line) | Test / unit (split); product code | `0` was never a product mode, only E1's negative control, retired above; the unit case pinned that the control also disarmed run-ahead | `RemoteWaitBoundaryControl.AnUnwaitedPublishIsSeenAsNoWait`; `MOBILEGL_IPC_RUN_AHEAD=0` stays the lockstep A/B arm |
|
||||
|
||||
@@ -63,7 +63,6 @@
|
||||
"DirectGLES.MagmaWireReclaimScenario.RespecifiesWithNoDrawBetweenKeepTheLiveStoreCountBounded",
|
||||
"DirectGLES.MagmaWireReclaimScenario.RespecifyAndDrawEachStoreInOneFrameStaysWithinTheDeferredBudget",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PointSizeDemotionScenario.ACaptureSurvivesAStageThatOnlyReadsThePointSize",
|
||||
"DirectGLES.PointSizeDemotionScenario.TheDemotionIsActuallyArmedWhenTheEnvironmentPinsItOn",
|
||||
"DirectGLES.PrimitivesGeneratedNoXfbScenario.APausedSpanCountsACpuPricedDrawExactlyOnce",
|
||||
@@ -139,7 +138,6 @@
|
||||
"DirectVulkan.P4aSeamAuditScenario.ATextureRespecifiedWhileAttachedReachesTheFramebufferRecord",
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PointSizeDemotionScenario.TheDemotionIsActuallyArmedWhenTheEnvironmentPinsItOn",
|
||||
"DirectVulkan.PrimitivesGeneratedNoXfbScenario.TheRerouteIsActuallyArmedWhenTheEnvironmentPinsItOn",
|
||||
"DirectVulkan.SnormAttachmentScenario.SignedNormalizedAttachmentsRoundTripTheirChannelValues",
|
||||
@@ -662,7 +660,6 @@
|
||||
"DirectGLES.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectGLES.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectGLES.PipelineFailureScenario.SamplerArrayInAStructDrawsWithoutKillingTheProcess",
|
||||
"DirectGLES.PipelineFailureScenario.TheSameDrawRepeatsIdenticallyWithNoPoisonedPipelineCache",
|
||||
@@ -1375,7 +1372,6 @@
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectVulkan.PipelineFailureScenario.SamplerArrayInAStructDrawsWithoutKillingTheProcess",
|
||||
"DirectVulkan.PipelineFailureScenario.TheSameDrawRepeatsIdenticallyWithNoPoisonedPipelineCache",
|
||||
@@ -1701,7 +1697,6 @@
|
||||
"DirectGLES.ObjectSubsystemControlScenario.ClearingTheP4aBitsStopsTheEmissionsAndNotThePixels",
|
||||
"DirectGLES.ObjectSubsystemControlScenario.TheAppliersNoConsumerBeltNeverFiresBehindTheClientsGate",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PipeVerifyArmingScenario.Armed",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -1876,7 +1871,6 @@
|
||||
"DirectVulkan.P4aSeamAuditScenario.ATextureRespecifiedWhileAttachedReachesTheFramebufferRecord",
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -2484,7 +2478,6 @@
|
||||
"DirectGLES.ObjectSubsystemControlScenario.TheAppliersNoConsumerBeltNeverFiresBehindTheClientsGate",
|
||||
"DirectGLES.PackBufferReadbackScenario.APackBufferReadPostsNoReplyAndMarksTheBuffer",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PipeVerifyArmingScenario.Armed",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -2736,7 +2729,6 @@
|
||||
"DirectVulkan.PackBufferReadbackScenario.APackBufferReadPostsNoReplyAndMarksTheBuffer",
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -3318,7 +3310,6 @@
|
||||
"DirectGLES.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectGLES.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectGLES.PersistentMapArm.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PipeVerifyArmingScenario.Armed",
|
||||
@@ -6144,7 +6135,6 @@
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
@@ -12344,7 +12334,6 @@
|
||||
"DirectGLES.ObjectSubsystemControlScenario.ClearingTheP4aBitsStopsTheEmissionsAndNotThePixels",
|
||||
"DirectGLES.ObjectSubsystemControlScenario.TheAppliersNoConsumerBeltNeverFiresBehindTheClientsGate",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PipeVerifyArmingScenario.Armed",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -12519,7 +12508,6 @@
|
||||
"DirectVulkan.P4aSeamAuditScenario.ATextureRespecifiedWhileAttachedReachesTheFramebufferRecord",
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -12695,7 +12683,6 @@
|
||||
"DirectGLES.ObjectSubsystemControlScenario.TheAppliersNoConsumerBeltNeverFiresBehindTheClientsGate",
|
||||
"DirectGLES.PackBufferReadbackScenario.APackBufferReadPostsNoReplyAndMarksTheBuffer",
|
||||
"DirectGLES.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.PipeVerifyArmingScenario.Armed",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectGLES.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -12947,7 +12934,6 @@
|
||||
"DirectVulkan.PackBufferReadbackScenario.APackBufferReadPostsNoReplyAndMarksTheBuffer",
|
||||
"DirectVulkan.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectVulkan.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -14438,7 +14424,6 @@
|
||||
"DirectGLES.VerifySplit.MagmaWireReclaimScenario.RespecifiesWithNoDrawBetweenKeepTheLiveStoreCountBounded",
|
||||
"DirectGLES.VerifySplit.MagmaWireReclaimScenario.RespecifyAndDrawEachStoreInOneFrameStaysWithinTheDeferredBudget",
|
||||
"DirectGLES.VerifySplit.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.VerifySplit.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.VerifySplit.PointSizeDemotionScenario.ACaptureSurvivesAStageThatOnlyReadsThePointSize",
|
||||
"DirectGLES.VerifySplit.PointSizeDemotionScenario.TheDemotionIsActuallyArmedWhenTheEnvironmentPinsItOn",
|
||||
"DirectGLES.VerifySplit.PrimitivesGeneratedNoXfbScenario.APausedSpanCountsACpuPricedDrawExactlyOnce",
|
||||
@@ -14513,7 +14498,6 @@
|
||||
"DirectVulkan.VerifySplit.P4aSeamAuditScenario.ATextureRespecifiedWhileAttachedReachesTheFramebufferRecord",
|
||||
"DirectVulkan.VerifySplit.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.VerifySplit.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.VerifySplit.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.VerifySplit.PointSizeDemotionScenario.TheDemotionIsActuallyArmedWhenTheEnvironmentPinsItOn",
|
||||
"DirectVulkan.VerifySplit.PrimitivesGeneratedNoXfbScenario.TheRerouteIsActuallyArmedWhenTheEnvironmentPinsItOn",
|
||||
"DirectVulkan.VerifySplit.SnormAttachmentScenario.SignedNormalizedAttachmentsRoundTripTheirChannelValues",
|
||||
@@ -14997,7 +14981,6 @@
|
||||
"DirectGLES.VerifySplit.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectGLES.VerifySplit.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectGLES.VerifySplit.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.VerifySplit.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.VerifySplit.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectGLES.VerifySplit.PipelineFailureScenario.SamplerArrayInAStructDrawsWithoutKillingTheProcess",
|
||||
"DirectGLES.VerifySplit.PipelineFailureScenario.TheSameDrawRepeatsIdenticallyWithNoPoisonedPipelineCache",
|
||||
@@ -15684,7 +15667,6 @@
|
||||
"DirectVulkan.VerifySplit.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectVulkan.VerifySplit.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectVulkan.VerifySplit.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.VerifySplit.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.VerifySplit.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectVulkan.VerifySplit.PipelineFailureScenario.SamplerArrayInAStructDrawsWithoutKillingTheProcess",
|
||||
"DirectVulkan.VerifySplit.PipelineFailureScenario.TheSameDrawRepeatsIdenticallyWithNoPoisonedPipelineCache",
|
||||
@@ -18030,7 +18012,6 @@
|
||||
"DirectGLES.Verify.ObjectSubsystemControlScenario.TheAppliersNoConsumerBeltNeverFiresBehindTheClientsGate",
|
||||
"DirectGLES.Verify.PackBufferReadbackScenario.APackBufferReadPostsNoReplyAndMarksTheBuffer",
|
||||
"DirectGLES.Verify.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.Verify.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.Verify.PipeVerifyArmingScenario.Armed",
|
||||
"DirectGLES.Verify.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectGLES.Verify.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -18130,7 +18111,6 @@
|
||||
"DirectVulkan.Verify.PackBufferReadbackScenario.APackBufferReadPostsNoReplyAndMarksTheBuffer",
|
||||
"DirectVulkan.Verify.PartialUploadOverGpuContentScenario.OneDimensionalArraySubImageKeepsTheGpuClearedLayer",
|
||||
"DirectVulkan.Verify.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.Verify.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.Verify.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.Verify.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
"DirectVulkan.Verify.PipeVerifyArmingScenario.CorruptedFieldIsReportedOnTheServerRead",
|
||||
@@ -18570,7 +18550,6 @@
|
||||
"DirectGLES.Verify.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectGLES.Verify.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectGLES.Verify.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectGLES.Verify.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectGLES.Verify.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectGLES.Verify.PipeVerifyArmingScenario.Armed",
|
||||
"DirectGLES.Verify.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
@@ -19204,7 +19183,6 @@
|
||||
"DirectVulkan.Verify.PartialUploadOverGpuContentScenario.TwoDistantSubImagesKeepTheGpuClearBetweenThem",
|
||||
"DirectVulkan.Verify.PersistentCoherentMapScenario.AWriteAfterAFrameBoundaryReachesTheNextFramesDraw",
|
||||
"DirectVulkan.Verify.PersistentCoherentMapScenario.TheMapLandsInTheArmItsLaneDeclares",
|
||||
"DirectVulkan.Verify.PersistentCoherentMapScenario.ThePushIsTheOnlyRouteAWriteTakesToTheServer",
|
||||
"DirectVulkan.Verify.PersistentCoherentMapScenario.TwoWritesThroughTheCoherentPointerEachReachTheirOwnDraw",
|
||||
"DirectVulkan.Verify.PipeVerifyArmingScenario.Armed",
|
||||
"DirectVulkan.Verify.PipeVerifyArmingScenario.CorruptedFieldIsReported",
|
||||
|
||||
Reference in New Issue
Block a user