mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
VideoCommon: Move backend_info out of VideoConfig struct.
This commit is contained in:
@ -75,68 +75,67 @@ void VideoBackend::InitBackendInfo(const WindowSystemInfo& wsi)
|
||||
|
||||
void VideoBackend::FillBackendInfo()
|
||||
{
|
||||
g_Config.backend_info.api_type = APIType::D3D;
|
||||
g_Config.backend_info.MaxTextureSize = D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION;
|
||||
g_Config.backend_info.bUsesLowerLeftOrigin = false;
|
||||
g_Config.backend_info.bSupportsExclusiveFullscreen = true;
|
||||
g_Config.backend_info.bSupportsDualSourceBlend = true;
|
||||
g_Config.backend_info.bSupportsPrimitiveRestart = true;
|
||||
g_Config.backend_info.bSupportsGeometryShaders = true;
|
||||
g_Config.backend_info.bSupportsComputeShaders = false;
|
||||
g_Config.backend_info.bSupports3DVision = true;
|
||||
g_Config.backend_info.bSupportsPostProcessing = true;
|
||||
g_Config.backend_info.bSupportsPaletteConversion = true;
|
||||
g_Config.backend_info.bSupportsClipControl = true;
|
||||
g_Config.backend_info.bSupportsDepthClamp = true;
|
||||
g_Config.backend_info.bSupportsReversedDepthRange = false;
|
||||
g_Config.backend_info.bSupportsMultithreading = false;
|
||||
g_Config.backend_info.bSupportsGPUTextureDecoding = true;
|
||||
g_Config.backend_info.bSupportsCopyToVram = true;
|
||||
g_Config.backend_info.bSupportsLargePoints = false;
|
||||
g_Config.backend_info.bSupportsDepthReadback = true;
|
||||
g_Config.backend_info.bSupportsPartialDepthCopies = false;
|
||||
g_Config.backend_info.bSupportsBitfield = false;
|
||||
g_Config.backend_info.bSupportsDynamicSamplerIndexing = false;
|
||||
g_Config.backend_info.bSupportsFramebufferFetch = false;
|
||||
g_Config.backend_info.bSupportsBackgroundCompiling = true;
|
||||
g_Config.backend_info.bSupportsST3CTextures = true;
|
||||
g_Config.backend_info.bSupportsBPTCTextures = true;
|
||||
g_Config.backend_info.bSupportsEarlyZ = true;
|
||||
g_Config.backend_info.bSupportsBBox = true;
|
||||
g_Config.backend_info.bSupportsFragmentStoresAndAtomics = true;
|
||||
g_Config.backend_info.bSupportsGSInstancing = true;
|
||||
g_Config.backend_info.bSupportsSSAA = true;
|
||||
g_Config.backend_info.bSupportsShaderBinaries = true;
|
||||
g_Config.backend_info.bSupportsPipelineCacheData = false;
|
||||
g_Config.backend_info.bSupportsCoarseDerivatives = true;
|
||||
g_Config.backend_info.bSupportsTextureQueryLevels = true;
|
||||
g_Config.backend_info.bSupportsLodBiasInSampler = true;
|
||||
g_Config.backend_info.bSupportsLogicOp = D3D::SupportsLogicOp(g_Config.iAdapter);
|
||||
g_Config.backend_info.bSupportsSettingObjectNames = true;
|
||||
g_Config.backend_info.bSupportsPartialMultisampleResolve = true;
|
||||
g_Config.backend_info.bSupportsDynamicVertexLoader = false;
|
||||
g_Config.backend_info.bSupportsHDROutput = true;
|
||||
g_backend_info.api_type = APIType::D3D;
|
||||
g_backend_info.MaxTextureSize = D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION;
|
||||
g_backend_info.bUsesLowerLeftOrigin = false;
|
||||
g_backend_info.bSupportsExclusiveFullscreen = true;
|
||||
g_backend_info.bSupportsDualSourceBlend = true;
|
||||
g_backend_info.bSupportsPrimitiveRestart = true;
|
||||
g_backend_info.bSupportsGeometryShaders = true;
|
||||
g_backend_info.bSupportsComputeShaders = false;
|
||||
g_backend_info.bSupports3DVision = true;
|
||||
g_backend_info.bSupportsPostProcessing = true;
|
||||
g_backend_info.bSupportsPaletteConversion = true;
|
||||
g_backend_info.bSupportsClipControl = true;
|
||||
g_backend_info.bSupportsDepthClamp = true;
|
||||
g_backend_info.bSupportsReversedDepthRange = false;
|
||||
g_backend_info.bSupportsMultithreading = false;
|
||||
g_backend_info.bSupportsGPUTextureDecoding = true;
|
||||
g_backend_info.bSupportsCopyToVram = true;
|
||||
g_backend_info.bSupportsLargePoints = false;
|
||||
g_backend_info.bSupportsDepthReadback = true;
|
||||
g_backend_info.bSupportsPartialDepthCopies = false;
|
||||
g_backend_info.bSupportsBitfield = false;
|
||||
g_backend_info.bSupportsDynamicSamplerIndexing = false;
|
||||
g_backend_info.bSupportsFramebufferFetch = false;
|
||||
g_backend_info.bSupportsBackgroundCompiling = true;
|
||||
g_backend_info.bSupportsST3CTextures = true;
|
||||
g_backend_info.bSupportsBPTCTextures = true;
|
||||
g_backend_info.bSupportsEarlyZ = true;
|
||||
g_backend_info.bSupportsBBox = true;
|
||||
g_backend_info.bSupportsFragmentStoresAndAtomics = true;
|
||||
g_backend_info.bSupportsGSInstancing = true;
|
||||
g_backend_info.bSupportsSSAA = true;
|
||||
g_backend_info.bSupportsShaderBinaries = true;
|
||||
g_backend_info.bSupportsPipelineCacheData = false;
|
||||
g_backend_info.bSupportsCoarseDerivatives = true;
|
||||
g_backend_info.bSupportsTextureQueryLevels = true;
|
||||
g_backend_info.bSupportsLodBiasInSampler = true;
|
||||
g_backend_info.bSupportsLogicOp = D3D::SupportsLogicOp(g_Config.iAdapter);
|
||||
g_backend_info.bSupportsSettingObjectNames = true;
|
||||
g_backend_info.bSupportsPartialMultisampleResolve = true;
|
||||
g_backend_info.bSupportsDynamicVertexLoader = false;
|
||||
g_backend_info.bSupportsHDROutput = true;
|
||||
|
||||
g_Config.backend_info.Adapters = D3DCommon::GetAdapterNames();
|
||||
g_Config.backend_info.AAModes = D3D::GetAAModes(g_Config.iAdapter);
|
||||
g_backend_info.Adapters = D3DCommon::GetAdapterNames();
|
||||
g_backend_info.AAModes = D3D::GetAAModes(g_Config.iAdapter);
|
||||
|
||||
// Override optional features if we are actually booting.
|
||||
if (D3D::device)
|
||||
{
|
||||
g_Config.backend_info.bSupportsST3CTextures =
|
||||
D3D::SupportsTextureFormat(DXGI_FORMAT_BC1_UNORM) &&
|
||||
D3D::SupportsTextureFormat(DXGI_FORMAT_BC2_UNORM) &&
|
||||
D3D::SupportsTextureFormat(DXGI_FORMAT_BC3_UNORM);
|
||||
g_Config.backend_info.bSupportsBPTCTextures = D3D::SupportsTextureFormat(DXGI_FORMAT_BC7_UNORM);
|
||||
g_backend_info.bSupportsST3CTextures = D3D::SupportsTextureFormat(DXGI_FORMAT_BC1_UNORM) &&
|
||||
D3D::SupportsTextureFormat(DXGI_FORMAT_BC2_UNORM) &&
|
||||
D3D::SupportsTextureFormat(DXGI_FORMAT_BC3_UNORM);
|
||||
g_backend_info.bSupportsBPTCTextures = D3D::SupportsTextureFormat(DXGI_FORMAT_BC7_UNORM);
|
||||
|
||||
// Features only supported with a FL11.0+ device.
|
||||
const bool shader_model_5_supported = D3D::feature_level >= D3D_FEATURE_LEVEL_11_0;
|
||||
g_Config.backend_info.bSupportsEarlyZ = shader_model_5_supported;
|
||||
g_Config.backend_info.bSupportsBBox = shader_model_5_supported;
|
||||
g_Config.backend_info.bSupportsFragmentStoresAndAtomics = shader_model_5_supported;
|
||||
g_Config.backend_info.bSupportsGSInstancing = shader_model_5_supported;
|
||||
g_Config.backend_info.bSupportsSSAA = shader_model_5_supported;
|
||||
g_Config.backend_info.bSupportsGPUTextureDecoding = shader_model_5_supported;
|
||||
g_backend_info.bSupportsEarlyZ = shader_model_5_supported;
|
||||
g_backend_info.bSupportsBBox = shader_model_5_supported;
|
||||
g_backend_info.bSupportsFragmentStoresAndAtomics = shader_model_5_supported;
|
||||
g_backend_info.bSupportsGSInstancing = shader_model_5_supported;
|
||||
g_backend_info.bSupportsSSAA = shader_model_5_supported;
|
||||
g_backend_info.bSupportsGPUTextureDecoding = shader_model_5_supported;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user