(360/Xbox 1) xdk360_video changed

This commit is contained in:
twinaphex 2012-07-07 20:15:06 +03:00
parent dcae878cd0
commit 9d5978cb3e
16 changed files with 99 additions and 97 deletions

View File

@ -22,7 +22,7 @@
#include <xbdm.h> #include <xbdm.h>
#include "menu.h" #include "menu.h"
#include "../../input/rarch_xinput2.h" #include "../../input/rarch_xinput2.h"
#include "../xdk360_video.h" #include "../xdk_d3d.h"
#include "../../console/retroarch_console.h" #include "../../console/retroarch_console.h"
#include "../../conf/config_file.h" #include "../../conf/config_file.h"
@ -261,7 +261,7 @@ int main(int argc, char *argv[])
rarch_config_load(SYS_CONFIG_FILE, "game:\\", ".xex", find_libretro_file); rarch_config_load(SYS_CONFIG_FILE, "game:\\", ".xex", find_libretro_file);
init_libretro_sym(); init_libretro_sym();
video_xdk360.start(); video_xdk_d3d.start();
input_xinput2.init(); input_xinput2.init();
rarch_input_set_default_keybind_names_for_emulator(); rarch_input_set_default_keybind_names_for_emulator();
@ -296,7 +296,7 @@ begin_shutdown:
rarch_config_save(SYS_CONFIG_FILE); rarch_config_save(SYS_CONFIG_FILE);
menu_free(); menu_free();
video_xdk360.stop(); video_xdk_d3d.stop();
input_xinput2.free(NULL); input_xinput2.free(NULL);
rarch_exec(); rarch_exec();

View File

@ -20,7 +20,7 @@
#include <xtl.h> #include <xtl.h>
#include "../../console/fileio/file_browser.h" #include "../../console/fileio/file_browser.h"
#include "../../console/retroarch_console.h" #include "../../console/retroarch_console.h"
#include "../xdk360_video.h" #include "../xdk_d3d.h"
#include "menu.h" #include "menu.h"
#include "../../message.h" #include "../../message.h"
@ -260,7 +260,7 @@ HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled) HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled)
{ {
int current_index; int current_index;
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
current_index = m_settingslist.GetCurSel(); current_index = m_settingslist.GetCurSel();
@ -348,7 +348,7 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
{ {
bool aspectratio_changed = false; bool aspectratio_changed = false;
int current_index; int current_index;
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
current_index = m_quickmenulist.GetCurSel(); current_index = m_quickmenulist.GetCurSel();
@ -373,7 +373,7 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
rarch_settings_change(S_ROTATION_DECREMENT); rarch_settings_change(S_ROTATION_DECREMENT);
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer)); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
video_xdk360.set_rotation(driver.video_data, g_console.screen_orientation); video_xdk_d3d.set_rotation(driver.video_data, g_console.screen_orientation);
break; break;
default: default:
break; break;
@ -398,7 +398,7 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
rarch_settings_change(S_ROTATION_INCREMENT); rarch_settings_change(S_ROTATION_INCREMENT);
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer)); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
video_xdk360.set_rotation(driver.video_data, g_console.screen_orientation); video_xdk_d3d.set_rotation(driver.video_data, g_console.screen_orientation);
break; break;
default: default:
break; break;
@ -435,7 +435,7 @@ HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pContr
HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
{ {
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
int current_index; int current_index;
if ( hObjPressed == m_quickmenulist) if ( hObjPressed == m_quickmenulist)
@ -472,7 +472,7 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
rarch_settings_default(S_DEF_ROTATION); rarch_settings_default(S_DEF_ROTATION);
rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer)); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
video_xdk360.set_rotation(driver.video_data, g_console.screen_orientation); video_xdk_d3d.set_rotation(driver.video_data, g_console.screen_orientation);
break; break;
case MENU_ITEM_RESIZE_MODE: case MENU_ITEM_RESIZE_MODE:
g_console.input_loop = INPUT_LOOP_RESIZE_MODE; g_console.input_loop = INPUT_LOOP_RESIZE_MODE;
@ -742,7 +742,7 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
{ {
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
bool hdmenus_allowed = g_console.menus_hd_enable; bool hdmenus_allowed = g_console.menus_hd_enable;
@ -822,7 +822,7 @@ int menu_init (void)
{ {
HRESULT hr; HRESULT hr;
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
bool hdmenus_allowed = g_console.menus_hd_enable; bool hdmenus_allowed = g_console.menus_hd_enable;
@ -911,7 +911,7 @@ static void ingame_menu_resize (void)
void menu_loop(void) void menu_loop(void)
{ {
HRESULT hr; HRESULT hr;
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
g_console.menu_enable = true; g_console.menu_enable = true;

View File

@ -249,7 +249,7 @@ void xdk360_video_font_draw_text(xdk360_video_font_t * font,
if( strText == NULL || strText[0] == L'\0') if( strText == NULL || strText[0] == L'\0')
return; return;
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *pd3dDevice = vid->d3d_render_device; D3DDevice *pd3dDevice = vid->d3d_render_device;
// Set the color as a vertex shader constant // Set the color as a vertex shader constant
@ -401,7 +401,7 @@ void xdk360_video_font_draw_text(xdk360_video_font_t * font,
void xdk360_console_draw(void) void xdk360_console_draw(void)
{ {
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *m_pd3dDevice = vid->d3d_render_device; D3DDevice *m_pd3dDevice = vid->d3d_render_device;
// The top line // The top line

View File

@ -19,7 +19,7 @@
#endif #endif
#include "../driver.h" #include "../driver.h"
#include "xdk360_video.h" #include "xdk_d3d.h"
#ifdef HAVE_HLSL #ifdef HAVE_HLSL
#include "../gfx/shader_hlsl.h" #include "../gfx/shader_hlsl.h"
@ -38,7 +38,7 @@
#include "xdk360_video_resources.h" #include "xdk360_video_resources.h"
#endif #endif
static void check_window(xdk360_video_t *d3d) static void check_window(xdk_d3d_video_t *d3d)
{ {
bool quit, resize; bool quit, resize;
@ -52,14 +52,14 @@ static void check_window(xdk360_video_t *d3d)
d3d->should_resize = true; d3d->should_resize = true;
} }
static void xdk360_free(void * data) static void xdk_d3d_free(void * data)
{ {
#ifdef RARCH_CONSOLE #ifdef RARCH_CONSOLE
if (driver.video_data) if (driver.video_data)
return; return;
#endif #endif
xdk360_video_t *d3d = (xdk360_video_t*)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data;
if (!d3d) if (!d3d)
return; return;
@ -73,9 +73,9 @@ static void xdk360_free(void * data)
free(d3d); free(d3d);
} }
static void xdk360_set_viewport(bool force_full) static void xdk_d3d_set_viewport(bool force_full)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
d3d->d3d_render_device->Clear(0, NULL, D3DCLEAR_TARGET, d3d->d3d_render_device->Clear(0, NULL, D3DCLEAR_TARGET,
0xff000000, 1.0f, 0); 0xff000000, 1.0f, 0);
@ -141,10 +141,10 @@ static void xdk360_set_viewport(bool force_full)
//} //}
} }
static void xdk360_set_rotation(void * data, unsigned orientation) static void xdk_d3d_set_rotation(void * data, unsigned orientation)
{ {
(void)data; (void)data;
xdk360_video_t *d3d = (xdk360_video_t*)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data;
FLOAT angle; FLOAT angle;
switch(orientation) switch(orientation)
@ -169,7 +169,7 @@ static void xdk360_set_rotation(void * data, unsigned orientation)
d3d->should_resize = TRUE; d3d->should_resize = TRUE;
} }
static void xdk360_init_fbo(xdk360_video_t *d3d) static void xdk_d3d_init_fbo(xdk_d3d_video_t *d3d)
{ {
if (d3d->lpTexture_ot) if (d3d->lpTexture_ot)
{ {
@ -202,12 +202,12 @@ static void xdk360_init_fbo(xdk360_video_t *d3d)
#endif #endif
} }
static void *xdk360_init(const video_info_t *video, const input_driver_t **input, void **input_data) static void *xdk_d3d_init(const video_info_t *video, const input_driver_t **input, void **input_data)
{ {
if (driver.video_data) if (driver.video_data)
return driver.video_data; return driver.video_data;
xdk360_video_t *d3d = (xdk360_video_t*)calloc(1, sizeof(xdk360_video_t)); xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)calloc(1, sizeof(xdk_d3d_video_t));
if (!d3d) if (!d3d)
return NULL; return NULL;
@ -272,7 +272,7 @@ static void *xdk360_init(const video_info_t *video, const input_driver_t **input
d3d->d3d_render_device->CreateTexture(512, 512, 1, 0, D3DFMT_LIN_X1R5G5B5, d3d->d3d_render_device->CreateTexture(512, 512, 1, 0, D3DFMT_LIN_X1R5G5B5,
0, &d3d->lpTexture, NULL); 0, &d3d->lpTexture, NULL);
xdk360_init_fbo(d3d); xdk_d3d_init_fbo(d3d);
D3DLOCKED_RECT d3dlr; D3DLOCKED_RECT d3dlr;
d3d->lpTexture->LockRect(0, &d3dlr, NULL, D3DLOCK_NOSYSLOCK); d3d->lpTexture->LockRect(0, &d3dlr, NULL, D3DLOCK_NOSYSLOCK);
@ -325,7 +325,7 @@ static void *xdk360_init(const video_info_t *video, const input_driver_t **input
if(g_console.viewports.custom_vp.height == 0) if(g_console.viewports.custom_vp.height == 0)
g_console.viewports.custom_vp.height = vp.Height; g_console.viewports.custom_vp.height = vp.Height;
xdk360_set_rotation(d3d, g_console.screen_orientation); xdk_d3d_set_rotation(d3d, g_console.screen_orientation);
d3d->fbo_enabled = 1; d3d->fbo_enabled = 1;
d3d->vsync = video->vsync; d3d->vsync = video->vsync;
@ -333,13 +333,13 @@ static void *xdk360_init(const video_info_t *video, const input_driver_t **input
return d3d; return d3d;
} }
static bool xdk360_frame(void *data, const void *frame, static bool xdk_d3d_frame(void *data, const void *frame,
unsigned width, unsigned height, unsigned pitch, const char *msg) unsigned width, unsigned height, unsigned pitch, const char *msg)
{ {
if (!frame) if (!frame)
return true; return true;
xdk360_video_t *d3d = (xdk360_video_t*)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data;
D3DSurface* pRenderTarget0; D3DSurface* pRenderTarget0;
bool menu_enabled = g_console.menu_enable; bool menu_enabled = g_console.menu_enable;
@ -384,7 +384,7 @@ static bool xdk360_frame(void *data, const void *frame,
} }
if (d3d->should_resize) if (d3d->should_resize)
xdk360_set_viewport(false); xdk_d3d_set_viewport(false);
d3d->d3d_render_device->Clear(0, NULL, D3DCLEAR_TARGET, d3d->d3d_render_device->Clear(0, NULL, D3DCLEAR_TARGET,
0xff000000, 1.0f, 0); 0xff000000, 1.0f, 0);
@ -457,7 +457,7 @@ static bool xdk360_frame(void *data, const void *frame,
hlsl_set_params(g_settings.video.fbo_scale_x * width, g_settings.video.fbo_scale_y * height, g_settings.video.fbo_scale_x * 512, g_settings.video.fbo_scale_y * 512, d3d->d3dpp.BackBufferWidth, hlsl_set_params(g_settings.video.fbo_scale_x * width, g_settings.video.fbo_scale_y * height, g_settings.video.fbo_scale_x * 512, g_settings.video.fbo_scale_y * 512, d3d->d3dpp.BackBufferWidth,
d3d->d3dpp.BackBufferHeight, d3d->frame_count); d3d->d3dpp.BackBufferHeight, d3d->frame_count);
#endif #endif
xdk360_set_viewport(false); xdk_d3d_set_viewport(false);
d3d->d3d_render_device->SetSamplerState(0, D3DSAMP_MINFILTER, g_settings.video.second_pass_smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); d3d->d3d_render_device->SetSamplerState(0, D3DSAMP_MINFILTER, g_settings.video.second_pass_smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT);
d3d->d3d_render_device->SetSamplerState(0, D3DSAMP_MAGFILTER, g_settings.video.second_pass_smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); d3d->d3d_render_device->SetSamplerState(0, D3DSAMP_MAGFILTER, g_settings.video.second_pass_smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT);
@ -492,9 +492,9 @@ static bool xdk360_frame(void *data, const void *frame,
return true; return true;
} }
static void xdk360_set_nonblock_state(void *data, bool state) static void xdk_d3d_set_nonblock_state(void *data, bool state)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data;
if(d3d->vsync) if(d3d->vsync)
{ {
@ -503,20 +503,20 @@ static void xdk360_set_nonblock_state(void *data, bool state)
} }
} }
static bool xdk360_alive(void *data) static bool xdk_d3d_alive(void *data)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)data;
check_window(d3d); check_window(d3d);
return !d3d->quitting; return !d3d->quitting;
} }
static bool xdk360_focus(void *data) static bool xdk_d3d_focus(void *data)
{ {
(void)data; (void)data;
return gfx_ctx_window_has_focus(); return gfx_ctx_window_has_focus();
} }
static void xdk360_start(void) static void xdk_d3d_start(void)
{ {
video_info_t video_info = {0}; video_info_t video_info = {0};
@ -526,9 +526,9 @@ static void xdk360_start(void)
video_info.smooth = g_settings.video.smooth; video_info.smooth = g_settings.video.smooth;
video_info.input_scale = 2; video_info.input_scale = 2;
driver.video_data = xdk360_init(&video_info, NULL, NULL); driver.video_data = xdk_d3d_init(&video_info, NULL, NULL);
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
gfx_ctx_set_swap_interval(d3d->vsync ? 1 : 0, false); gfx_ctx_set_swap_interval(d3d->vsync ? 1 : 0, false);
@ -542,31 +542,31 @@ static void xdk360_start(void)
#endif #endif
} }
static void xdk360_restart(void) static void xdk_d3d_restart(void)
{ {
} }
static void xdk360_stop(void) static void xdk_d3d_stop(void)
{ {
void *data = driver.video_data; void *data = driver.video_data;
driver.video_data = NULL; driver.video_data = NULL;
#ifdef _XBOX360 #ifdef _XBOX360
d3d9_deinit_font(); d3d9_deinit_font();
#endif #endif
xdk360_free(data); xdk_d3d_free(data);
} }
const video_driver_t video_xdk360 = { const video_driver_t video_xdk_d3d = {
xdk360_init, xdk_d3d_init,
xdk360_frame, xdk_d3d_frame,
xdk360_set_nonblock_state, xdk_d3d_set_nonblock_state,
xdk360_alive, xdk_d3d_alive,
xdk360_focus, xdk_d3d_focus,
NULL, NULL,
xdk360_free, xdk_d3d_free,
"xdk_d3d", "xdk_d3d",
xdk360_start, xdk_d3d_start,
xdk360_stop, xdk_d3d_stop,
xdk360_restart, xdk_d3d_restart,
xdk360_set_rotation, xdk_d3d_set_rotation,
}; };

View File

@ -75,7 +75,7 @@ typedef struct DrawVerticeFormats
#define IDirect3DVertexDeclaration IDirect3DVertexDeclaration9 #define IDirect3DVertexDeclaration IDirect3DVertexDeclaration9
#endif #endif
typedef struct xdk360_video typedef struct xdk_d3d_video
{ {
bool block_swap; bool block_swap;
bool fbo_enabled; bool fbo_enabled;
@ -97,6 +97,6 @@ typedef struct xdk360_video
D3DPRESENT_PARAMETERS d3dpp; D3DPRESENT_PARAMETERS d3dpp;
XVIDEO_MODE video_mode; XVIDEO_MODE video_mode;
LPDIRECT3DSURFACE_PTR lpSurface; LPDIRECT3DSURFACE_PTR lpSurface;
} xdk360_video_t; } xdk_d3d_video_t;
#endif #endif

View File

@ -38,7 +38,7 @@ enum
VIDEO_EXT, VIDEO_EXT,
VIDEO_WII, VIDEO_WII,
VIDEO_XENON360, VIDEO_XENON360,
VIDEO_XDK360, VIDEO_XDK_D3D,
VIDEO_RPI, VIDEO_RPI,
VIDEO_NULL, VIDEO_NULL,
@ -78,8 +78,8 @@ enum
#define VIDEO_DEFAULT_DRIVER VIDEO_WII #define VIDEO_DEFAULT_DRIVER VIDEO_WII
#elif defined(XENON) #elif defined(XENON)
#define VIDEO_DEFAULT_DRIVER VIDEO_XENON360 #define VIDEO_DEFAULT_DRIVER VIDEO_XENON360
#elif defined(_XBOX360) #elif defined(_XBOX1) || defined(_XBOX360)
#define VIDEO_DEFAULT_DRIVER VIDEO_XDK360 #define VIDEO_DEFAULT_DRIVER VIDEO_XDK_D3D
#elif defined(HAVE_XVIDEO) #elif defined(HAVE_XVIDEO)
#define VIDEO_DEFAULT_DRIVER VIDEO_XVIDEO #define VIDEO_DEFAULT_DRIVER VIDEO_XVIDEO
#elif defined(HAVE_SDL) #elif defined(HAVE_SDL)

View File

@ -55,7 +55,7 @@ VIDEO CONTEXT
#if defined(__CELLOS_LV2__) #if defined(__CELLOS_LV2__)
#include "../../gfx/context/ps3_ctx.c" #include "../../gfx/context/ps3_ctx.c"
#elif defined(_XBOX) #elif defined(_XBOX)
#include "../../gfx/context/xdk360_ctx.c" #include "../../gfx/context/xdk_ctx.c"
#endif #endif
#endif #endif
@ -99,7 +99,7 @@ VIDEO DRIVER
#endif #endif
#ifdef _XBOX #ifdef _XBOX
#include "../../360/xdk360_video.cpp" #include "../../360/xdk_d3d.cpp"
#endif #endif
#include "../../gfx/null.c" #include "../../gfx/null.c"

View File

@ -51,26 +51,28 @@
#define input_free_func() ps3_free_input(driver.input_data) #define input_free_func() ps3_free_input(driver.input_data)
/*============================================================ /*============================================================
XBOX 360 XBOX 1 / XBOX 360
============================================================ */ ============================================================ */
#elif defined(_XBOX360) #elif defined(_XBOX)
#define video_init_func(video_info, input, input_data) \ #define video_init_func(video_info, input, input_data) \
xdk360_init(video_info, input, input_data) xdk_d3d_init(video_info, input, input_data)
#define video_frame_func(data, width, height, pitch, msg) \ #define video_frame_func(data, width, height, pitch, msg) \
xdk360_frame(driver.video_data, data, width, height, pitch, msg) xdk_d3d_frame(driver.video_data, data, width, height, pitch, msg)
#define video_set_nonblock_state_func(state) driver.video->set_nonblock_state(driver.video_data, state) #define video_set_nonblock_state_func(state) driver.video->set_nonblock_state(driver.video_data, state)
#define video_alive_func() xdk360_alive(driver.video_data) #define video_alive_func() xdk_d3d_alive(driver.video_data)
#define video_focus_func() xdk360_focus(driver.video_data) #define video_focus_func() xdk_d3d_focus(driver.video_data)
#define video_xml_shader_func(path) driver.video->xml_shader(driver.video_data, path) #define video_xml_shader_func(path) driver.video->xml_shader(driver.video_data, path)
#define video_free_func() xdk360_free(driver.video_data) #define video_free_func() xdk_d3d_free(driver.video_data)
#define video_set_rotation_func(rotation) xdk360_set_rotation(driver.video_data, rotation) #define video_set_rotation_func(rotation) xdk_d3d_set_rotation(driver.video_data, rotation)
#define video_set_aspect_ratio_func(aspectratio_idx) gfx_ctx_set_aspect_ratio(driver.video_data, aspectratio_idx) #define video_set_aspect_ratio_func(aspectratio_idx) gfx_ctx_set_aspect_ratio(driver.video_data, aspectratio_idx)
#define gfx_ctx_window_has_focus() (true) #define gfx_ctx_window_has_focus() (true)
#define gfx_ctx_swap_buffers() (d3d->d3d_render_device->Present(NULL, NULL, NULL, NULL)) #define gfx_ctx_swap_buffers() (d3d->d3d_render_device->Present(NULL, NULL, NULL, NULL))
#if defined(_XBOX360)
#define input_init_func() xinput2_input_init() #define input_init_func() xinput2_input_init()
#define input_poll_func() xinput2_input_poll(driver.input_data) #define input_poll_func() xinput2_input_poll(driver.input_data)
#define input_input_state_func(retro_keybinds, port, device, index, id) \ #define input_input_state_func(retro_keybinds, port, device, index, id) \
@ -78,6 +80,8 @@
#define input_key_pressed_func(key) xinput2_input_key_pressed(driver.input_data, key) #define input_key_pressed_func(key) xinput2_input_key_pressed(driver.input_data, key)
#define input_free_func() xinput2_input_free_input(driver.input_data) #define input_free_func() xinput2_input_free_input(driver.input_data)
#endif
/*============================================================ /*============================================================
GAMECUBE / WII GAMECUBE / WII
============================================================ */ ============================================================ */

View File

@ -85,8 +85,8 @@ static const video_driver_t *video_drivers[] = {
#ifdef XENON #ifdef XENON
&video_xenon360, &video_xenon360,
#endif #endif
#ifdef _XBOX360 #ifdef _XBOX
&video_xdk360, &video_xdk_d3d,
#endif #endif
#ifdef HAVE_SDL #ifdef HAVE_SDL
&video_sdl, &video_sdl,

View File

@ -236,7 +236,7 @@ extern const video_driver_t video_gl;
extern const video_driver_t video_wii; extern const video_driver_t video_wii;
extern const video_driver_t video_xenon360; extern const video_driver_t video_xenon360;
extern const video_driver_t video_xvideo; extern const video_driver_t video_xvideo;
extern const video_driver_t video_xdk360; extern const video_driver_t video_xdk_d3d;
extern const video_driver_t video_sdl; extern const video_driver_t video_sdl;
extern const video_driver_t video_rpi; extern const video_driver_t video_rpi;
extern const video_driver_t video_ext; extern const video_driver_t video_ext;

View File

@ -22,9 +22,7 @@
#include "config.h" #include "config.h"
#endif #endif
#include "xdk360_ctx.h" #include "xdk_ctx.h"
#include "../../360/xdk360_video.h"
#if defined(_XBOX1) #if defined(_XBOX1)
// for Xbox 1 // for Xbox 1
@ -37,7 +35,7 @@
void gfx_ctx_set_swap_interval(unsigned interval, bool inited) void gfx_ctx_set_swap_interval(unsigned interval, bool inited)
{ {
(void)inited; (void)inited;
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
if (interval) if (interval)
d3d->d3d_render_device->SetRenderState(XBOX_PRESENTATIONINTERVAL, D3DPRESENT_INTERVAL_ONE); d3d->d3d_render_device->SetRenderState(XBOX_PRESENTATIONINTERVAL, D3DPRESENT_INTERVAL_ONE);
@ -48,7 +46,7 @@ void gfx_ctx_set_swap_interval(unsigned interval, bool inited)
void gfx_ctx_check_window(bool *quit, void gfx_ctx_check_window(bool *quit,
bool *resize, unsigned *width, unsigned *height, unsigned frame_count) bool *resize, unsigned *width, unsigned *height, unsigned frame_count)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
*quit = false; *quit = false;
*resize = false; *resize = false;
@ -64,7 +62,7 @@ void gfx_ctx_set_resize(unsigned width, unsigned height) { }
#ifndef HAVE_GRIFFIN #ifndef HAVE_GRIFFIN
void gfx_ctx_swap_buffers(void) void gfx_ctx_swap_buffers(void)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
d3d->d3d_render_device->Present(NULL, NULL, NULL, NULL); d3d->d3d_render_device->Present(NULL, NULL, NULL, NULL);
} }
@ -109,7 +107,7 @@ void gfx_ctx_set_filtering(unsigned index, bool set_smooth) { }
void gfx_ctx_set_fbo(bool enable) void gfx_ctx_set_fbo(bool enable)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
d3d->fbo_enabled = enable; d3d->fbo_enabled = enable;
} }
@ -119,12 +117,12 @@ void gfx_ctx_set_fbo(bool enable)
TODO: Refactor TODO: Refactor
============================================================ */ ============================================================ */
void gfx_ctx_set_projection(xdk360_video_t *d3d, const struct gl_ortho *ortho, bool allow_rotate) { } void gfx_ctx_set_projection(xdk_d3d_video_t *d3d, const struct gl_ortho *ortho, bool allow_rotate) { }
void gfx_ctx_set_aspect_ratio(void *data, unsigned aspectratio_index) void gfx_ctx_set_aspect_ratio(void *data, unsigned aspectratio_index)
{ {
(void)data; (void)data;
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
if(g_console.aspect_ratio_index == ASPECT_RATIO_AUTO) if(g_console.aspect_ratio_index == ASPECT_RATIO_AUTO)
rarch_set_auto_viewport(g_extern.frame_cache.width, g_extern.frame_cache.height); rarch_set_auto_viewport(g_extern.frame_cache.width, g_extern.frame_cache.height);
@ -136,7 +134,7 @@ void gfx_ctx_set_aspect_ratio(void *data, unsigned aspectratio_index)
void gfx_ctx_set_overscan(void) void gfx_ctx_set_overscan(void)
{ {
xdk360_video_t *d3d = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
if (!d3d) if (!d3d)
return; return;

View File

@ -17,9 +17,9 @@
#ifndef _XDK360_CTX_H #ifndef _XDK360_CTX_H
#define _XDK360_CTX_H #define _XDK360_CTX_H
#include "../../360/xdk360_video.h" #include "../../360/xdk_d3d.h"
void gfx_ctx_set_projection(xdk360_video_t *d3d9, const struct gl_ortho *ortho, bool allow_rotate); void gfx_ctx_set_projection(xdk_d3d_video_t *d3d, const struct gl_ortho *ortho, bool allow_rotate);
void gfx_ctx_set_aspect_ratio(void *data, unsigned aspectratio_index); void gfx_ctx_set_aspect_ratio(void *data, unsigned aspectratio_index);
void gfx_ctx_set_overscan(void); void gfx_ctx_set_overscan(void);
int gfx_ctx_check_resolution(unsigned resolution_id); int gfx_ctx_check_resolution(unsigned resolution_id);

View File

@ -149,7 +149,7 @@ static HRESULT xdk360_video_font_create_shaders (xdk360_video_font_t * font)
D3DDECL_END() D3DDECL_END()
}; };
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *pd3dDevice = vid->d3d_render_device; D3DDevice *pd3dDevice = vid->d3d_render_device;
hr = pd3dDevice->CreateVertexDeclaration( decl, &s_FontLocals.m_pFontVertexDecl ); hr = pd3dDevice->CreateVertexDeclaration( decl, &s_FontLocals.m_pFontVertexDecl );
@ -264,7 +264,7 @@ static HRESULT xdk360_video_font_init(xdk360_video_font_t * font, const char * s
return E_FAIL; return E_FAIL;
} }
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *pd3dDevice = vid->d3d_render_device; D3DDevice *pd3dDevice = vid->d3d_render_device;
// Initialize the window // Initialize the window
@ -283,7 +283,7 @@ static HRESULT xdk360_video_font_init(xdk360_video_font_t * font, const char * s
HRESULT d3d9_init_font(const char *font_path) HRESULT d3d9_init_font(const char *font_path)
{ {
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *m_pd3dDevice = vid->d3d_render_device; D3DDevice *m_pd3dDevice = vid->d3d_render_device;
video_console.m_Buffer = NULL; video_console.m_Buffer = NULL;
@ -438,7 +438,7 @@ void d3d9_render_msg_pre(xdk360_video_font_t * font)
if( font->m_dwNestedBeginCount == 0 ) if( font->m_dwNestedBeginCount == 0 )
{ {
// Cache the global pointer into a register // Cache the global pointer into a register
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *pD3dDevice = vid->d3d_render_device; D3DDevice *pD3dDevice = vid->d3d_render_device;
// Save state // Save state
@ -511,7 +511,7 @@ void d3d9_render_msg_post(xdk360_video_font_t * font)
if( font->m_bSaveState ) if( font->m_bSaveState )
{ {
// Cache the global pointer into a register // Cache the global pointer into a register
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data;
D3DDevice *pD3dDevice = vid->d3d_render_device; D3DDevice *pD3dDevice = vid->d3d_render_device;
D3DDevice_SetTexture_Inline(pD3dDevice, 0, NULL); D3DDevice_SetTexture_Inline(pD3dDevice, 0, NULL);

View File

@ -30,7 +30,7 @@
#endif #endif
#ifdef HAVE_D3D9 #ifdef HAVE_D3D9
#define VID_HANDLE xdk360_video_t #define VID_HANDLE xdk_d3d_video_t
#endif #endif
#ifdef HAVE_SDL #ifdef HAVE_SDL
@ -78,7 +78,7 @@ void gfx_ctx_get_available_resolutions(void);
int gfx_ctx_check_resolution(unsigned resolution_id); int gfx_ctx_check_resolution(unsigned resolution_id);
#endif #endif
#if defined(HAVE_OPENGL) || defined(HAVE_D3D9) #if defined(HAVE_OPENGL) || defined(HAVE_D3D9) || defined(HAVE_D3D8)
void gfx_ctx_set_projection(VID_HANDLE *gl, const struct gl_ortho *ortho, bool allow_rotate); void gfx_ctx_set_projection(VID_HANDLE *gl, const struct gl_ortho *ortho, bool allow_rotate);
#endif #endif

View File

@ -114,7 +114,7 @@ static bool xinput2_input_key_pressed(void *data, int key)
bool retval = false; bool retval = false;
#ifdef _XBOX #ifdef _XBOX
XINPUT_STATE state; XINPUT_STATE state;
xdk360_video_t *d3d9 = (xdk360_video_t*)driver.video_data; xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
XInputGetState(0, &state); XInputGetState(0, &state);
@ -133,7 +133,7 @@ static bool xinput2_input_key_pressed(void *data, int key)
case RARCH_FRAMEADVANCE: case RARCH_FRAMEADVANCE:
if(g_console.frame_advance_enable) if(g_console.frame_advance_enable)
{ {
g_console.menu_enable = true; g_console.menu_enable = true;
g_console.ingame_menu_enable = true; g_console.ingame_menu_enable = true;
g_console.mode_switch = MODE_MENU; g_console.mode_switch = MODE_MENU;
} }
@ -141,18 +141,18 @@ static bool xinput2_input_key_pressed(void *data, int key)
case RARCH_REWIND: case RARCH_REWIND:
return ((state.Gamepad.sThumbRY > DEADZONE) && !(state.Gamepad.bRightTrigger > 128)); return ((state.Gamepad.sThumbRY > DEADZONE) && !(state.Gamepad.bRightTrigger > 128));
case RARCH_QUIT_KEY: case RARCH_QUIT_KEY:
if(IS_TIMER_EXPIRED(d3d9)) if(IS_TIMER_EXPIRED(d3d))
{ {
uint32_t left_thumb_pressed = (state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_THUMB); uint32_t left_thumb_pressed = (state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_THUMB);
uint32_t right_thumb_pressed = (state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB); uint32_t right_thumb_pressed = (state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB);
g_console.menu_enable = right_thumb_pressed && left_thumb_pressed && IS_TIMER_EXPIRED(d3d9); g_console.menu_enable = right_thumb_pressed && left_thumb_pressed && IS_TIMER_EXPIRED(d3d);
g_console.ingame_menu_enable = right_thumb_pressed && !left_thumb_pressed; g_console.ingame_menu_enable = right_thumb_pressed && !left_thumb_pressed;
if(g_console.menu_enable || (g_console.ingame_menu_enable && !g_console.menu_enable)) if(g_console.menu_enable || (g_console.ingame_menu_enable && !g_console.menu_enable))
{ {
g_console.mode_switch = MODE_MENU; g_console.mode_switch = MODE_MENU;
SET_TIMER_EXPIRATION(d3d9, 30); SET_TIMER_EXPIRATION(d3d, 30);
retval = g_console.menu_enable; retval = g_console.menu_enable;
} }

View File

@ -85,7 +85,7 @@ const char *config_get_default_video(void)
return "wii"; return "wii";
case VIDEO_XENON360: case VIDEO_XENON360:
return "xenon360"; return "xenon360";
case VIDEO_XDK360: case VIDEO_XDK_D3D:
return "xdk_d3d"; return "xdk_d3d";
case VIDEO_XVIDEO: case VIDEO_XVIDEO:
return "xvideo"; return "xvideo";