Fixed the black (alpha) textures in the 8ing games like Tatsunoko vs Capcom and the Naruto series when using the OpenGL plug-in. Thanks to jim.lee for the tip.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6930 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
0288742565
commit
622af438f7
|
@ -197,11 +197,6 @@ skip:
|
||||||
Renderer::StorePixelFormat(new_format);
|
Renderer::StorePixelFormat(new_format);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestoreRenderState(const BPCmd &bp)
|
|
||||||
{
|
|
||||||
g_renderer->RestoreAPIState();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GetConfig(const int &type)
|
bool GetConfig(const int &type)
|
||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
|
|
|
@ -48,7 +48,6 @@ void SetColorMask(const BPCmd &bp);
|
||||||
void CopyEFB(const BPCmd &bp, const EFBRectangle &rc, const u32 &address, const bool &fromZBuffer, const bool &isIntensityFmt, const u32 ©fmt, const int &scaleByHalf);
|
void CopyEFB(const BPCmd &bp, const EFBRectangle &rc, const u32 &address, const bool &fromZBuffer, const bool &isIntensityFmt, const u32 ©fmt, const int &scaleByHalf);
|
||||||
void ClearScreen(const BPCmd &bp, const EFBRectangle &rc);
|
void ClearScreen(const BPCmd &bp, const EFBRectangle &rc);
|
||||||
void OnPixelFormatChange(const BPCmd &bp);
|
void OnPixelFormatChange(const BPCmd &bp);
|
||||||
void RestoreRenderState(const BPCmd &bp);
|
|
||||||
u8 *GetPointer(const u32 &address);
|
u8 *GetPointer(const u32 &address);
|
||||||
bool GetConfig(const int &type);
|
bool GetConfig(const int &type);
|
||||||
void SetTextureMode(const BPCmd &bp);
|
void SetTextureMode(const BPCmd &bp);
|
||||||
|
|
|
@ -290,8 +290,6 @@ void BPWritten(const BPCmd& bp)
|
||||||
ClearScreen(bp, rc);
|
ClearScreen(bp, rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
RestoreRenderState(bp); // TODO: Remove this call, handle this in the plugins instead
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case BPMEM_LOADTLUT0: // This one updates bpmem.tlutXferSrc, no need to do anything here.
|
case BPMEM_LOADTLUT0: // This one updates bpmem.tlutXferSrc, no need to do anything here.
|
||||||
|
|
|
@ -62,8 +62,6 @@ struct
|
||||||
D3D11_RASTERIZER_DESC rastdc;
|
D3D11_RASTERIZER_DESC rastdc;
|
||||||
} gx_state;
|
} gx_state;
|
||||||
|
|
||||||
bool reset_called = false;
|
|
||||||
|
|
||||||
// State translation lookup tables
|
// State translation lookup tables
|
||||||
static const D3D11_BLEND d3dSrcFactors[8] =
|
static const D3D11_BLEND d3dSrcFactors[8] =
|
||||||
{
|
{
|
||||||
|
@ -381,8 +379,6 @@ Renderer::Renderer()
|
||||||
D3D::context->RSSetViewports(1, &vp);
|
D3D::context->RSSetViewports(1, &vp);
|
||||||
D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTexture()->GetRTV(), FramebufferManager::GetEFBDepthTexture()->GetDSV());
|
D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTexture()->GetRTV(), FramebufferManager::GetEFBDepthTexture()->GetDSV());
|
||||||
D3D::BeginFrame();
|
D3D::BeginFrame();
|
||||||
|
|
||||||
reset_called = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Renderer::~Renderer()
|
Renderer::~Renderer()
|
||||||
|
@ -1134,21 +1130,16 @@ void Renderer::ResetAPIState()
|
||||||
D3D::stateman->PushBlendState(resetblendstate);
|
D3D::stateman->PushBlendState(resetblendstate);
|
||||||
D3D::stateman->PushDepthState(resetdepthstate);
|
D3D::stateman->PushDepthState(resetdepthstate);
|
||||||
D3D::stateman->PushRasterizerState(resetraststate);
|
D3D::stateman->PushRasterizerState(resetraststate);
|
||||||
reset_called = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Renderer::RestoreAPIState()
|
void Renderer::RestoreAPIState()
|
||||||
{
|
{
|
||||||
// Gets us back into a more game-like state.
|
// Gets us back into a more game-like state.
|
||||||
if (reset_called)
|
|
||||||
{
|
|
||||||
D3D::stateman->PopBlendState();
|
D3D::stateman->PopBlendState();
|
||||||
D3D::stateman->PopDepthState();
|
D3D::stateman->PopDepthState();
|
||||||
D3D::stateman->PopRasterizerState();
|
D3D::stateman->PopRasterizerState();
|
||||||
}
|
|
||||||
UpdateViewport();
|
UpdateViewport();
|
||||||
SetScissorRect();
|
SetScissorRect();
|
||||||
reset_called = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Renderer::ApplyState(bool bUseDstAlpha)
|
void Renderer::ApplyState(bool bUseDstAlpha)
|
||||||
|
|
Loading…
Reference in New Issue