test(agc): split agc_driver_flat_apertures into six parts
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d31b57a4ca
commit
9fe5d90cbe
|
|
@ -955,7 +955,7 @@ if(BUILD_TESTING)
|
|||
set_tests_properties(agc_shader_bindless agc_shader_frontend_pair agc_shader_frontend_pair_off PROPERTIES ENVIRONMENT_MODIFICATION "PATH=path_list_prepend:$<TARGET_FILE_DIR:libc>")
|
||||
endif()
|
||||
foreach(agcTest IN ITEMS agc_shared_write_tests agc_driver_tests agc_shader_memory_tests agc_structurizer_tests agc_spirv_module_tests agc_dpp_write_tests agc_masked_select_tests agc_constant_bit_test_tests agc_scalar_select_mask_tests agc_vop1_control_decode_tests agc_validate_program_tests agc_pass_hazards_tests agc_shader_disk_cache_tests agc_shader_device_profile_tests agc_shader_control_flow_tests agc_driver_flip_tests agc_driver_pm4_tests agc_driver_graphics_tests agc_driver_bda_device_tests agc_driver_mesh_tests agc_driver_cmask_fast_clear_tests agc_formatted_buffer_once_tests ${agcExecutionTests})
|
||||
if(agcTest STREQUAL "agc_driver_constant_store_tests")
|
||||
if(agcTest STREQUAL "agc_driver_constant_store_tests" OR agcTest STREQUAL "agc_driver_flat_apertures_tests")
|
||||
continue()
|
||||
endif()
|
||||
string(REGEX REPLACE "_tests$" "" agcTestName "${agcTest}")
|
||||
|
|
@ -974,6 +974,15 @@ if(BUILD_TESTING)
|
|||
endif()
|
||||
set_tests_properties(agc_driver_provoking_vertex PROPERTIES TIMEOUT 30)
|
||||
set_tests_properties(agc_driver_flat_store PROPERTIES RUN_SERIAL TRUE)
|
||||
set_target_properties(agc_driver_flat_apertures_tests PROPERTIES EXCLUDE_FROM_ALL OFF)
|
||||
foreach(flatAperturesPart RANGE 5)
|
||||
add_test(NAME agc_driver_flat_apertures_${flatAperturesPart} COMMAND agc_driver_flat_apertures_tests --part ${flatAperturesPart}/6)
|
||||
set_tests_properties(agc_driver_flat_apertures_${flatAperturesPart} PROPERTIES ENVIRONMENT "ANYPS5_NO_SHADER_CACHE=1" SKIP_RETURN_CODE 77 WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||
if(WIN32)
|
||||
set_tests_properties(agc_driver_flat_apertures_${flatAperturesPart} PROPERTIES ENVIRONMENT_MODIFICATION
|
||||
"PATH=path_list_prepend:$<TARGET_FILE_DIR:libc>")
|
||||
endif()
|
||||
endforeach()
|
||||
set_tests_properties(agc_driver_storage_cache_budget PROPERTIES TIMEOUT 30)
|
||||
add_test(NAME agc_driver_sampled_cache_budget_memory COMMAND agc_driver_sampled_cache_budget_tests memory)
|
||||
set_tests_properties(agc_driver_sampled_cache_budget_memory PROPERTIES ENVIRONMENT "ANYPS5_NO_SHADER_CACHE=1" SKIP_RETURN_CODE 77)
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include <span>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
|
|
@ -478,14 +479,26 @@ std::vector<Row> Rows() {
|
|||
|
||||
}
|
||||
|
||||
int main() {
|
||||
int main(int argc, char** argv) {
|
||||
try {
|
||||
std::size_t part = 0, parts = 1;
|
||||
if (argc == 3 && std::string_view(argv[1]) == "--part") {
|
||||
const std::string_view value(argv[2]);
|
||||
const auto slash = value.find('/');
|
||||
part = std::stoul(std::string(value.substr(0, slash)));
|
||||
parts = slash == std::string_view::npos ? 0 : std::stoul(std::string(value.substr(slash + 1)));
|
||||
} else if (argc != 1) {
|
||||
parts = 0;
|
||||
}
|
||||
if (parts == 0 || part >= parts) throw std::invalid_argument("usage: [--part K/N] with K < N");
|
||||
const auto device = OpenVulkanTestDevice();
|
||||
if (!device) return VulkanTestSkipped;
|
||||
const bool wave64 = device->Target().subgroupSize >= 32u;
|
||||
GuestBlock guest;
|
||||
std::size_t checked = 0;
|
||||
for (const Row& row : Rows()) {
|
||||
const auto rows = Rows();
|
||||
for (std::size_t index = part; index < rows.size(); index += parts) {
|
||||
const Row& row = rows[index];
|
||||
if (row.waveSize == 64u && !wave64) continue;
|
||||
Run(*device, row, guest);
|
||||
++checked;
|
||||
|
|
|
|||
Loading…
Reference in New Issue