(D3D) refactors.

This commit is contained in:
aliaspider 2018-02-06 18:00:11 +01:00
parent 4ccb844ad6
commit 757a9c08de
5 changed files with 20 additions and 28 deletions

View file

@ -57,7 +57,7 @@ HRESULT WINAPI D3D10CreateDeviceAndSwapChain(
d3d10_dll, "D3D10CreateDeviceAndSwapChain");
if (!fp)
return TYPE_E_CANTLOADLIBRARY;
return TYPE_E_DLLFUNCTIONNOTFOUND;
return fp(
pAdapter, DriverType, Software, Flags, SDKVersion,

View file

@ -51,7 +51,7 @@ HRESULT WINAPI D3D11CreateDeviceAndSwapChain(
d3d11_dll, "D3D11CreateDeviceAndSwapChain");
if (!fp)
return TYPE_E_CANTLOADLIBRARY;
return TYPE_E_DLLFUNCTIONNOTFOUND;
return fp(
pAdapter, DriverType, Software, Flags, pFeatureLevels, FeatureLevels, SDKVersion,

View file

@ -59,12 +59,12 @@ HRESULT WINAPI D3DCompile(
if (!fp)
fp = (pD3DCompile)dylib_proc(d3dcompiler_dll, "D3DCompile");
if (fp)
return fp(
pSrcData, SrcDataSize, pSourceName, pDefines, pInclude, pEntrypoint, pTarget, Flags1,
Flags2, ppCode, ppErrorMsgs);
if (!fp)
return TYPE_E_DLLFUNCTIONNOTFOUND;
return TYPE_E_CANTLOADLIBRARY;
return fp(
pSrcData, SrcDataSize, pSourceName, pDefines, pInclude, pEntrypoint, pTarget, Flags1,
Flags2, ppCode, ppErrorMsgs);
}
HRESULT WINAPI D3DCompileFromFile(
@ -79,9 +79,8 @@ HRESULT WINAPI D3DCompileFromFile(
ID3DBlob** ppErrorMsgs)
{
typedef HRESULT(WINAPI * pD3DCompileFromFile)(
LPCWSTR pFileName, const D3D_SHADER_MACRO* pDefines, ID3DInclude* pInclude,
LPCSTR pEntrypoint, LPCSTR pTarget, UINT Flags1, UINT Flags2, ID3DBlob** ppCode,
ID3DBlob** ppErrorMsgs);
LPCWSTR, const D3D_SHADER_MACRO*, ID3DInclude*, LPCSTR, LPCSTR, UINT, UINT, ID3DBlob**,
ID3DBlob**);
static pD3DCompileFromFile fp;
const char** dll_name = d3dcompiler_dll_list;
while (!d3dcompiler_dll && *dll_name)
@ -93,19 +92,17 @@ HRESULT WINAPI D3DCompileFromFile(
if (!fp)
fp = (pD3DCompileFromFile)dylib_proc(d3dcompiler_dll, "D3DCompileFromFile");
if (fp)
return fp(
pFileName, pDefines, pInclude, pEntrypoint, pTarget, Flags1, Flags2, ppCode,
ppErrorMsgs);
if (!fp)
return TYPE_E_DLLFUNCTIONNOTFOUND;
return TYPE_E_CANTLOADLIBRARY;
return fp(
pFileName, pDefines, pInclude, pEntrypoint, pTarget, Flags1, Flags2, ppCode, ppErrorMsgs);
}
HRESULT WINAPI
D3DReflect(LPCVOID pSrcData, SIZE_T SrcDataSize, REFIID pInterface, void** ppReflector)
{
typedef HRESULT(WINAPI * pD3DCompileFromFile)(
LPCVOID pSrcData, SIZE_T SrcDataSize, REFIID pInterface, void** ppReflector);
typedef HRESULT(WINAPI * pD3DCompileFromFile)(LPCVOID, SIZE_T, REFIID, void**);
static pD3DCompileFromFile fp;
const char** dll_name = d3dcompiler_dll_list;
@ -118,10 +115,10 @@ HRESULT WINAPI
if (!fp)
fp = (pD3DCompileFromFile)dylib_proc(d3dcompiler_dll, "D3DReflect");
if (fp)
return fp(pSrcData, SrcDataSize, pInterface, ppReflector);
if (!fp)
return TYPE_E_DLLFUNCTIONNOTFOUND;
return TYPE_E_CANTLOADLIBRARY;
return fp(pSrcData, SrcDataSize, pInterface, ppReflector);
}
#endif

View file

@ -47,7 +47,7 @@ HRESULT WINAPI CreateDXGIFactory1(REFIID riid, void** ppFactory)
fp = (HRESULT(WINAPI*)(REFIID, void**))dylib_proc(dxgi_dll, "CreateDXGIFactory1");
if (!fp)
return TYPE_E_CANTLOADLIBRARY;
return TYPE_E_DLLFUNCTIONNOTFOUND;
return fp(riid, ppFactory);
}

View file

@ -364,13 +364,8 @@ static void d3d11_gfx_free(void* data)
d3d11_release_shader(&d3d11->sprites.shader_font);
Release(d3d11->sprites.vbo);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_STOCK_BLEND]);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_MENU]);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_MENU_2]);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_MENU_3]);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_MENU_4]);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_MENU_5]);
d3d11_release_shader(&d3d11->shaders[VIDEO_SHADER_MENU_6]);
for (i = 0; i < GFX_MAX_SHADERS; i++)
d3d11_release_shader(&d3d11->shaders[i]);
Release(d3d11->menu_pipeline_vbo);
Release(d3d11->blend_pipeline);