blob: db8640de08f2d34f3a4e350ae7221b297cd4f918 [file] [log] [blame]
// Copyright 2024 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "config_query.h"
#include <cstdlib>
#include "src/graphics/tests/common/vulkan_context.h"
#include "src/graphics/tests/vkext/config.h"
config::Config& GetConfig() {
static auto config = config::Config::TakeFromStartupHandle();
return config;
}
std::optional<uint32_t> GetGpuVendorId() {
auto& c = GetConfig();
uint32_t vendor_id_int = c.gpu_vendor_id();
if (vendor_id_int != 0) {
return std::optional<uint32_t>{vendor_id_int};
}
return std::optional<uint32_t>{};
}
bool SupportsSysmemYuv() {
auto& c = GetConfig();
return c.support_sysmem_yuv();
}
bool SupportsSysmemRenderableLinear() { return GetConfig().support_sysmem_renderable_linear(); }
bool SupportsSysmemLinearNonRgba() { return GetConfig().support_sysmem_linear_nonrgba(); }
bool SupportsProtectedMemory() { return GetConfig().support_protected_memory(); }
std::string DisabledTestPattern() { return GetConfig().disabled_test_pattern(); }