...
 
Commits (4)
......@@ -3531,10 +3531,22 @@ namespace dxvk {
constexpr DWORD Fetch4Disabled = MAKEFOURCC('G', 'E', 'T', '1');
if (Type == D3DSAMP_MIPMAPLODBIAS) {
if (Value == Fetch4Enabled)
if (Value == Fetch4Enabled) {
m_fetch4Enabled |= 1u << StateSampler;
else if (Value == Fetch4Disabled)
if (state[StateSampler][D3DSAMP_MAGFILTER] == D3DTEXF_POINT)
m_fetch4 |= 1u << StateSampler;
}
else if (Value == Fetch4Disabled) {
m_fetch4Enabled &= ~(1u << StateSampler);
m_fetch4 &= ~(1u << StateSampler);
}
}
if (Type == D3DSAMP_MAGFILTER && m_fetch4Enabled & (1u << StateSampler)) {
if (Value == D3DTEXF_POINT)
m_fetch4 |= 1u << StateSampler;
else
m_fetch4 &= ~(1u << StateSampler);
}
}
......@@ -5759,7 +5771,7 @@ namespace dxvk {
const uint32_t psTextureMask = m_activeTextures & m_psShaderMasks.samplerMask;
uint32_t fetch4 = m_fetch4Enabled & psTextureMask;
uint32_t fetch4 = m_fetch4 & psTextureMask;
uint32_t projected = m_projectionBitfield & psTextureMask;
if (GetCommonShader(m_state.pixelShader)->GetInfo().majorVersion() >= 2)
......
......@@ -1048,6 +1048,7 @@ namespace dxvk {
uint32_t m_activeTexturesToGen = 0;
uint32_t m_fetch4Enabled = 0;
uint32_t m_fetch4 = 0;
uint32_t m_lastFetch4 = 0;
uint32_t m_activeHazardsDS = 0;
......
......@@ -76,8 +76,8 @@ namespace dxvk {
{ R"(\\ffxiv_dx11\.exe$)", {{
{ "d3d11.enableRtOutputNanFixup", "True" },
}} },
/* Resident Evil 2/3/7: Ignore WaW hazards */
{ R"(\\re(2|3|3demo|7|7trial)\.exe$)", {{
/* Resident Evil 2/3: Ignore WaW hazards */
{ R"(\\re(2|3|3demo)\.exe$)", {{
{ "d3d11.relaxedBarriers", "True" },
}} },
/* Devil May Cry 5 */
......@@ -205,6 +205,14 @@ namespace dxvk {
{ R"(\\Stars End\.exe$)", {{
{ "d3d11.enableRtOutputNanFixup", "True" },
}} },
/* Borderlands 3 */
{ R"(\\Borderlands3\.exe$)", {{
{ "d3d11.invariantPosition", "True" },
}} },
/* Terminator: Resistance */
{ R"(\\Terminator-Win64-Shipping\.exe$)", {{
{ "d3d11.invariantPosition", "True" },
}} },
/**********************************************/
/* D3D9 GAMES */
......