mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Create d3d_initialize_symbols
This commit is contained in:
parent
f19ff885f4
commit
3a3776ba24
@ -28,20 +28,42 @@
|
||||
#include <xgraphics.h>
|
||||
#endif
|
||||
|
||||
static UINT SDKVersion = 0;
|
||||
|
||||
#if defined(HAVE_D3D9)
|
||||
typedef IDirect3D9 *(__stdcall *D3DCreate_t)(UINT);
|
||||
#elif defined(HAVE_D3D8)
|
||||
typedef IDirect3D8 *(__stdcall *D3DCreate_t)(UINT);
|
||||
#endif
|
||||
|
||||
static D3DCreate_t D3DCreate;
|
||||
|
||||
void *d3d_create(void)
|
||||
{
|
||||
UINT SDKVersion = 0;
|
||||
return D3DCreate(SDKVersion);
|
||||
}
|
||||
|
||||
bool d3d_initialize_symbols(void)
|
||||
{
|
||||
/* For Xbox we will just link statically
|
||||
* to Direct3D libraries. */
|
||||
#if defined(HAVE_D3D9)
|
||||
#ifndef _XBOX
|
||||
SDKVersion = 31;
|
||||
#endif
|
||||
return Direct3DCreate9(SDKVersion);
|
||||
D3DCreate = Direct3DCreate9;
|
||||
#elif defined(HAVE_D3D8)
|
||||
#ifndef _XBOX
|
||||
SDKVersion = 220;
|
||||
D3DCreate = Direct3DCreate8;
|
||||
#endif
|
||||
return Direct3DCreate8(SDKVersion);
|
||||
|
||||
#ifdef _XBOX
|
||||
SDKVersion = 0;
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void d3d_deinitialize_symbols(void)
|
||||
{
|
||||
}
|
||||
|
||||
bool d3d_swap(void *data, LPDIRECT3DDEVICE dev)
|
||||
|
@ -175,6 +175,10 @@ void d3d_device_free(LPDIRECT3DDEVICE dev, LPDIRECT3D pd3d);
|
||||
|
||||
void *d3d_create(void);
|
||||
|
||||
bool d3d_initialize_symbols(void);
|
||||
|
||||
void d3d_deinitialize_symbols(void);
|
||||
|
||||
D3DTEXTUREFILTERTYPE d3d_translate_filter(unsigned type);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
@ -1141,6 +1141,9 @@ static void *d3d_init(const video_info_t *info,
|
||||
d3d_video_t *d3d = NULL;
|
||||
const gfx_ctx_driver_t *ctx_driver = NULL;
|
||||
|
||||
if (!d3d_initialize_symbols())
|
||||
return NULL;
|
||||
|
||||
#ifdef _XBOX
|
||||
if (video_driver_get_ptr(false))
|
||||
{
|
||||
@ -1258,6 +1261,8 @@ static void d3d_free(void *data)
|
||||
if (d3d)
|
||||
free(d3d);
|
||||
|
||||
d3d_deinitialize_symbols();
|
||||
|
||||
#ifndef _XBOX
|
||||
win32_destroy_window();
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user