mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 12:42:34 +01:00
71 lines
1.3 KiB
C
71 lines
1.3 KiB
C
/*
|
|
* Copyright 2011-2026 Branimir Karadzic. All rights reserved.
|
|
* License: http://www.opensource.org/licenses/BSD-2-Clause
|
|
*/
|
|
|
|
#include <bgfx/bgfx.h>
|
|
#include <bx/commandline.h>
|
|
|
|
///
|
|
struct Args
|
|
{
|
|
Args(int _argc, const char* const* _argv)
|
|
: m_type(bgfx::RendererType::Count)
|
|
, m_pciId(BGFX_PCI_ID_NONE)
|
|
{
|
|
bx::CommandLine cmdLine(_argc, (const char**)_argv);
|
|
|
|
if (cmdLine.hasArg("gl") )
|
|
{
|
|
m_type = bgfx::RendererType::OpenGL;
|
|
}
|
|
else if (cmdLine.hasArg("vk") )
|
|
{
|
|
m_type = bgfx::RendererType::Vulkan;
|
|
}
|
|
else if (cmdLine.hasArg("wgpu") )
|
|
{
|
|
m_type = bgfx::RendererType::WebGPU;
|
|
}
|
|
else if (cmdLine.hasArg("noop") )
|
|
{
|
|
m_type = bgfx::RendererType::Noop;
|
|
}
|
|
else if (cmdLine.hasArg("d3d11") )
|
|
{
|
|
m_type = bgfx::RendererType::Direct3D11;
|
|
}
|
|
else if (cmdLine.hasArg("d3d12") )
|
|
{
|
|
m_type = bgfx::RendererType::Direct3D12;
|
|
}
|
|
else if (BX_ENABLED(BX_PLATFORM_OSX) )
|
|
{
|
|
if (cmdLine.hasArg("mtl") )
|
|
{
|
|
m_type = bgfx::RendererType::Metal;
|
|
}
|
|
}
|
|
|
|
if (cmdLine.hasArg("amd") )
|
|
{
|
|
m_pciId = BGFX_PCI_ID_AMD;
|
|
}
|
|
else if (cmdLine.hasArg("nvidia") )
|
|
{
|
|
m_pciId = BGFX_PCI_ID_NVIDIA;
|
|
}
|
|
else if (cmdLine.hasArg("intel") )
|
|
{
|
|
m_pciId = BGFX_PCI_ID_INTEL;
|
|
}
|
|
else if (cmdLine.hasArg("sw") )
|
|
{
|
|
m_pciId = BGFX_PCI_ID_SOFTWARE_RASTERIZER;
|
|
}
|
|
}
|
|
|
|
bgfx::RendererType::Enum m_type;
|
|
uint16_t m_pciId;
|
|
};
|