mirror of
https://github.com/Niko1221/Strata.git
synced 2026-11-08 08:12:16 -10:00
25 lines
1.2 KiB
C++
25 lines
1.2 KiB
C++
// tools/vision/gpu_arch_test.cpp - the HIP picture reader's architecture check (gpu_arch.h) without a GPU. Exit 0 = passed.
|
|
#include "gpu_arch.h"
|
|
|
|
#include <cstdio>
|
|
|
|
static int bad = 0;
|
|
#define CHECK(c) do { if (!(c)) { std::printf("FAIL line %d: %s\n", __LINE__, #c); ++bad; } } while (0)
|
|
|
|
int main() {
|
|
CHECK(strata_gfx_in(" Device 0: AMD Radeon RX 9070 XT, gfx1201:sramecc-:xnack- (0x1201), VMM: no, Wave Size: 32") == "gfx1201");
|
|
CHECK(strata_gfx_in(" Device 0: AMD Radeon Graphics, gfx1151 (0x1151)") == "gfx1151");
|
|
CHECK(strata_gfx_in(" Device 0: gfx, nothing after it") == "");
|
|
CHECK(strata_gfx_in("no architecture here") == "");
|
|
CHECK(strata_arch_listed("gfx1200,gfx1201", "gfx1201"));
|
|
CHECK(strata_arch_listed("gfx1200;gfx1201", "gfx1200"));
|
|
CHECK(strata_arch_listed("gfx1100", "gfx1100"));
|
|
CHECK(!strata_arch_listed("gfx1200,gfx1201", "gfx1100"));
|
|
CHECK(!strata_arch_listed("gfx1100", "gfx110")); // a prefix is not an architecture
|
|
CHECK(!strata_arch_listed("gfx1100", "gfx11000"));
|
|
CHECK(!strata_arch_listed("", "gfx1100"));
|
|
CHECK(!strata_arch_listed("gfx1100", ""));
|
|
std::printf(bad ? "gpu_arch_test: %d FAILED\n" : "gpu_arch_test: ok\n", bad);
|
|
return bad ? 1 : 0;
|
|
}
|