mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-31 14:52:11 +01:00
[d3d9] implement 'clampNegativeLodBias' as a conf option
This commit is contained in:
parent
5d134b877a
commit
3fce9886f5
@ -191,6 +191,15 @@
|
||||
# d3d11.samplerLodBias = 0.0
|
||||
# d3d9.samplerLodBias = 0.0
|
||||
|
||||
|
||||
# Clamps any negative LOD bias to 0. Applies after samplerLodBias has been
|
||||
# applied. May help with games that use a high negative LOD bias by default.
|
||||
#
|
||||
# Supported values: True, False
|
||||
|
||||
# d3d9.clampNegativeLodBias = False
|
||||
|
||||
|
||||
# Declares vertex positions as invariant in order to solve
|
||||
# potential Z-fighting issues at a small performance cost.
|
||||
#
|
||||
|
@ -6243,7 +6243,11 @@ namespace dxvk {
|
||||
info.mipmapMode = mipFilter.MipFilter;
|
||||
info.maxAnisotropy = float(cKey.MaxAnisotropy);
|
||||
info.useAnisotropy = cKey.MaxAnisotropy > 1;
|
||||
|
||||
info.mipmapLodBias = cKey.MipmapLodBias + m_d3d9Options.samplerLodBias;
|
||||
if (m_d3d9Options.clampNegativeLodBias)
|
||||
info.mipmapLodBias = std::max(info.mipmapLodBias, 0.0f);
|
||||
|
||||
info.mipmapLodMin = mipFilter.MipsEnabled ? float(cKey.MaxMipLevel) : 0;
|
||||
info.mipmapLodMax = mipFilter.MipsEnabled ? FLT_MAX : 0;
|
||||
info.reductionMode = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE;
|
||||
|
@ -75,6 +75,7 @@ namespace dxvk {
|
||||
this->textureMemory = config.getOption<int32_t> ("d3d9.textureMemory", 100) << 20;
|
||||
this->deviceLossOnFocusLoss = config.getOption<bool> ("d3d9.deviceLossOnFocusLoss", false);
|
||||
this->samplerLodBias = config.getOption<float> ("d3d9.samplerLodBias", 0.0f);
|
||||
this->clampNegativeLodBias = config.getOption<bool> ("d3d9.clampNegativeLodBias", false);
|
||||
|
||||
// Clamp LOD bias so that people don't abuse this in unintended ways
|
||||
this->samplerLodBias = dxvk::fclamp(this->samplerLodBias, -2.0f, 1.0f);
|
||||
|
@ -141,6 +141,9 @@ namespace dxvk {
|
||||
/// Enforces the given LOD bias for all samplers.
|
||||
float samplerLodBias;
|
||||
|
||||
/// Clamps negative LOD bias
|
||||
bool clampNegativeLodBias;
|
||||
|
||||
/// How much virtual memory will be used for textures (in MB).
|
||||
int32_t textureMemory;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user