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);
}
void RestoreRenderState(const BPCmd &bp)
{
g_renderer->RestoreAPIState();
}
bool GetConfig(const int &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 ClearScreen(const BPCmd &bp, const EFBRectangle &rc);
void OnPixelFormatChange(const BPCmd &bp);
void RestoreRenderState(const BPCmd &bp);
u8 *GetPointer(const u32 &address);
bool GetConfig(const int &type);
void SetTextureMode(const BPCmd &bp);

View File

@ -290,8 +290,6 @@ void BPWritten(const BPCmd& bp)
ClearScreen(bp, rc);
}
RestoreRenderState(bp); // TODO: Remove this call, handle this in the plugins instead
break;
}
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;
} gx_state;
bool reset_called = false;
// State translation lookup tables
static const D3D11_BLEND d3dSrcFactors[8] =
{
@ -381,8 +379,6 @@ Renderer::Renderer()
D3D::context->RSSetViewports(1, &vp);
D3D::context->OMSetRenderTargets(1, &FramebufferManager::GetEFBColorTexture()->GetRTV(), FramebufferManager::GetEFBDepthTexture()->GetDSV());
D3D::BeginFrame();
reset_called = false;
}
Renderer::~Renderer()
@ -1134,21 +1130,16 @@ void Renderer::ResetAPIState()
D3D::stateman->PushBlendState(resetblendstate);
D3D::stateman->PushDepthState(resetdepthstate);
D3D::stateman->PushRasterizerState(resetraststate);
reset_called = true;
}
void Renderer::RestoreAPIState()
{
// Gets us back into a more game-like state.
if (reset_called)
{
D3D::stateman->PopBlendState();
D3D::stateman->PopDepthState();
D3D::stateman->PopRasterizerState();
}
D3D::stateman->PopBlendState();
D3D::stateman->PopDepthState();
D3D::stateman->PopRasterizerState();
UpdateViewport();
SetScissorRect();
reset_called = false;
}
void Renderer::ApplyState(bool bUseDstAlpha)