[d3d9] Add an config option to disable non seamless cube maps.

This commit is contained in:
Georg Lehmann 2022-07-05 17:24:46 +02:00 committed by Philip Rebohle
parent b40a4286e4
commit 96b3897fd9
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
4 changed files with 15 additions and 1 deletions

View File

@ -548,6 +548,16 @@
# d3d9.apitraceMode = False
# Seamless Cubes
#
# Don't use non seamless cube maps even if they are supported.
# Non seamless cubes are correct d3d9 behavior, but can produce worse looking edges.
#
# Supported values:
# - True/False
# d3d9.seamlessCubes = False
# Debug Utils
#
# Enables debug utils as this is off by default, this enables user annotations like BeginEvent()/EndEvent().

View File

@ -5954,7 +5954,7 @@ namespace dxvk {
info.mipmapLodMin = mipFilter.MipsEnabled ? float(cKey.MaxMipLevel) : 0;
info.mipmapLodMax = mipFilter.MipsEnabled ? FLT_MAX : 0;
info.usePixelCoord = VK_FALSE;
info.nonSeamless = m_dxvkDevice->features().extNonSeamlessCubeMap.nonSeamlessCubeMap;
info.nonSeamless = m_dxvkDevice->features().extNonSeamlessCubeMap.nonSeamlessCubeMap && !m_d3d9Options.seamlessCubes;
DecodeD3DCOLOR(cKey.BorderColor, info.borderColor.float32);

View File

@ -73,6 +73,7 @@ namespace dxvk {
this->apitraceMode = config.getOption<bool> ("d3d9.apitraceMode", false);
this->deviceLocalConstantBuffers = config.getOption<bool> ("d3d9.deviceLocalConstantBuffers", false);
this->allowDirectBufferMapping = config.getOption<bool> ("d3d9.allowDirectBufferMapping", true);
this->seamlessCubes = config.getOption<bool> ("d3d9.seamlessCubes", false);
// If we are not Nvidia, enable general hazards.
this->generalHazards = adapter != nullptr

View File

@ -157,6 +157,9 @@ namespace dxvk {
/// Disable direct buffer mapping
bool allowDirectBufferMapping;
/// Don't use non seamless cube maps
bool seamlessCubes;
};
}