mirror of https://github.com/PCSX2/pcsx2.git
GS-hw: Rename clr_hw to blend_hw PSSampler bit.
This commit is contained in:
parent
62497b9300
commit
a6c372de46
|
@ -328,7 +328,7 @@ struct alignas(16) GSHWDrawConfig
|
|||
u32 blend_c : 2;
|
||||
u32 blend_d : 2;
|
||||
u32 fixed_one_a : 1;
|
||||
u32 clr_hw : 3;
|
||||
u32 blend_hw : 3;
|
||||
u32 hdr : 1;
|
||||
u32 colclip : 1;
|
||||
u32 blend_mix : 2;
|
||||
|
|
|
@ -152,7 +152,7 @@ void GSDevice11::SetupPS(const PSSelector& sel, const GSHWDrawConfig::PSConstant
|
|||
sm.AddMacro("PS_ATST", sel.atst);
|
||||
sm.AddMacro("PS_FOG", sel.fog);
|
||||
sm.AddMacro("PS_IIP", sel.iip);
|
||||
sm.AddMacro("PS_BLEND_HW", sel.clr_hw);
|
||||
sm.AddMacro("PS_BLEND_HW", sel.blend_hw);
|
||||
sm.AddMacro("PS_FBA", sel.fba);
|
||||
sm.AddMacro("PS_FBMASK", sel.fbmask);
|
||||
sm.AddMacro("PS_LTF", sel.ltf);
|
||||
|
|
|
@ -1613,7 +1613,7 @@ const ID3DBlob* GSDevice12::GetTFXPixelShader(const GSHWDrawConfig::PSSelector&
|
|||
sm.AddMacro("PS_ATST", sel.atst);
|
||||
sm.AddMacro("PS_FOG", sel.fog);
|
||||
sm.AddMacro("PS_IIP", sel.iip);
|
||||
sm.AddMacro("PS_BLEND_HW", sel.clr_hw);
|
||||
sm.AddMacro("PS_BLEND_HW", sel.blend_hw);
|
||||
sm.AddMacro("PS_FBA", sel.fba);
|
||||
sm.AddMacro("PS_FBMASK", sel.fbmask);
|
||||
sm.AddMacro("PS_LTF", sel.ltf);
|
||||
|
|
|
@ -3125,8 +3125,8 @@ void GSRendererHW::EmulateBlending(bool& DATE_PRIMID, bool& DATE_BARRIER, bool&
|
|||
// As - 1 or F - 1 subtraction is only done for the dual source output (hw blending part) since we are changing the equation.
|
||||
// Af will be replaced with As in shader and send it to dual source output.
|
||||
m_conf.blend = {true, GSDevice::CONST_ONE, GSDevice::SRC1_COLOR, GSDevice::OP_SUBTRACT, false, 0};
|
||||
// clr_hw 1 will disable alpha clamp, we can reuse the old bits.
|
||||
m_conf.ps.clr_hw = 1;
|
||||
// blend hw 1 will disable alpha clamp, we can reuse the old bits.
|
||||
m_conf.ps.blend_hw = 1;
|
||||
// DSB output will always be used.
|
||||
m_conf.ps.no_color1 = false;
|
||||
}
|
||||
|
@ -3134,7 +3134,7 @@ void GSRendererHW::EmulateBlending(bool& DATE_PRIMID, bool& DATE_BARRIER, bool&
|
|||
{
|
||||
// Compensate slightly for Cd*(As + 1) - Cs*As.
|
||||
// Try to compensate a bit with subtracting 1 (0.00392) * (Alpha + 1) from Cs.
|
||||
m_conf.ps.clr_hw = blend_ad_alpha_masked ? 4 : 2;
|
||||
m_conf.ps.blend_hw = blend_ad_alpha_masked ? 4 : 2;
|
||||
}
|
||||
|
||||
m_conf.ps.blend_a = 0;
|
||||
|
@ -3146,7 +3146,7 @@ void GSRendererHW::EmulateBlending(bool& DATE_PRIMID, bool& DATE_BARRIER, bool&
|
|||
// Allow to compensate when Cs*(Alpha + 1) overflows, to compensate we change
|
||||
// the alpha output value for Cd*Alpha.
|
||||
m_conf.blend = {true, GSDevice::CONST_ONE, GSDevice::SRC1_COLOR, blend.op, false, 0};
|
||||
m_conf.ps.clr_hw = blend_ad_alpha_masked ? 5 : 3;
|
||||
m_conf.ps.blend_hw = blend_ad_alpha_masked ? 5 : 3;
|
||||
m_conf.ps.no_color1 = false;
|
||||
|
||||
m_conf.ps.blend_a = 0;
|
||||
|
@ -3166,8 +3166,8 @@ void GSRendererHW::EmulateBlending(bool& DATE_PRIMID, bool& DATE_BARRIER, bool&
|
|||
m_conf.require_one_barrier |= true;
|
||||
// Swap Ad with As for hw blend
|
||||
// Check if blend mix 1 or 2 already enabled clr
|
||||
if (m_conf.ps.clr_hw == 0)
|
||||
m_conf.ps.clr_hw = 6;
|
||||
if (m_conf.ps.blend_hw == 0)
|
||||
m_conf.ps.blend_hw = 6;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -3194,35 +3194,35 @@ void GSRendererHW::EmulateBlending(bool& DATE_PRIMID, bool& DATE_BARRIER, bool&
|
|||
m_conf.ps.blend_b = 0;
|
||||
m_conf.ps.blend_d = 0;
|
||||
|
||||
// Care for clr_hw value, 6 is for hw/sw, sw blending used.
|
||||
// Care for hw blend value, 6 is for hw/sw, sw blending used.
|
||||
if (blend_flag & BLEND_C_CLR1)
|
||||
{
|
||||
if (blend_ad_alpha_masked)
|
||||
m_conf.ps.clr_hw = 5;
|
||||
m_conf.ps.blend_hw = 5;
|
||||
else
|
||||
m_conf.ps.clr_hw = 1;
|
||||
m_conf.ps.blend_hw = 1;
|
||||
}
|
||||
else if (blend_flag & (BLEND_C_CLR2_AS | BLEND_C_CLR2_AF))
|
||||
{
|
||||
if (blend_ad_alpha_masked)
|
||||
{
|
||||
m_conf.ps.clr_hw = 4;
|
||||
m_conf.ps.blend_hw = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_conf.ps.blend_c == 2)
|
||||
m_conf.cb_ps.TA_MaxDepth_Af.a = static_cast<float>(AFIX) / 128.0f;
|
||||
|
||||
m_conf.ps.clr_hw = 2;
|
||||
m_conf.ps.blend_hw = 2;
|
||||
}
|
||||
}
|
||||
else if (blend_flag & BLEND_C_CLR3)
|
||||
{
|
||||
m_conf.ps.clr_hw = 3;
|
||||
m_conf.ps.blend_hw = 3;
|
||||
}
|
||||
else if (blend_ad_alpha_masked)
|
||||
{
|
||||
m_conf.ps.clr_hw = 6;
|
||||
m_conf.ps.blend_hw = 6;
|
||||
}
|
||||
|
||||
m_conf.require_one_barrier |= blend_ad_alpha_masked;
|
||||
|
|
|
@ -1387,7 +1387,7 @@ void GSDeviceMTL::MRESetHWPipelineState(GSHWDrawConfig::VSSelector vssel, GSHWDr
|
|||
setFnConstantI(m_fn_constants, pssel.blend_b, GSMTLConstantIndex_PS_BLEND_B);
|
||||
setFnConstantI(m_fn_constants, pssel.blend_c, GSMTLConstantIndex_PS_BLEND_C);
|
||||
setFnConstantI(m_fn_constants, pssel.blend_d, GSMTLConstantIndex_PS_BLEND_D);
|
||||
setFnConstantI(m_fn_constants, pssel.clr_hw, GSMTLConstantIndex_PS_BLEND_HW);
|
||||
setFnConstantI(m_fn_constants, pssel.blend_hw, GSMTLConstantIndex_PS_BLEND_HW);
|
||||
setFnConstantB(m_fn_constants, pssel.hdr, GSMTLConstantIndex_PS_HDR);
|
||||
setFnConstantB(m_fn_constants, pssel.colclip, GSMTLConstantIndex_PS_COLCLIP);
|
||||
setFnConstantI(m_fn_constants, pssel.blend_mix, GSMTLConstantIndex_PS_BLEND_MIX);
|
||||
|
|
|
@ -1044,7 +1044,7 @@ std::string GSDeviceOGL::GetPSSource(const PSSelector& sel)
|
|||
+ fmt::format("#define PS_TCC {}\n", sel.tcc)
|
||||
+ fmt::format("#define PS_ATST {}\n", sel.atst)
|
||||
+ fmt::format("#define PS_FOG {}\n", sel.fog)
|
||||
+ fmt::format("#define PS_BLEND_HW {}\n", sel.clr_hw)
|
||||
+ fmt::format("#define PS_BLEND_HW {}\n", sel.blend_hw)
|
||||
+ fmt::format("#define PS_FBA {}\n", sel.fba)
|
||||
+ fmt::format("#define PS_LTF {}\n", sel.ltf)
|
||||
+ fmt::format("#define PS_AUTOMATIC_LOD {}\n", sel.automatic_lod)
|
||||
|
|
|
@ -2076,7 +2076,7 @@ VkShaderModule GSDeviceVK::GetTFXFragmentShader(const GSHWDrawConfig::PSSelector
|
|||
AddMacro(ss, "PS_TCC", sel.tcc);
|
||||
AddMacro(ss, "PS_ATST", sel.atst);
|
||||
AddMacro(ss, "PS_FOG", sel.fog);
|
||||
AddMacro(ss, "PS_BLEND_HW", sel.clr_hw);
|
||||
AddMacro(ss, "PS_BLEND_HW", sel.blend_hw);
|
||||
AddMacro(ss, "PS_FBA", sel.fba);
|
||||
AddMacro(ss, "PS_LTF", sel.ltf);
|
||||
AddMacro(ss, "PS_AUTOMATIC_LOD", sel.automatic_lod);
|
||||
|
|
Loading…
Reference in New Issue