mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
Replace LPDIRECT3D
This commit is contained in:
parent
0d898dd479
commit
26f9489f89
@ -336,57 +336,65 @@ void d3d_deinitialize_symbols(void)
|
|||||||
d3d_common_api = GFX_CTX_NONE;
|
d3d_common_api = GFX_CTX_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool d3d_check_device_type(LPDIRECT3D d3d,
|
bool d3d_check_device_type(void *_d3d,
|
||||||
unsigned idx,
|
unsigned idx,
|
||||||
D3DFORMAT disp_format,
|
D3DFORMAT disp_format,
|
||||||
D3DFORMAT backbuffer_format,
|
D3DFORMAT backbuffer_format,
|
||||||
bool windowed_mode)
|
bool windowed_mode)
|
||||||
{
|
{
|
||||||
if (!d3d)
|
|
||||||
return false;
|
|
||||||
switch (d3d_common_api)
|
switch (d3d_common_api)
|
||||||
{
|
{
|
||||||
case GFX_CTX_DIRECT3D9_API:
|
case GFX_CTX_DIRECT3D9_API:
|
||||||
|
{
|
||||||
#ifdef HAVE_D3D9
|
#ifdef HAVE_D3D9
|
||||||
|
LPDIRECT3D9 d3d = (LPDIRECT3D9)_d3d;
|
||||||
|
if (!d3d)
|
||||||
|
return false;
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
if (FAILED(d3d->CheckDeviceType(
|
if (FAILED(d3d->CheckDeviceType(
|
||||||
0,
|
0,
|
||||||
D3DDEVTYPE_HAL,
|
D3DDEVTYPE_HAL,
|
||||||
disp_format,
|
disp_format,
|
||||||
backbuffer_format,
|
backbuffer_format,
|
||||||
windowed_mode)))
|
windowed_mode)))
|
||||||
return false;
|
return false;
|
||||||
#else
|
#else
|
||||||
if (FAILED(IDirect3D9_CheckDeviceType(d3d,
|
if (FAILED(IDirect3D9_CheckDeviceType(d3d,
|
||||||
0,
|
0,
|
||||||
D3DDEVTYPE_HAL,
|
D3DDEVTYPE_HAL,
|
||||||
disp_format,
|
disp_format,
|
||||||
backbuffer_format,
|
backbuffer_format,
|
||||||
windowed_mode)))
|
windowed_mode)))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GFX_CTX_DIRECT3D8_API:
|
case GFX_CTX_DIRECT3D8_API:
|
||||||
|
{
|
||||||
#ifdef HAVE_D3D8
|
#ifdef HAVE_D3D8
|
||||||
|
LPDIRECT3D8 d3d = (LPDIRECT3D8)_d3d;
|
||||||
|
if (!d3d)
|
||||||
|
return false;
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
if (FAILED(d3d->CheckDeviceType(
|
if (FAILED(d3d->CheckDeviceType(
|
||||||
0,
|
0,
|
||||||
D3DDEVTYPE_HAL,
|
D3DDEVTYPE_HAL,
|
||||||
disp_format,
|
disp_format,
|
||||||
backbuffer_format,
|
backbuffer_format,
|
||||||
windowed_mode)))
|
windowed_mode)))
|
||||||
return false;
|
return false;
|
||||||
#else
|
#else
|
||||||
if (FAILED(IDirect3D8_CheckDeviceType(d3d,
|
if (FAILED(IDirect3D8_CheckDeviceType(d3d,
|
||||||
0,
|
0,
|
||||||
D3DDEVTYPE_HAL,
|
D3DDEVTYPE_HAL,
|
||||||
disp_format,
|
disp_format,
|
||||||
backbuffer_format,
|
backbuffer_format,
|
||||||
windowed_mode)))
|
windowed_mode)))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GFX_CTX_NONE:
|
case GFX_CTX_NONE:
|
||||||
default:
|
default:
|
||||||
@ -396,38 +404,49 @@ bool d3d_check_device_type(LPDIRECT3D d3d,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool d3d_get_adapter_display_mode(LPDIRECT3D d3d,
|
bool d3d_get_adapter_display_mode(
|
||||||
|
void *_d3d,
|
||||||
unsigned idx,
|
unsigned idx,
|
||||||
D3DDISPLAYMODE *display_mode)
|
D3DDISPLAYMODE *display_mode)
|
||||||
{
|
{
|
||||||
if (!display_mode || !d3d)
|
if (!display_mode)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
switch (d3d_common_api)
|
switch (d3d_common_api)
|
||||||
{
|
{
|
||||||
case GFX_CTX_DIRECT3D9_API:
|
case GFX_CTX_DIRECT3D9_API:
|
||||||
|
{
|
||||||
#ifdef HAVE_D3D9
|
#ifdef HAVE_D3D9
|
||||||
|
LPDIRECT3D9 d3d = (LPDIRECT3D9)_d3d;
|
||||||
|
if (!d3d)
|
||||||
|
return false;
|
||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
return true;
|
return true;
|
||||||
#elif defined(__cplusplus)
|
#elif defined(__cplusplus)
|
||||||
if (FAILED(d3d->GetAdapterDisplayMode(idx, display_mode)))
|
if (FAILED(d3d->GetAdapterDisplayMode(idx, display_mode)))
|
||||||
return false;
|
return false;
|
||||||
#else
|
#else
|
||||||
if (FAILED(IDirect3D9_GetAdapterDisplayMode(d3d, idx, display_mode)))
|
if (FAILED(IDirect3D9_GetAdapterDisplayMode(d3d, idx, display_mode)))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GFX_CTX_DIRECT3D8_API:
|
case GFX_CTX_DIRECT3D8_API:
|
||||||
|
{
|
||||||
#ifdef HAVE_D3D8
|
#ifdef HAVE_D3D8
|
||||||
|
LPDIRECT3D8 d3d = (LPDIRECT3D8)_d3d;
|
||||||
|
if (!d3d)
|
||||||
|
return false;
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
if (FAILED(d3d->GetAdapterDisplayMode(idx, display_mode)))
|
if (FAILED(d3d->GetAdapterDisplayMode(idx, display_mode)))
|
||||||
return false;
|
return false;
|
||||||
#else
|
#else
|
||||||
if (FAILED(IDirect3D8_GetAdapterDisplayMode(d3d, idx, display_mode)))
|
if (FAILED(IDirect3D8_GetAdapterDisplayMode(d3d, idx, display_mode)))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GFX_CTX_NONE:
|
case GFX_CTX_NONE:
|
||||||
default:
|
default:
|
||||||
@ -2350,7 +2369,7 @@ static HRESULT d3d_test_cooperative_level(void *data)
|
|||||||
static bool d3d_create_device_internal(
|
static bool d3d_create_device_internal(
|
||||||
void *data,
|
void *data,
|
||||||
D3DPRESENT_PARAMETERS *d3dpp,
|
D3DPRESENT_PARAMETERS *d3dpp,
|
||||||
LPDIRECT3D d3d,
|
void *_d3d,
|
||||||
HWND focus_window,
|
HWND focus_window,
|
||||||
unsigned cur_mon_id,
|
unsigned cur_mon_id,
|
||||||
DWORD behavior_flags)
|
DWORD behavior_flags)
|
||||||
@ -2360,6 +2379,7 @@ static bool d3d_create_device_internal(
|
|||||||
case GFX_CTX_DIRECT3D9_API:
|
case GFX_CTX_DIRECT3D9_API:
|
||||||
{
|
{
|
||||||
#ifdef HAVE_D3D9
|
#ifdef HAVE_D3D9
|
||||||
|
LPDIRECT3D9 d3d = (LPDIRECT3D9)_d3d;
|
||||||
LPDIRECT3DDEVICE9 dev = (LPDIRECT3DDEVICE9)data;
|
LPDIRECT3DDEVICE9 dev = (LPDIRECT3DDEVICE9)data;
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return false;
|
return false;
|
||||||
@ -2388,6 +2408,7 @@ static bool d3d_create_device_internal(
|
|||||||
case GFX_CTX_DIRECT3D8_API:
|
case GFX_CTX_DIRECT3D8_API:
|
||||||
{
|
{
|
||||||
#ifdef HAVE_D3D8
|
#ifdef HAVE_D3D8
|
||||||
|
LPDIRECT3D8 d3d = (LPDIRECT3D8)_d3d;
|
||||||
LPDIRECT3DDEVICE8 dev = (LPDIRECT3DDEVICE8)data;
|
LPDIRECT3DDEVICE8 dev = (LPDIRECT3DDEVICE8)data;
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return false;
|
return false;
|
||||||
@ -2423,7 +2444,7 @@ static bool d3d_create_device_internal(
|
|||||||
|
|
||||||
bool d3d_create_device(void *dev,
|
bool d3d_create_device(void *dev,
|
||||||
D3DPRESENT_PARAMETERS *d3dpp,
|
D3DPRESENT_PARAMETERS *d3dpp,
|
||||||
LPDIRECT3D d3d,
|
void *d3d,
|
||||||
HWND focus_window,
|
HWND focus_window,
|
||||||
unsigned cur_mon_id)
|
unsigned cur_mon_id)
|
||||||
{
|
{
|
||||||
@ -2532,13 +2553,14 @@ bool d3d_device_get_backbuffer(void *_dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void d3d_device_free(void *_dev, LPDIRECT3D pd3d)
|
void d3d_device_free(void *_dev, void *_pd3d)
|
||||||
{
|
{
|
||||||
switch (d3d_common_api)
|
switch (d3d_common_api)
|
||||||
{
|
{
|
||||||
case GFX_CTX_DIRECT3D9_API:
|
case GFX_CTX_DIRECT3D9_API:
|
||||||
{
|
{
|
||||||
#ifdef HAVE_D3D9
|
#ifdef HAVE_D3D9
|
||||||
|
LPDIRECT3D9 pd3d = (LPDIRECT3D9)_pd3d;
|
||||||
LPDIRECT3DDEVICE9 dev = (LPDIRECT3DDEVICE9)_dev;
|
LPDIRECT3DDEVICE9 dev = (LPDIRECT3DDEVICE9)_dev;
|
||||||
if (dev)
|
if (dev)
|
||||||
{
|
{
|
||||||
@ -2563,6 +2585,7 @@ void d3d_device_free(void *_dev, LPDIRECT3D pd3d)
|
|||||||
case GFX_CTX_DIRECT3D8_API:
|
case GFX_CTX_DIRECT3D8_API:
|
||||||
{
|
{
|
||||||
#ifdef HAVE_D3D8
|
#ifdef HAVE_D3D8
|
||||||
|
LPDIRECT3D8 pd3d = (LPDIRECT3D8)_pd3d;
|
||||||
LPDIRECT3DDEVICE8 dev = (LPDIRECT3DDEVICE8)_dev;
|
LPDIRECT3DDEVICE8 dev = (LPDIRECT3DDEVICE8)_dev;
|
||||||
if (dev)
|
if (dev)
|
||||||
{
|
{
|
||||||
|
@ -187,13 +187,13 @@ void * d3d_matrix_identity(void *_pout);
|
|||||||
|
|
||||||
void *d3d_matrix_rotation_z(void *_pout, float angle);
|
void *d3d_matrix_rotation_z(void *_pout, float angle);
|
||||||
|
|
||||||
bool d3d_get_adapter_display_mode(LPDIRECT3D d3d,
|
bool d3d_get_adapter_display_mode(void *d3d,
|
||||||
unsigned idx,
|
unsigned idx,
|
||||||
D3DDISPLAYMODE *display_mode);
|
D3DDISPLAYMODE *display_mode);
|
||||||
|
|
||||||
bool d3d_create_device(void *dev,
|
bool d3d_create_device(void *dev,
|
||||||
D3DPRESENT_PARAMETERS *d3dpp,
|
D3DPRESENT_PARAMETERS *d3dpp,
|
||||||
LPDIRECT3D d3d,
|
void *d3d,
|
||||||
HWND focus_window,
|
HWND focus_window,
|
||||||
unsigned cur_mon_id);
|
unsigned cur_mon_id);
|
||||||
|
|
||||||
@ -203,7 +203,7 @@ bool d3d_device_get_backbuffer(void *dev,
|
|||||||
unsigned idx, unsigned swapchain_idx,
|
unsigned idx, unsigned swapchain_idx,
|
||||||
unsigned backbuffer_type, void **data);
|
unsigned backbuffer_type, void **data);
|
||||||
|
|
||||||
void d3d_device_free(void *dev, LPDIRECT3D pd3d);
|
void d3d_device_free(void *dev, void *pd3d);
|
||||||
|
|
||||||
void *d3d_create(void);
|
void *d3d_create(void);
|
||||||
|
|
||||||
@ -211,7 +211,7 @@ bool d3d_initialize_symbols(enum gfx_ctx_api api);
|
|||||||
|
|
||||||
void d3d_deinitialize_symbols(void);
|
void d3d_deinitialize_symbols(void);
|
||||||
|
|
||||||
bool d3d_check_device_type(LPDIRECT3D d3d,
|
bool d3d_check_device_type(void *d3d,
|
||||||
unsigned idx,
|
unsigned idx,
|
||||||
D3DFORMAT disp_format,
|
D3DFORMAT disp_format,
|
||||||
D3DFORMAT backbuffer_format,
|
D3DFORMAT backbuffer_format,
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
#include "../../defines/d3d_defines.h"
|
#include "../../defines/d3d_defines.h"
|
||||||
#include "../../verbosity.h"
|
#include "../../verbosity.h"
|
||||||
|
|
||||||
static LPDIRECT3D g_pD3D8;
|
static LPDIRECT3D8 g_pD3D8;
|
||||||
|
|
||||||
typedef struct d3d8_renderchain
|
typedef struct d3d8_renderchain
|
||||||
{
|
{
|
||||||
@ -683,7 +683,7 @@ static bool d3d8_init_base(void *data, const video_info_t *info)
|
|||||||
|
|
||||||
memset(&d3dpp, 0, sizeof(d3dpp));
|
memset(&d3dpp, 0, sizeof(d3dpp));
|
||||||
|
|
||||||
g_pD3D8 = (LPDIRECT3D)d3d_create();
|
g_pD3D8 = (LPDIRECT3D8)d3d_create();
|
||||||
|
|
||||||
/* this needs g_pD3D created first */
|
/* this needs g_pD3D created first */
|
||||||
d3d8_make_d3dpp(d3d, info, &d3dpp);
|
d3d8_make_d3dpp(d3d, info, &d3dpp);
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
#include "../../defines/d3d_defines.h"
|
#include "../../defines/d3d_defines.h"
|
||||||
#include "../../verbosity.h"
|
#include "../../verbosity.h"
|
||||||
|
|
||||||
static LPDIRECT3D g_pD3D9;
|
static LPDIRECT3D9 g_pD3D9;
|
||||||
|
|
||||||
static bool d3d9_init_imports(d3d_video_t *d3d)
|
static bool d3d9_init_imports(d3d_video_t *d3d)
|
||||||
{
|
{
|
||||||
@ -607,7 +607,7 @@ static bool d3d9_init_base(void *data, const video_info_t *info)
|
|||||||
|
|
||||||
memset(&d3dpp, 0, sizeof(d3dpp));
|
memset(&d3dpp, 0, sizeof(d3dpp));
|
||||||
|
|
||||||
g_pD3D9 = (LPDIRECT3D)d3d_create();
|
g_pD3D9 = (LPDIRECT3D9)d3d_create();
|
||||||
|
|
||||||
/* this needs g_pD3D9 created first */
|
/* this needs g_pD3D9 created first */
|
||||||
d3d_make_d3dpp(d3d, info, &d3dpp);
|
d3d_make_d3dpp(d3d, info, &d3dpp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user