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:
skidau 2011-01-27 10:17:13 +00:00
parent 0288742565
commit 622af438f7
4 changed files with 3 additions and 20 deletions

View File

@ -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)

View File

@ -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 &copyfmt, const int &scaleByHalf); void CopyEFB(const BPCmd &bp, const EFBRectangle &rc, const u32 &address, const bool &fromZBuffer, const bool &isIntensityFmt, const u32 &copyfmt, 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);

View File

@ -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.

View File

@ -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)