mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[dxso] Bias FETCH4 half-texel offset to avoid grid effect
This commit is contained in:
parent
2cac70fbb6
commit
12356d7342
@ -3110,7 +3110,12 @@ void DxsoCompiler::emitControlFlowGenericLoop(
|
||||
|
||||
textureSize.type = { DxsoScalarType::Float32, samplerInfo.dimensions };
|
||||
textureSize.id = m_module.opConvertStoF(getVectorTypeId(textureSize.type), textureSize.id);
|
||||
textureSize.id = m_module.opFDiv(getVectorTypeId(textureSize.type), m_module.constfReplicant(1.0f, samplerInfo.dimensions), textureSize.id);
|
||||
// HACK: Bias fetch4 half-texel offset to avoid a "grid" effect.
|
||||
// Technically we should only do that for non-powers of two
|
||||
// as only then does the imprecision need to be biased
|
||||
// towards infinity -- but that's not really worth doing...
|
||||
float numerator = 1.0f - 1.0f / 256.0f;
|
||||
textureSize.id = m_module.opFDiv(getVectorTypeId(textureSize.type), m_module.constfReplicant(numerator, samplerInfo.dimensions), textureSize.id);
|
||||
|
||||
// coord => same dimensions as texture size (no cube here !)
|
||||
const std::array<uint32_t, 4> naturalIndices = { 0, 1, 2, 3 };
|
||||
|
Loading…
x
Reference in New Issue
Block a user