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