Ensure shader has been created before setting it in SetVertexShader
This commit is contained in:
parent
79102c6ef8
commit
176dc9a38c
|
@ -1471,6 +1471,7 @@ void CxbxImpl_SetVertexShader(DWORD Handle)
|
|||
|
||||
if (VshHandleIsVertexShader(Handle)) {
|
||||
CxbxVertexShader* pCxbxVertexShader = GetCxbxVertexShader(Handle);
|
||||
if (pCxbxVertexShader) {
|
||||
SetCxbxVertexShaderHandle(pCxbxVertexShader);
|
||||
|
||||
auto CxbxVertexShaderSlotPtr = GetCxbxVertexShaderSlotPtr(g_CxbxVertexShaderSlotAddress);
|
||||
|
@ -1480,6 +1481,10 @@ void CxbxImpl_SetVertexShader(DWORD Handle)
|
|||
memcpy(CxbxVertexShaderSlotPtr, pTokens, pCxbxVertexShader->XboxNrAddressSlots * X_VSH_INSTRUCTION_SIZE_BYTES);
|
||||
}
|
||||
}
|
||||
else {
|
||||
EmuLog(LOG_LEVEL::DEBUG, "SetVertexShader with shader handle that has not been created");
|
||||
}
|
||||
}
|
||||
else {
|
||||
hRet = g_pD3DDevice->SetVertexShader(nullptr);
|
||||
DEBUG_D3DRESULT(hRet, "g_pD3DDevice->SetVertexShader");
|
||||
|
|
Loading…
Reference in New Issue