Move D3DDevice_SetVertexShader implementation to XbVertexShader.cpp
This commit is contained in:
parent
ea5f494a8e
commit
5a222185a3
|
@ -6664,29 +6664,7 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexShader)
|
|||
{
|
||||
LOG_FUNC_ONE_ARG(Handle);
|
||||
|
||||
// Checks if the Handle has bit 0 set - if not, it's a FVF
|
||||
// which is converted to a global Xbox Vertex Shader struct
|
||||
// Otherwise bit 0 is cleared and the resulting address is
|
||||
// validated to be a valid Xbox Vertex Shader
|
||||
// D3D state fields are updated.
|
||||
// If the shader contains a program, the handle is passed to
|
||||
// D3DDevice_LoadVertexShader and D3DDevice_SelectVertexShader.
|
||||
// Otherwise the shader is send using push buffer commands.
|
||||
|
||||
HRESULT hRet = D3D_OK;
|
||||
|
||||
g_Xbox_VertexShader_Handle = Handle;
|
||||
|
||||
if (VshHandleIsVertexShader(Handle)) {
|
||||
CxbxVertexShader *pCxbxVertexShader = GetCxbxVertexShader(Handle);
|
||||
SetCxbxVertexShader(pCxbxVertexShader);
|
||||
|
||||
} else {
|
||||
hRet = g_pD3DDevice->SetVertexShader(nullptr);
|
||||
DEBUG_D3DRESULT(hRet, "g_pD3DDevice->SetVertexShader");
|
||||
hRet = g_pD3DDevice->SetFVF(Handle);
|
||||
DEBUG_D3DRESULT(hRet, "g_pD3DDevice->SetFVF");
|
||||
}
|
||||
CxbxImpl_SetVertexShader(Handle);
|
||||
|
||||
UpdateViewPortOffsetAndScaleConstants();
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -236,7 +236,8 @@ inline XTL::X_D3DVertexShader *VshHandleToXboxVertexShader(DWORD Handle) { retur
|
|||
extern DWORD* GetCxbxVertexShaderSlotPtr(const DWORD SlotIndexAddress);
|
||||
extern CxbxVertexShader* GetCxbxVertexShader(DWORD XboxVertexShaderHandle);
|
||||
extern void SetCxbxVertexShader(DWORD XboxVertexShaderHandle, CxbxVertexShader* shader);
|
||||
|
||||
extern void SetCxbxVertexShader(CxbxVertexShader* pCxbxVertexShader); // Implemented in Direct3D9.cpp (for now)
|
||||
extern void CxbxImpl_LoadVertexShader(DWORD Handle, DWORD Address);
|
||||
extern void CxbxImpl_SetVertexShader(DWORD Handle);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue