Attempt to fix PushBuffer non-FVF issue

This commit is contained in:
Luke Usher 2018-03-08 08:56:10 +00:00
parent 29d7b38a83
commit 18839d868b
2 changed files with 3 additions and 4 deletions

View File

@ -3982,7 +3982,6 @@ static const
EmuWarning("Could not create pixel shader"); EmuWarning("Could not create pixel shader");
EmuWarning(std::string((char*)pErrors->GetBufferPointer(), pErrors->GetBufferSize()).c_str()); EmuWarning(std::string((char*)pErrors->GetBufferPointer(), pErrors->GetBufferSize()).c_str());
// We use printf instead of EmuWarning here, because EmuWarning has an upper limit which some shaders overflow...
printf(ConvertedPixelShaderStr.c_str()); printf(ConvertedPixelShaderStr.c_str());
hRet = D3DXAssembleShader( hRet = D3DXAssembleShader(

View File

@ -181,10 +181,10 @@ extern void XTL::EmuExecutePushBufferRaw
pdwPushData += dwCount; pdwPushData += dwCount;
// retrieve vertex shader // retrieve vertex shader
g_pD3DDevice8->GetVertexShader(&dwVertexShader); DWORD dwVertexShader = g_CurrentVertexShader;
if(dwVertexShader > 0xFFFF) if (VshHandleIsVertexShader(dwVertexShader))
{ {
CxbxKrnlCleanup("Non-FVF Vertex Shaders not yet supported for PushBuffer emulation!"); CxbxKrnlCleanup("Non-FVF Vertex Shaders not yet supported for PushBuffer emulation!");
dwVertexShader = 0; dwVertexShader = 0;
} }