mirror of
https://github.com/libretro/RetroArch.git
synced 2025-04-02 10:51:52 -04:00
(D3D9) Cleanups - cut down on pointless inlined functions
This commit is contained in:
parent
28cd77c5b4
commit
febd584930
5 changed files with 70 additions and 96 deletions
|
@ -653,7 +653,7 @@ static D3DFORMAT d3d9_get_color_format_backbuffer(bool rgb32)
|
|||
{
|
||||
if (rgb32)
|
||||
return D3DFMT_X8R8G8B8;
|
||||
return d3d9_get_rgb565_format();
|
||||
return D3D9_RGB565_FORMAT;
|
||||
}
|
||||
|
||||
bool d3d9_has_windowed(void *data) { return false; }
|
||||
|
@ -1199,7 +1199,7 @@ void d3d9_set_menu_texture_frame(void *data,
|
|||
|
||||
d3d->menu->tex = d3d9_texture_new(d3d->dev, NULL,
|
||||
width, height, 1,
|
||||
0, d3d9_get_argb8888_format(),
|
||||
0, D3D9_ARGB8888_FORMAT,
|
||||
D3DPOOL_MANAGED, 0, 0, 0, NULL, NULL, false);
|
||||
|
||||
if (!d3d->menu->tex)
|
||||
|
@ -1291,7 +1291,7 @@ static void d3d9_video_texture_load_d3d(
|
|||
|
||||
tex = (LPDIRECT3DTEXTURE9)d3d9_texture_new(d3d->dev, NULL,
|
||||
ti->width, ti->height, 0,
|
||||
usage, d3d9_get_argb8888_format(),
|
||||
usage, D3D9_ARGB8888_FORMAT,
|
||||
D3DPOOL_MANAGED, 0, 0, 0,
|
||||
NULL, NULL, want_mipmap);
|
||||
|
||||
|
@ -1392,7 +1392,7 @@ bool d3d9_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
|||
if (
|
||||
!d3d9_device_get_render_target(d3dr, 0, (void**)&target) ||
|
||||
!d3d9_device_create_offscreen_plain_surface(d3dr, width, height,
|
||||
d3d9_get_xrgb8888_format(),
|
||||
D3D9_XRGB8888_FORMAT,
|
||||
D3DPOOL_SYSTEMMEM, (void**)&dest, NULL) ||
|
||||
!d3d9_device_get_render_target_data(d3dr, target, dest)
|
||||
)
|
||||
|
@ -1627,7 +1627,7 @@ static bool d3d9_overlay_load(void *data,
|
|||
overlay->tex = d3d9_texture_new(d3d->dev, NULL,
|
||||
width, height, 1,
|
||||
0,
|
||||
d3d9_get_argb8888_format(),
|
||||
D3D9_ARGB8888_FORMAT,
|
||||
D3DPOOL_MANAGED, 0, 0, 0,
|
||||
NULL, NULL, false);
|
||||
|
||||
|
|
|
@ -31,6 +31,17 @@
|
|||
{ (WORD)(stream), (WORD)(offset * sizeof(float)), D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, \
|
||||
D3DDECLUSAGE_TEXCOORD, (BYTE)(index) }
|
||||
|
||||
#ifdef _XBOX
|
||||
#define D3D9_RGB565_FORMAT D3DFMT_LIN_R5G6B5
|
||||
#define D3D9_ARGB8888_FORMAT D3DFMT_LIN_A8R8G8B8
|
||||
#define D3D9_XRGB8888_FORMAT D3DFMT_LIN_X8R8G8B8
|
||||
#else
|
||||
#define D3D9_RGB565_FORMAT D3DFMT_R5G6B5
|
||||
#define D3D9_ARGB8888_FORMAT D3DFMT_A8R8G8B8
|
||||
#define D3D9_XRGB8888_FORMAT D3DFMT_X8R8G8B8
|
||||
#endif
|
||||
|
||||
|
||||
RETRO_BEGIN_DECLS
|
||||
|
||||
typedef struct d3d9_video d3d9_video_t;
|
||||
|
@ -207,75 +218,6 @@ const bool d3d9x_constant_table_set_float(void *p,
|
|||
void *d3d9x_constant_table_get_constant_by_name(void *_tbl,
|
||||
void *_handle, void *_name);
|
||||
|
||||
static INLINE INT32 d3d9_get_rgb565_format(void)
|
||||
{
|
||||
#ifdef _XBOX
|
||||
return D3DFMT_LIN_R5G6B5;
|
||||
#else
|
||||
return D3DFMT_R5G6B5;
|
||||
#endif
|
||||
}
|
||||
|
||||
static INLINE INT32 d3d9_get_argb8888_format(void)
|
||||
{
|
||||
#ifdef _XBOX
|
||||
return D3DFMT_LIN_A8R8G8B8;
|
||||
#else
|
||||
return D3DFMT_A8R8G8B8;
|
||||
#endif
|
||||
}
|
||||
|
||||
static INLINE INT32 d3d9_get_xrgb8888_format(void)
|
||||
{
|
||||
#ifdef _XBOX
|
||||
return D3DFMT_LIN_X8R8G8B8;
|
||||
#else
|
||||
return D3DFMT_X8R8G8B8;
|
||||
#endif
|
||||
}
|
||||
|
||||
static INLINE void d3d9_convert_geometry(
|
||||
const struct LinkInfo *info,
|
||||
unsigned *out_width,
|
||||
unsigned *out_height,
|
||||
unsigned width,
|
||||
unsigned height,
|
||||
D3DVIEWPORT9 *final_viewport)
|
||||
{
|
||||
if (!info)
|
||||
return;
|
||||
|
||||
switch (info->pass->fbo.type_x)
|
||||
{
|
||||
case RARCH_SCALE_VIEWPORT:
|
||||
*out_width = info->pass->fbo.scale_x * final_viewport->Width;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_ABSOLUTE:
|
||||
*out_width = info->pass->fbo.abs_x;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_INPUT:
|
||||
*out_width = info->pass->fbo.scale_x * width;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (info->pass->fbo.type_y)
|
||||
{
|
||||
case RARCH_SCALE_VIEWPORT:
|
||||
*out_height = info->pass->fbo.scale_y * final_viewport->Height;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_ABSOLUTE:
|
||||
*out_height = info->pass->fbo.abs_y;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_INPUT:
|
||||
*out_height = info->pass->fbo.scale_y * height;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void d3d9_make_d3dpp(d3d9_video_t *d3d,
|
||||
const video_info_t *info, void *_d3dpp);
|
||||
|
||||
|
@ -287,10 +229,6 @@ void d3d9_calculate_rect(d3d9_video_t *d3d,
|
|||
|
||||
void d3d9_log_info(const struct LinkInfo *info);
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
void d3d9_free_overlays(d3d9_video_t *d3d);
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_MENU) || defined(HAVE_OVERLAY)
|
||||
void d3d9_free_overlay(d3d9_video_t *d3d, overlay_t *overlay);
|
||||
|
||||
|
@ -301,6 +239,7 @@ void d3d9_overlay_render(d3d9_video_t *d3d,
|
|||
#endif
|
||||
|
||||
#if defined(HAVE_OVERLAY)
|
||||
void d3d9_free_overlays(d3d9_video_t *d3d);
|
||||
void d3d9_get_overlay_interface(void *data,
|
||||
const video_overlay_interface_t **iface);
|
||||
#endif
|
||||
|
|
|
@ -118,7 +118,7 @@ static INLINE bool d3d9_renderchain_add_pass(d3d9_renderchain_t *chain,
|
|||
D3DUSAGE_RENDERTARGET,
|
||||
chain->passes->data[
|
||||
chain->passes->count - 1].info.pass->fbo.fp_fbo
|
||||
? D3DFMT_A32B32G32R32F : d3d9_get_argb8888_format(),
|
||||
? D3DFMT_A32B32G32R32F : D3D9_ARGB8888_FORMAT,
|
||||
D3DPOOL_DEFAULT, 0, 0, 0, NULL, NULL, false);
|
||||
|
||||
if (!tex)
|
||||
|
@ -287,7 +287,7 @@ static INLINE bool d3d9_renderchain_set_pass_size(
|
|||
width, height, 1,
|
||||
D3DUSAGE_RENDERTARGET,
|
||||
pass2->info.pass->fbo.fp_fbo ?
|
||||
D3DFMT_A32B32G32R32F : d3d9_get_argb8888_format(),
|
||||
D3DFMT_A32B32G32R32F : D3D9_ARGB8888_FORMAT,
|
||||
D3DPOOL_DEFAULT, 0, 0, 0,
|
||||
NULL, NULL, false);
|
||||
|
||||
|
@ -303,6 +303,45 @@ static INLINE bool d3d9_renderchain_set_pass_size(
|
|||
return true;
|
||||
}
|
||||
|
||||
static INLINE void d3d9_convert_geometry(
|
||||
const struct LinkInfo *info,
|
||||
unsigned *out_width,
|
||||
unsigned *out_height,
|
||||
unsigned width,
|
||||
unsigned height,
|
||||
D3DVIEWPORT9 *final_viewport)
|
||||
{
|
||||
switch (info->pass->fbo.type_x)
|
||||
{
|
||||
case RARCH_SCALE_VIEWPORT:
|
||||
*out_width = info->pass->fbo.scale_x * final_viewport->Width;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_ABSOLUTE:
|
||||
*out_width = info->pass->fbo.abs_x;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_INPUT:
|
||||
*out_width = info->pass->fbo.scale_x * width;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (info->pass->fbo.type_y)
|
||||
{
|
||||
case RARCH_SCALE_VIEWPORT:
|
||||
*out_height = info->pass->fbo.scale_y * final_viewport->Height;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_ABSOLUTE:
|
||||
*out_height = info->pass->fbo.abs_y;
|
||||
break;
|
||||
|
||||
case RARCH_SCALE_INPUT:
|
||||
*out_height = info->pass->fbo.scale_y * height;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static INLINE void d3d9_recompute_pass_sizes(
|
||||
LPDIRECT3DDEVICE9 dev,
|
||||
d3d9_renderchain_t *chain,
|
||||
|
|
|
@ -785,7 +785,7 @@ static bool d3d9_cg_renderchain_create_first_pass(
|
|||
struct shader_pass pass;
|
||||
struct d3d_matrix ident;
|
||||
unsigned fmt = (_fmt == RETRO_PIXEL_FORMAT_RGB565) ?
|
||||
d3d9_get_rgb565_format() : d3d9_get_xrgb8888_format();
|
||||
D3D9_RGB565_FORMAT : D3D9_XRGB8888_FORMAT;
|
||||
|
||||
d3d_matrix_identity(&ident);
|
||||
|
||||
|
|
|
@ -297,8 +297,8 @@ static bool hlsl_d3d9_renderchain_create_first_pass(
|
|||
struct shader_pass pass = { 0 };
|
||||
unsigned fmt =
|
||||
(_fmt == RETRO_PIXEL_FORMAT_RGB565)
|
||||
? d3d9_get_rgb565_format()
|
||||
: d3d9_get_xrgb8888_format();
|
||||
? D3D9_RGB565_FORMAT
|
||||
: D3D9_XRGB8888_FORMAT;
|
||||
|
||||
pass.info = *info;
|
||||
pass.last_width = 0;
|
||||
|
@ -515,22 +515,13 @@ static void hlsl_d3d9_renderchain_free(void *data)
|
|||
|
||||
static bool hlsl_d3d9_renderchain_init(
|
||||
d3d9_video_t *d3d,
|
||||
hlsl_renderchain_t *chain,
|
||||
LPDIRECT3DDEVICE9 dev,
|
||||
const D3DVIEWPORT9 *final_viewport,
|
||||
const struct LinkInfo *info,
|
||||
bool rgb32
|
||||
unsigned fmt
|
||||
)
|
||||
{
|
||||
hlsl_renderchain_t *chain = (hlsl_renderchain_t*)
|
||||
d3d->renderchain_data;
|
||||
unsigned fmt = (rgb32)
|
||||
? RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565;
|
||||
|
||||
if (!chain)
|
||||
return false;
|
||||
|
||||
RARCH_LOG("[D3D9]: Using HLSL shader backend.\n");
|
||||
|
||||
chain->chain.dev = dev;
|
||||
chain->chain.final_viewport = (D3DVIEWPORT9*)final_viewport;
|
||||
chain->chain.frame_count = 0;
|
||||
|
@ -886,11 +877,16 @@ static bool d3d9_hlsl_init_chain(d3d9_video_t *d3d,
|
|||
if (!d3d->renderchain_data)
|
||||
return false;
|
||||
|
||||
RARCH_LOG("[D3D9]: Using HLSL shader backend.\n");
|
||||
|
||||
if (
|
||||
!hlsl_d3d9_renderchain_init(
|
||||
d3d,
|
||||
d3d, d3d->renderchain_data,
|
||||
d3d->dev, &d3d->final_viewport, &link_info,
|
||||
rgb32)
|
||||
rgb32
|
||||
? RETRO_PIXEL_FORMAT_XRGB8888
|
||||
: RETRO_PIXEL_FORMAT_RGB565
|
||||
)
|
||||
)
|
||||
return false;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue