Compare commits

...

2 Commits

Author SHA1 Message Date
lightningterror
c484cf286c GS/DX11: Don't unbind shader resource if depth stencil view is read only.
We don't need to unbind conflicting srv with dsv if the dsv itself is read only, it is used for depth testing and both can be bind at the same time.

Avoids re binding srv using a read only dsv.
2025-11-24 16:08:50 +01:00
PCSX2 Bot
f8882c4da6 [ci skip] Qt: Update Base Translation. 2025-11-22 06:31:36 +01:00
2 changed files with 15 additions and 15 deletions

View File

@@ -25,32 +25,32 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../AboutDialog.cpp" line="51"/>
<location filename="../AboutDialog.cpp" line="52"/>
<source>Website</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../AboutDialog.cpp" line="53"/>
<location filename="../AboutDialog.cpp" line="54"/>
<source>Support Forums</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../AboutDialog.cpp" line="55"/>
<location filename="../AboutDialog.cpp" line="56"/>
<source>GitHub Repository</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../AboutDialog.cpp" line="57"/>
<location filename="../AboutDialog.cpp" line="58"/>
<source>License</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../AboutDialog.cpp" line="59"/>
<location filename="../AboutDialog.cpp" line="60"/>
<source>Third-Party Licenses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../AboutDialog.cpp" line="119"/>
<location filename="../AboutDialog.cpp" line="120"/>
<source>View Document</source>
<translation type="unfinished"></translation>
</message>
@@ -21029,12 +21029,12 @@ Ejecting {3} and replacing it with {2}.</source>
<context>
<name>Pcsx2Config</name>
<message>
<location filename="../../pcsx2/Pcsx2Config.cpp" line="1159"/>
<location filename="../../pcsx2/Pcsx2Config.cpp" line="1160"/>
<source>Disabled (Noisy)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Pcsx2Config.cpp" line="1160"/>
<location filename="../../pcsx2/Pcsx2Config.cpp" line="1161"/>
<source>TimeStretch (Recommended)</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -2447,7 +2447,7 @@ void GSDevice11::PSUnbindConflictingSRVs(GSTexture* tex1, GSTexture* tex2)
bool changed = false;
for (size_t i = 0; i < m_state.ps_sr_views.size(); i++)
{
if ((tex1 && m_state.ps_sr_views[i] == *(GSTexture11*)tex1) || (tex2 && m_state.ps_sr_views[i] == *(GSTexture11*)tex2))
if ((tex1 && m_state.ps_sr_views[i] == *static_cast<GSTexture11*>(tex1)) || (tex2 && m_state.ps_sr_views[i] == *static_cast<GSTexture11*>(tex2)))
{
m_state.ps_sr_views[i] = nullptr;
changed = true;
@@ -2697,8 +2697,13 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config)
}
IASetPrimitiveTopology(topology);
// Depth testing and sampling, bind resource as dsv read only and srv at the same time without the need of a copy.
ID3D11DepthStencilView* read_only_dsv = nullptr;
if (config.tex && config.tex == config.ds)
read_only_dsv = static_cast<GSTexture11*>(config.ds)->ReadOnlyDepthStencilView();
// Should be called before changing local srv state.
PSUnbindConflictingSRVs(colclip_rt ? colclip_rt : config.rt, config.ds);
PSUnbindConflictingSRVs(colclip_rt ? colclip_rt : config.rt, read_only_dsv ? nullptr : config.ds);
if (config.tex)
{
@@ -2714,11 +2719,6 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config)
SetupVS(config.vs, &config.cb_vs);
SetupPS(config.ps, &config.cb_ps, config.sampler);
// Depth testing and sampling, bind resource as dsv read only and srv at the same time without the need of a copy.
ID3D11DepthStencilView* read_only_dsv = nullptr;
if (config.tex && config.tex == config.ds)
read_only_dsv = static_cast<GSTexture11*>(config.ds)->ReadOnlyDepthStencilView();
if (primid_texture)
{
OMDepthStencilSelector dss = config.depth;