Uniquely name D3D9

This commit is contained in:
twinaphex 2018-01-23 06:43:03 +01:00
parent f1c5812ff8
commit 93523782e5

View File

@ -55,9 +55,9 @@
#include "../../defines/d3d_defines.h"
#include "../../verbosity.h"
static LPDIRECT3D g_pD3D;
static LPDIRECT3D g_pD3D9;
static bool d3d_init_imports(d3d_video_t *d3d)
static bool d3d9_init_imports(d3d_video_t *d3d)
{
retro_ctx_memory_info_t mem_info;
state_tracker_t *state_tracker = NULL;
@ -103,7 +103,7 @@ static bool d3d_init_imports(d3d_video_t *d3d)
return true;
}
static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info)
static bool d3d9_init_chain(d3d_video_t *d3d, const video_info_t *video_info)
{
struct LinkInfo link_info;
unsigned current_width, current_height, out_width, out_height;
@ -199,7 +199,7 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info)
if (d3d->renderchain_driver->add_state_tracker)
{
if (!d3d_init_imports(d3d))
if (!d3d9_init_imports(d3d))
{
RARCH_ERR("[D3D]: Failed to init imports.\n");
return false;
@ -210,7 +210,7 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info)
return true;
}
static bool d3d_init_singlepass(d3d_video_t *d3d)
static bool d3d9_init_singlepass(d3d_video_t *d3d)
{
struct video_shader_pass *pass = NULL;
@ -236,7 +236,7 @@ static bool d3d_init_singlepass(d3d_video_t *d3d)
return true;
}
static bool d3d_init_multipass(d3d_video_t *d3d, const char *shader_path)
static bool d3d9_init_multipass(d3d_video_t *d3d, const char *shader_path)
{
unsigned i;
bool use_extra_pass = false;
@ -304,17 +304,17 @@ static bool d3d_init_multipass(d3d_video_t *d3d, const char *shader_path)
return true;
}
static bool d3d_process_shader(d3d_video_t *d3d)
static bool d3d9_process_shader(d3d_video_t *d3d)
{
const char *shader_path = d3d->shader_path;
if (d3d && !string_is_empty(shader_path) &&
string_is_equal(path_get_extension(shader_path), "cgp"))
return d3d_init_multipass(d3d, shader_path);
return d3d9_init_multipass(d3d, shader_path);
return d3d_init_singlepass(d3d);
return d3d9_init_singlepass(d3d);
}
static void d3d_viewport_info(void *data, struct video_viewport *vp)
static void d3d9_viewport_info(void *data, struct video_viewport *vp)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -324,7 +324,7 @@ static void d3d_viewport_info(void *data, struct video_viewport *vp)
d3d->renderchain_driver->viewport_info(d3d, vp);
}
static void d3d_set_mvp(void *data,
static void d3d9_set_mvp(void *data,
void *shader_data,
const void *mat_data)
{
@ -336,7 +336,7 @@ static void d3d_set_mvp(void *data,
d3d->renderchain_driver->set_mvp(d3d, d3d->renderchain_data, shader_data, mat_data);
}
static void d3d_overlay_render(d3d_video_t *d3d,
static void d3d9_overlay_render(d3d_video_t *d3d,
video_frame_info_t *video_info,
overlay_t *overlay)
{
@ -375,7 +375,7 @@ static void d3d_overlay_render(d3d_video_t *d3d,
vert[i].color = (((uint32_t)(overlay->alpha_mod * 0xFF)) << 24) | 0xFFFFFF;
}
d3d_viewport_info(d3d, &vp);
d3d9_viewport_info(d3d, &vp);
vert[0].x = overlay->vert_coords[0];
vert[1].x = overlay->vert_coords[0] + overlay->vert_coords[2];
@ -435,7 +435,7 @@ static void d3d_overlay_render(d3d_video_t *d3d,
d3d_set_viewports(d3d->dev, &d3d->final_viewport);
}
static void d3d_free_overlay(d3d_video_t *d3d, overlay_t *overlay)
static void d3d9_free_overlay(d3d_video_t *d3d, overlay_t *overlay)
{
if (!d3d)
return;
@ -481,7 +481,7 @@ static D3DFORMAT d3d_get_color_format_backbuffer(bool rgb32, bool windowed)
if (windowed)
{
D3DDISPLAYMODE display_mode;
if (d3d_get_adapter_display_mode(g_pD3D, 0, &display_mode))
if (d3d_get_adapter_display_mode(g_pD3D9, 0, &display_mode))
fmt = display_mode.Format;
}
#endif
@ -595,7 +595,7 @@ void d3d_make_d3dpp(void *data,
#endif
}
static bool d3d_init_base(void *data, const video_info_t *info)
static bool d3d9_init_base(void *data, const video_info_t *info)
{
D3DPRESENT_PARAMETERS d3dpp;
HWND focus_window = NULL;
@ -607,19 +607,19 @@ static bool d3d_init_base(void *data, const video_info_t *info)
memset(&d3dpp, 0, sizeof(d3dpp));
g_pD3D = (LPDIRECT3D)d3d_create();
g_pD3D9 = (LPDIRECT3D)d3d_create();
/* this needs g_pD3D created first */
/* this needs g_pD3D9 created first */
d3d_make_d3dpp(d3d, info, &d3dpp);
if (!g_pD3D)
if (!g_pD3D9)
{
RARCH_ERR("[D3D]: Failed to create D3D interface.\n");
return false;
}
if (!d3d_create_device(&d3d->dev, &d3dpp,
g_pD3D,
g_pD3D9,
focus_window,
d3d->cur_mon_id)
)
@ -717,7 +717,7 @@ static void d3d_calculate_rect(void *data,
}
}
static void d3d_set_viewport(void *data,
static void d3d9_set_viewport(void *data,
unsigned width, unsigned height,
bool force_full,
bool allow_rotate)
@ -749,7 +749,7 @@ static void d3d_set_viewport(void *data,
d3d->renderchain_driver->set_font_rect(d3d, NULL);
}
static bool d3d_initialize(d3d_video_t *d3d, const video_info_t *info)
static bool d3d9_initialize(d3d_video_t *d3d, const video_info_t *info)
{
unsigned width, height;
bool ret = true;
@ -758,8 +758,8 @@ static bool d3d_initialize(d3d_video_t *d3d, const video_info_t *info)
if (!d3d)
return false;
if (!g_pD3D)
ret = d3d_init_base(d3d, info);
if (!g_pD3D9)
ret = d3d9_init_base(d3d, info);
else if (d3d->needs_restore)
{
D3DPRESENT_PARAMETERS d3dpp;
@ -775,10 +775,10 @@ static bool d3d_initialize(d3d_video_t *d3d, const video_info_t *info)
if (!d3d_reset(d3d->dev, &d3dpp))
{
d3d_deinitialize(d3d);
d3d_device_free(NULL, g_pD3D);
g_pD3D = NULL;
d3d_device_free(NULL, g_pD3D9);
g_pD3D9 = NULL;
ret = d3d_init_base(d3d, info);
ret = d3d9_init_base(d3d, info);
if (ret)
RARCH_LOG("[D3D]: Recovered from dead state.\n");
}
@ -788,14 +788,14 @@ static bool d3d_initialize(d3d_video_t *d3d, const video_info_t *info)
if (!ret)
return ret;
if (!d3d_init_chain(d3d, info))
if (!d3d9_init_chain(d3d, info))
{
RARCH_ERR("[D3D]: Failed to initialize render chain.\n");
return false;
}
video_driver_get_size(&width, &height);
d3d_set_viewport(d3d,
d3d9_set_viewport(d3d,
width, height, false, true);
#ifdef _XBOX
@ -839,7 +839,7 @@ static bool d3d_initialize(d3d_video_t *d3d, const video_info_t *info)
return true;
}
static bool d3d_restore(void *data)
static bool d3d9_restore(void *data)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -848,7 +848,7 @@ static bool d3d_restore(void *data)
d3d_deinitialize(d3d);
if (!d3d_initialize(d3d, &d3d->video_info))
if (!d3d9_initialize(d3d, &d3d->video_info))
{
RARCH_ERR("[D3D]: Restore error.\n");
return false;
@ -860,7 +860,7 @@ static bool d3d_restore(void *data)
}
static void d3d_set_nonblock_state(void *data, bool state)
static void d3d9_set_nonblock_state(void *data, bool state)
{
unsigned interval = state ? 0 : 1;
d3d_video_t *d3d = (d3d_video_t*)data;
@ -873,11 +873,11 @@ static void d3d_set_nonblock_state(void *data, bool state)
video_context_driver_swap_interval(&interval);
#ifndef _XBOX
d3d->needs_restore = true;
d3d_restore(d3d);
d3d9_restore(d3d);
#endif
}
static bool d3d_alive(void *data)
static bool d3d9_alive(void *data)
{
gfx_ctx_size_t size_data;
unsigned temp_width = 0;
@ -904,7 +904,7 @@ static bool d3d_alive(void *data)
{
d3d->should_resize = true;
video_driver_set_resize(temp_width, temp_height);
d3d_restore(d3d);
d3d9_restore(d3d);
}
ret = !quit;
@ -916,13 +916,13 @@ static bool d3d_alive(void *data)
return ret;
}
static bool d3d_suppress_screensaver(void *data, bool enable)
static bool d3d9_suppress_screensaver(void *data, bool enable)
{
bool enabled = enable;
return video_context_driver_suppress_screensaver(&enabled);
}
static void d3d_set_aspect_ratio(void *data, unsigned aspect_ratio_idx)
static void d3d9_set_aspect_ratio(void *data, unsigned aspect_ratio_idx)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -954,14 +954,14 @@ static void d3d_set_aspect_ratio(void *data, unsigned aspect_ratio_idx)
d3d->should_resize = true;
}
static void d3d_apply_state_changes(void *data)
static void d3d9_apply_state_changes(void *data)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if (d3d)
d3d->should_resize = true;
}
static void d3d_set_osd_msg(void *data,
static void d3d9_set_osd_msg(void *data,
video_frame_info_t *video_info,
const char *msg,
const void *params, void *font)
@ -974,7 +974,7 @@ static void d3d_set_osd_msg(void *data,
font_driver_render_msg(video_info, font, msg, params);
}
static bool d3d_init_internal(d3d_video_t *d3d,
static bool d3d9_init_internal(d3d_video_t *d3d,
const video_info_t *info, const input_driver_t **input,
void **input_data)
{
@ -1085,11 +1085,11 @@ static bool d3d_init_internal(d3d_video_t *d3d,
}
}
if (!d3d_process_shader(d3d))
if (!d3d9_process_shader(d3d))
return false;
d3d->video_info = *info;
if (!d3d_initialize(d3d, &d3d->video_info))
if (!d3d9_initialize(d3d, &d3d->video_info))
return false;
inp.input = input;
@ -1101,7 +1101,7 @@ static bool d3d_init_internal(d3d_video_t *d3d,
return true;
}
static void d3d_set_rotation(void *data, unsigned rot)
static void d3d9_set_rotation(void *data, unsigned rot)
{
d3d_video_t *d3d = (d3d_video_t*)data;
struct video_ortho ortho = {0, 1, 0, 1, -1, 1};
@ -1112,12 +1112,12 @@ static void d3d_set_rotation(void *data, unsigned rot)
d3d->dev_rotation = rot;
}
static void d3d_show_mouse(void *data, bool state)
static void d3d9_show_mouse(void *data, bool state)
{
video_context_driver_show_mouse(&state);
}
static const gfx_ctx_driver_t *d3d_get_context(void *data)
static const gfx_ctx_driver_t *d3d9_get_context(void *data)
{
/* TODO: GL core contexts through ANGLE? */
unsigned minor = 0;
@ -1130,7 +1130,7 @@ static const gfx_ctx_driver_t *d3d_get_context(void *data)
api, major, minor, false);
}
static void *d3d_init(const video_info_t *info,
static void *d3d9_init(const video_info_t *info,
const input_driver_t **input, void **input_data)
{
d3d_video_t *d3d = NULL;
@ -1143,7 +1143,7 @@ static void *d3d_init(const video_info_t *info,
if (!d3d)
goto error;
ctx_driver = d3d_get_context(d3d);
ctx_driver = d3d9_get_context(d3d);
if (!ctx_driver)
goto error;
@ -1159,7 +1159,7 @@ static void *d3d_init(const video_info_t *info,
video_context_driver_set((const gfx_ctx_driver_t*)ctx_driver);
if (!d3d_init_internal(d3d, info, input, input_data))
if (!d3d9_init_internal(d3d, info, input, input_data))
{
RARCH_ERR("[D3D]: Failed to init D3D.\n");
goto error;
@ -1177,7 +1177,7 @@ error:
}
#ifdef HAVE_OVERLAY
static void d3d_free_overlays(d3d_video_t *d3d)
static void d3d9_free_overlays(d3d_video_t *d3d)
{
unsigned i;
@ -1185,14 +1185,14 @@ static void d3d_free_overlays(d3d_video_t *d3d)
return;
for (i = 0; i < d3d->overlays_size; i++)
d3d_free_overlay(d3d, &d3d->overlays[i]);
d3d9_free_overlay(d3d, &d3d->overlays[i]);
free(d3d->overlays);
d3d->overlays = NULL;
d3d->overlays_size = 0;
}
#endif
static void d3d_free(void *data)
static void d3d9_free(void *data)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -1200,14 +1200,14 @@ static void d3d_free(void *data)
return;
#ifdef HAVE_OVERLAY
d3d_free_overlays(d3d);
d3d9_free_overlays(d3d);
if (d3d->overlays)
free(d3d->overlays);
d3d->overlays = NULL;
d3d->overlays_size = 0;
#endif
d3d_free_overlay(d3d, d3d->menu);
d3d9_free_overlay(d3d, d3d->menu);
if (d3d->menu)
free(d3d->menu);
d3d->menu = NULL;
@ -1220,9 +1220,9 @@ static void d3d_free(void *data)
free(d3d->shader_path);
d3d->shader_path = NULL;
d3d_device_free(d3d->dev, g_pD3D);
d3d_device_free(d3d->dev, g_pD3D9);
d3d->dev = NULL;
g_pD3D = NULL;
g_pD3D9 = NULL;
#ifndef _XBOX
win32_monitor_from_window();
@ -1239,7 +1239,7 @@ static void d3d_free(void *data)
}
#ifdef HAVE_OVERLAY
static void d3d_overlay_tex_geom(
static void d3d9_overlay_tex_geom(
void *data,
unsigned index,
float x, float y,
@ -1255,7 +1255,7 @@ static void d3d_overlay_tex_geom(
d3d->overlays[index].tex_coords[3] = h;
}
static void d3d_overlay_vertex_geom(
static void d3d9_overlay_vertex_geom(
void *data,
unsigned index,
float x, float y,
@ -1273,7 +1273,7 @@ static void d3d_overlay_vertex_geom(
d3d->overlays[index].vert_coords[3] = h;
}
static bool d3d_overlay_load(void *data,
static bool d3d9_overlay_load(void *data,
const void *image_data, unsigned num_images)
{
unsigned i, y;
@ -1285,7 +1285,7 @@ static bool d3d_overlay_load(void *data,
if (!d3d)
return false;
d3d_free_overlays(d3d);
d3d9_free_overlays(d3d);
d3d->overlays = (overlay_t*)calloc(num_images, sizeof(*d3d->overlays));
d3d->overlays_size = num_images;
@ -1325,14 +1325,14 @@ static bool d3d_overlay_load(void *data,
overlay->tex_h = height;
/* Default. Stretch to whole screen. */
d3d_overlay_tex_geom(d3d, i, 0, 0, 1, 1);
d3d_overlay_vertex_geom(d3d, i, 0, 0, 1, 1);
d3d9_overlay_tex_geom(d3d, i, 0, 0, 1, 1);
d3d9_overlay_vertex_geom(d3d, i, 0, 0, 1, 1);
}
return true;
}
static void d3d_overlay_enable(void *data, bool state)
static void d3d9_overlay_enable(void *data, bool state)
{
unsigned i;
d3d_video_t *d3d = (d3d_video_t*)data;
@ -1346,7 +1346,7 @@ static void d3d_overlay_enable(void *data, bool state)
video_context_driver_show_mouse(&state);
}
static void d3d_overlay_full_screen(void *data, bool enable)
static void d3d9_overlay_full_screen(void *data, bool enable)
{
unsigned i;
d3d_video_t *d3d = (d3d_video_t*)data;
@ -1355,31 +1355,31 @@ static void d3d_overlay_full_screen(void *data, bool enable)
d3d->overlays[i].fullscreen = enable;
}
static void d3d_overlay_set_alpha(void *data, unsigned index, float mod)
static void d3d9_overlay_set_alpha(void *data, unsigned index, float mod)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if (d3d)
d3d->overlays[index].alpha_mod = mod;
}
static const video_overlay_interface_t d3d_overlay_interface = {
d3d_overlay_enable,
d3d_overlay_load,
d3d_overlay_tex_geom,
d3d_overlay_vertex_geom,
d3d_overlay_full_screen,
d3d_overlay_set_alpha,
static const video_overlay_interface_t d3d9_overlay_interface = {
d3d9_overlay_enable,
d3d9_overlay_load,
d3d9_overlay_tex_geom,
d3d9_overlay_vertex_geom,
d3d9_overlay_full_screen,
d3d9_overlay_set_alpha,
};
static void d3d_get_overlay_interface(void *data,
static void d3d9_get_overlay_interface(void *data,
const video_overlay_interface_t **iface)
{
(void)data;
*iface = &d3d_overlay_interface;
*iface = &d3d9_overlay_interface;
}
#endif
static bool d3d_frame(void *data, const void *frame,
static bool d3d9_frame(void *data, const void *frame,
unsigned frame_width, unsigned frame_height,
uint64_t frame_count, unsigned pitch,
const char *msg, video_frame_info_t *video_info)
@ -1403,7 +1403,7 @@ static bool d3d_frame(void *data, const void *frame,
return true;
#endif
if (!d3d_restore(d3d))
if (!d3d9_restore(d3d))
{
RARCH_ERR("[D3D]: Failed to restore.\n");
return false;
@ -1412,7 +1412,7 @@ static bool d3d_frame(void *data, const void *frame,
if (d3d->should_resize)
{
d3d_set_viewport(d3d, width, height, false, true);
d3d9_set_viewport(d3d, width, height, false, true);
if (d3d->renderchain_driver->set_final_viewport)
d3d->renderchain_driver->set_final_viewport(d3d,
d3d->renderchain_data, &d3d->final_viewport);
@ -1453,8 +1453,8 @@ static bool d3d_frame(void *data, const void *frame,
#ifdef HAVE_MENU
if (d3d->menu && d3d->menu->enabled)
{
d3d_set_mvp(d3d, NULL, &d3d->mvp);
d3d_overlay_render(d3d, video_info, d3d->menu);
d3d9_set_mvp(d3d, NULL, &d3d->mvp);
d3d9_overlay_render(d3d, video_info, d3d->menu);
d3d->menu_display.offset = 0;
d3d_set_vertex_declaration(d3d->dev, d3d->menu_display.decl);
@ -1468,9 +1468,9 @@ static bool d3d_frame(void *data, const void *frame,
#ifdef HAVE_OVERLAY
if (d3d->overlays_enabled)
{
d3d_set_mvp(d3d, NULL, &d3d->mvp);
d3d9_set_mvp(d3d, NULL, &d3d->mvp);
for (i = 0; i < d3d->overlays_size; i++)
d3d_overlay_render(d3d, video_info, &d3d->overlays[i]);
d3d9_overlay_render(d3d, video_info, &d3d->overlays[i]);
}
#endif
@ -1489,7 +1489,7 @@ static bool d3d_frame(void *data, const void *frame,
return true;
}
static bool d3d_read_viewport(void *data, uint8_t *buffer, bool is_idle)
static bool d3d9_read_viewport(void *data, uint8_t *buffer, bool is_idle)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -1501,7 +1501,7 @@ static bool d3d_read_viewport(void *data, uint8_t *buffer, bool is_idle)
return d3d->renderchain_driver->read_viewport(d3d, buffer, false);
}
static bool d3d_set_shader(void *data,
static bool d3d9_set_shader(void *data,
enum rarch_shader_type type, const char *path)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -1522,14 +1522,14 @@ static bool d3d_set_shader(void *data,
break;
}
if (!d3d_process_shader(d3d) || !d3d_restore(d3d))
if (!d3d9_process_shader(d3d) || !d3d9_restore(d3d))
{
RARCH_ERR("[D3D]: Setting shader failed.\n");
if (!string_is_empty(old_shader))
{
d3d->shader_path = strdup(old_shader);
d3d_process_shader(d3d);
d3d_restore(d3d);
d3d9_process_shader(d3d);
d3d9_restore(d3d);
}
free(old_shader);
return false;
@ -1538,7 +1538,7 @@ static bool d3d_set_shader(void *data,
return true;
}
static void d3d_set_menu_texture_frame(void *data,
static void d3d9_set_menu_texture_frame(void *data,
const void *frame, bool rgb32, unsigned width, unsigned height,
float alpha)
{
@ -1621,7 +1621,7 @@ static void d3d_set_menu_texture_frame(void *data,
}
}
static void d3d_set_menu_texture_enable(void *data,
static void d3d9_set_menu_texture_enable(void *data,
bool state, bool full_screen)
{
d3d_video_t *d3d = (d3d_video_t*)data;
@ -1633,7 +1633,7 @@ static void d3d_set_menu_texture_enable(void *data,
d3d->menu->fullscreen = full_screen;
}
static void video_texture_load_d3d(d3d_video_t *d3d,
static void d3d9_video_texture_load_d3d(d3d_video_t *d3d,
struct texture_image *ti,
enum texture_filter_type filter_type,
uintptr_t *id)
@ -1675,51 +1675,51 @@ static void video_texture_load_d3d(d3d_video_t *d3d,
*id = (uintptr_t)tex;
}
static int video_texture_load_wrap_d3d_mipmap(void *data)
static int d3d9_video_texture_load_wrap_d3d_mipmap(void *data)
{
uintptr_t id = 0;
video_texture_load_d3d((d3d_video_t*)video_driver_get_ptr(true),
d3d9_video_texture_load_d3d((d3d_video_t*)video_driver_get_ptr(true),
(struct texture_image*)data, TEXTURE_FILTER_MIPMAP_LINEAR, &id);
return id;
}
static int video_texture_load_wrap_d3d(void *data)
static int d3d9_video_texture_load_wrap_d3d(void *data)
{
uintptr_t id = 0;
video_texture_load_d3d((d3d_video_t*)video_driver_get_ptr(true),
d3d9_video_texture_load_d3d((d3d_video_t*)video_driver_get_ptr(true),
(struct texture_image*)data, TEXTURE_FILTER_LINEAR, &id);
return id;
}
static uintptr_t d3d_load_texture(void *video_data, void *data,
static uintptr_t d3d9_load_texture(void *video_data, void *data,
bool threaded, enum texture_filter_type filter_type)
{
uintptr_t id = 0;
if (threaded)
{
custom_command_method_t func = video_texture_load_wrap_d3d;
custom_command_method_t func = d3d9_video_texture_load_wrap_d3d;
switch (filter_type)
{
case TEXTURE_FILTER_MIPMAP_LINEAR:
case TEXTURE_FILTER_MIPMAP_NEAREST:
func = video_texture_load_wrap_d3d_mipmap;
func = d3d9_video_texture_load_wrap_d3d_mipmap;
break;
default:
func = video_texture_load_wrap_d3d;
func = d3d9_video_texture_load_wrap_d3d;
break;
}
return video_thread_texture_load(data, func);
}
video_texture_load_d3d((d3d_video_t*)video_driver_get_ptr(false),
d3d9_video_texture_load_d3d((d3d_video_t*)video_driver_get_ptr(false),
(struct texture_image*)data, filter_type, &id);
return id;
}
static void d3d_unload_texture(void *data, uintptr_t id)
static void d3d9_unload_texture(void *data, uintptr_t id)
{
LPDIRECT3DTEXTURE texid;
if (!id)
@ -1729,11 +1729,11 @@ static void d3d_unload_texture(void *data, uintptr_t id)
d3d_texture_free(texid);
}
static const video_poke_interface_t d3d_poke_interface = {
static const video_poke_interface_t d3d9_poke_interface = {
NULL, /* set_coords */
d3d_set_mvp,
d3d_load_texture,
d3d_unload_texture,
d3d9_set_mvp,
d3d9_load_texture,
d3d9_unload_texture,
NULL,
NULL,
NULL, /* get_video_output_size */
@ -1741,40 +1741,40 @@ static const video_poke_interface_t d3d_poke_interface = {
NULL, /* get_video_output_next */
NULL, /* get_current_framebuffer */
NULL, /* get_proc_address */
d3d_set_aspect_ratio,
d3d_apply_state_changes,
d3d_set_menu_texture_frame,
d3d_set_menu_texture_enable,
d3d_set_osd_msg,
d3d9_set_aspect_ratio,
d3d9_apply_state_changes,
d3d9_set_menu_texture_frame,
d3d9_set_menu_texture_enable,
d3d9_set_osd_msg,
d3d_show_mouse,
d3d9_show_mouse,
};
static void d3d_get_poke_interface(void *data,
static void d3d9_get_poke_interface(void *data,
const video_poke_interface_t **iface)
{
(void)data;
*iface = &d3d_poke_interface;
*iface = &d3d9_poke_interface;
}
video_driver_t video_d3d9 = {
d3d_init,
d3d_frame,
d3d_set_nonblock_state,
d3d_alive,
d3d9_init,
d3d9_frame,
d3d9_set_nonblock_state,
d3d9_alive,
NULL, /* focus */
d3d_suppress_screensaver,
d3d9_suppress_screensaver,
NULL, /* has_windowed */
d3d_set_shader,
d3d_free,
d3d9_set_shader,
d3d9_free,
"d3d9",
d3d_set_viewport,
d3d_set_rotation,
d3d_viewport_info,
d3d_read_viewport,
d3d9_set_viewport,
d3d9_set_rotation,
d3d9_viewport_info,
d3d9_read_viewport,
NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY
d3d_get_overlay_interface,
d3d9_get_overlay_interface,
#endif
d3d_get_poke_interface
d3d9_get_poke_interface
};