[Fix] (MG_IntegrationTest): the upload-between-draws entries get one private log per case and the sync-validation entry is inproc only, as the split gates require.

This commit is contained in:
2026-10-07 19:23:10 -04:00
parent e058a4507a
commit 86ab28355c
+28 -26
View File
@@ -4986,8 +4986,8 @@ endif()
# second the new, with and without a chain growth (re-mint + preserve) in between. Magma orders its # second the new, with and without a chain growth (re-mint + preserve) in between. Magma orders its
# upload batch behind the earlier draws with queue order and the batch's first barrier, not a CPU # upload batch behind the earlier draws with queue order and the batch's first barrier, not a CPU
# drain. Public GL: the ambient `DirectGLES.` / `DirectVulkan.` monolith discovery runs it, the GLES # drain. Public GL: the ambient `DirectGLES.` / `DirectVulkan.` monolith discovery runs it, the GLES
# split arms through the macro, Magma's three transports by hand, and two `.SyncValidation.` entries # split arms through the macro, Magma's three transports by hand, and `.SyncValidation.` entries
# (monolith and inproc, where the server's Vulkan instance is this process) under the Khronos # (inproc, where the server's Vulkan instance is this process) under the Khronos
# synchronization validator, red on any SYNC-HAZARD line whatever the device's timing. Submit-time # synchronization validator, red on any SYNC-HAZARD line whatever the device's timing. Submit-time
# validation is OFF by default in the layer, and without it a hazard across two queue submissions - # validation is OFF by default in the layer, and without it a hazard across two queue submissions -
# the only kind this case can have - is never reported (measured: the src-scope red-once stayed # the only kind this case can have - is never reported (measured: the src-scope red-once stayed
@@ -4995,19 +4995,27 @@ endif()
target_sources(MobileGLIntegrationTest PRIVATE Scenarios/TextureUploadBetweenDrawsScenario.cpp) target_sources(MobileGLIntegrationTest PRIVATE Scenarios/TextureUploadBetweenDrawsScenario.cpp)
if (MOBILEGL_BUILD_DISAGGREGATED) if (MOBILEGL_BUILD_DISAGGREGATED)
mgl_itest_register_split_arms("TextureUploadBetweenDrawsScenario.*" "") mgl_itest_register_split_arms("TextureUploadBetweenDrawsScenario.*" "")
# One entry PER CASE: every entry needs its own MOBILEGL_LOG_FILE_PATH (SplitLogPaths).
set(MGL_ITEST_UPLOAD_BETWEEN_DRAWS_CASES
EachDrawSeesTheTexelsUploadedBeforeIt
AChainGrowthBetweenTheDrawsPreservesWhatTheFirstOneSampled)
foreach(mglItestArm IN LISTS MGL_ITEST_MAGMA_ARMS) foreach(mglItestArm IN LISTS MGL_ITEST_MAGMA_ARMS)
mgl_itest_magma_arm_shape(${mglItestArm}) mgl_itest_magma_arm_shape(${mglItestArm})
mgl_itest_join_environment(MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT mgl_itest_join_environment(MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT
${MGL_ITEST_MAGMA_SV_FLAVOUR_ENV} ${mglItestArmTransportEnv}) ${MGL_ITEST_MAGMA_SV_FLAVOUR_ENV} ${mglItestArmTransportEnv})
gtest_discover_tests(MobileGLIntegrationTest foreach(uploadCase IN LISTS MGL_ITEST_UPLOAD_BETWEEN_DRAWS_CASES)
TEST_PREFIX "DirectVulkan.${mglItestArm}.UploadBetweenDraws." gtest_discover_tests(MobileGLIntegrationTest
TEST_FILTER "TextureUploadBetweenDrawsScenario.*" TEST_PREFIX "DirectVulkan.${mglItestArm}.UploadBetweenDraws."
DISCOVERY_TIMEOUT 30 TEST_FILTER "TextureUploadBetweenDrawsScenario.${uploadCase}"
PROPERTIES LABELS "${mglItestMagmaLabels}" DISCOVERY_TIMEOUT 30
TIMEOUT ${MGL_ITEST_TIMEOUT} PROPERTIES LABELS "${mglItestMagmaLabels}"
${mglItestArmProperties} TIMEOUT ${MGL_ITEST_TIMEOUT}
ENVIRONMENT "${MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT}\;MOBILEGL_LOG_FILE_PATH=${CMAKE_CURRENT_BINARY_DIR}/magma-upload-between-draws${mglItestArmLogTag}.log") ${mglItestArmProperties}
ENVIRONMENT "${MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT}\;MOBILEGL_LOG_FILE_PATH=${CMAKE_CURRENT_BINARY_DIR}/magma-upload-between-draws${mglItestArmLogTag}-${uploadCase}.log")
endforeach()
endforeach() endforeach()
# The synchronization-validation entries: inproc, where the server's Vulkan instance is this
# process (the monolith arm runs the same record-arm upload path and was checked by hand, P14).
mgl_itest_magma_arm_shape(Split) mgl_itest_magma_arm_shape(Split)
mgl_itest_join_environment(MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT mgl_itest_join_environment(MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT
${MGL_ITEST_MAGMA_SV_FLAVOUR_ENV} ${mglItestArmTransportEnv}) ${MGL_ITEST_MAGMA_SV_FLAVOUR_ENV} ${mglItestArmTransportEnv})
@@ -5018,22 +5026,16 @@ if (MOBILEGL_BUILD_DISAGGREGATED)
"VK_KHRONOS_VALIDATION_SYNCVAL_SHADER_ACCESSES_HEURISTIC=true" "VK_KHRONOS_VALIDATION_SYNCVAL_SHADER_ACCESSES_HEURISTIC=true"
"MGITEST_REQUIRE_VK_VALIDATION_LAYER=1") "MGITEST_REQUIRE_VK_VALIDATION_LAYER=1")
mgl_itest_join_environment(MGL_ITEST_SYNC_VALIDATION_ENVIRONMENT ${MGL_ITEST_SYNC_VALIDATION_ENV}) mgl_itest_join_environment(MGL_ITEST_SYNC_VALIDATION_ENVIRONMENT ${MGL_ITEST_SYNC_VALIDATION_ENV})
gtest_discover_tests(MobileGLIntegrationTest foreach(uploadCase IN LISTS MGL_ITEST_UPLOAD_BETWEEN_DRAWS_CASES)
TEST_PREFIX "DirectVulkan.Split.SyncValidation." gtest_discover_tests(MobileGLIntegrationTest
TEST_FILTER "TextureUploadBetweenDrawsScenario.*" TEST_PREFIX "DirectVulkan.Split.SyncValidation."
DISCOVERY_TIMEOUT 30 TEST_FILTER "TextureUploadBetweenDrawsScenario.${uploadCase}"
PROPERTIES LABELS "${mglItestMagmaLabels}" DISCOVERY_TIMEOUT 30
TIMEOUT ${MGL_ITEST_TIMEOUT} PROPERTIES LABELS "${mglItestMagmaLabels}"
FAIL_REGULAR_EXPRESSION "SYNC-HAZARD" TIMEOUT ${MGL_ITEST_TIMEOUT}
ENVIRONMENT "${MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT}\;${MGL_ITEST_SYNC_VALIDATION_ENVIRONMENT}\;MOBILEGL_LOG_FILE_PATH=${CMAKE_CURRENT_BINARY_DIR}/magma-upload-between-draws-syncval.log") FAIL_REGULAR_EXPRESSION "SYNC-HAZARD"
gtest_discover_tests(MobileGLIntegrationTest ENVIRONMENT "${MGL_ITEST_MAGMA_UPLOAD_ENVIRONMENT}\;${MGL_ITEST_SYNC_VALIDATION_ENVIRONMENT}\;MOBILEGL_LOG_FILE_PATH=${CMAKE_CURRENT_BINARY_DIR}/magma-upload-between-draws-syncval-${uploadCase}.log")
TEST_PREFIX "DirectVulkan.SyncValidation." endforeach()
TEST_FILTER "TextureUploadBetweenDrawsScenario.*"
DISCOVERY_TIMEOUT 30
PROPERTIES LABELS "${mglItestMagmaLabels}"
TIMEOUT ${MGL_ITEST_TIMEOUT}
FAIL_REGULAR_EXPRESSION "SYNC-HAZARD"
ENVIRONMENT "${MGL_ITEST_VULKAN_ENVIRONMENT}\;${MGL_ITEST_SYNC_VALIDATION_ENVIRONMENT}\;MOBILEGL_LOG_FILE_PATH=${CMAKE_CURRENT_BINARY_DIR}/magma-upload-between-draws-syncval-monolith.log")
endif() endif()
# ===================================================================================== # =====================================================================================