mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 18:13:23 +09:00
[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:
@@ -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()
|
||||||
|
|
||||||
# =====================================================================================
|
# =====================================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user