(D3D10) Cleanups - get rid of some inline functions

This commit is contained in:
libretroadmin 2023-01-24 03:36:18 +01:00
parent 980196b24d
commit 6b184a1857
3 changed files with 40 additions and 41 deletions

View File

@ -222,20 +222,6 @@ typedef struct
uint16_t flags;
} d3d10_video_t;
#if !defined(__cplusplus) || defined(CINTERFACE)
static INLINE void D3D10SetVertexBuffer(
D3D10Device device_context,
UINT slot,
D3D10Buffer const vertex_buffer,
UINT stride,
UINT offset)
{
device_context->lpVtbl->IASetVertexBuffers(
device_context, slot, 1, (D3D10Buffer* const)&vertex_buffer, &stride, &offset);
}
/* end of auto-generated */
#endif
void d3d10_init_texture(D3D10Device device, d3d10_texture_t* texture);
static INLINE void d3d10_release_texture(d3d10_texture_t* texture)
@ -278,15 +264,6 @@ static INLINE void d3d10_release_shader(d3d10_shader_t* shader)
Release(shader->gs);
}
static INLINE DXGI_FORMAT
d3d10_get_closest_match_texture2D(D3D10Device device, DXGI_FORMAT desired_format)
{
return d3d10_get_closest_match(
device, desired_format,
D3D10_FORMAT_SUPPORT_TEXTURE2D
| D3D10_FORMAT_SUPPORT_SHADER_SAMPLE);
}
static INLINE void d3d10_set_shader(D3D10Device ctx, d3d10_shader_t* shader)
{
ctx->lpVtbl->IASetInputLayout(ctx, shader->layout);

View File

@ -249,6 +249,7 @@ static void d3d10_get_overlay_interface(void* data, const video_overlay_interfac
static void d3d10_render_overlay(d3d10_video_t *d3d10)
{
UINT offset = 0, stride = 0;
int i;
if (d3d10->flags & D3D10_ST_FLAG_OVERLAYS_FULLSCREEN)
@ -259,7 +260,9 @@ static void d3d10_render_overlay(d3d10_video_t *d3d10)
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->overlays.vbo, sizeof(d3d10_sprite_t), 0);
stride = sizeof(d3d10_sprite_t);
d3d10->device->lpVtbl->IASetVertexBuffers(
d3d10->device, 0, 1, (D3D10Buffer* const)&d3d10->overlays.vbo, &stride, &offset);
d3d10->device->lpVtbl->PSSetSamplers(d3d10->device, 0, 1,
&d3d10->samplers[RARCH_FILTER_UNSPEC][RARCH_WRAP_DEFAULT]);
@ -1269,6 +1272,7 @@ static bool d3d10_gfx_frame(
video_frame_info_t* video_info)
{
unsigned i;
UINT offset = 0, stride = 0;
d3d10_texture_t* texture = NULL;
d3d10_video_t * d3d10 = (d3d10_video_t*)data;
D3D10Device context = d3d10->device;
@ -1387,7 +1391,9 @@ static bool d3d10_gfx_frame(
width, height, pitch, d3d10->format, frame, &d3d10->frame.texture[0]);
}
D3D10SetVertexBuffer(context, 0, d3d10->frame.vbo, sizeof(d3d10_vertex_t), 0);
stride = sizeof(d3d10_vertex_t);
context->lpVtbl->IASetVertexBuffers(
context, 0, 1, (D3D10Buffer* const)&d3d10->frame.vbo, &stride, &offset);
context->lpVtbl->OMSetBlendState(context, d3d10->blend_disable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
@ -1530,11 +1536,13 @@ static bool d3d10_gfx_frame(
if ( (d3d10->flags & D3D10_ST_FLAG_MENU_ENABLE)
&& d3d10->menu.texture.handle)
{
UINT offset = 0, stride = 0;
if (d3d10->flags & D3D10_ST_FLAG_MENU_FULLSCREEN)
context->lpVtbl->RSSetViewports(context, 1, &d3d10->viewport);
d3d10_set_shader(context, &d3d10->shaders[VIDEO_SHADER_STOCK_BLEND]);
D3D10SetVertexBuffer(context, 0, d3d10->menu.vbo, sizeof(d3d10_vertex_t), 0);
context->lpVtbl->IASetVertexBuffers(
context, 0, 1, (D3D10Buffer* const)&d3d10->menu.vbo, &stride, &offset);
context->lpVtbl->VSSetConstantBuffers(context, 0, 1, &d3d10->ubo);
d3d10_set_texture_and_sampler(context, 0, &d3d10->menu.texture);
context->lpVtbl->Draw(context, 4, 0);
@ -1560,8 +1568,11 @@ static bool d3d10_gfx_frame(
if (d3d10->flags & D3D10_ST_FLAG_MENU_ENABLE)
#endif
{
UINT offset = 0, stride = 0;
stride = sizeof(d3d10_sprite_t);
context->lpVtbl->RSSetViewports(context, 1, &d3d10->viewport);
D3D10SetVertexBuffer(context, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
context->lpVtbl->IASetVertexBuffers(
context, 0, 1, (D3D10Buffer* const)&d3d10->sprites.vbo, &stride, &offset);
}
#endif
@ -1574,11 +1585,14 @@ static bool d3d10_gfx_frame(
{
if (osd_params)
{
UINT stride = 0, offset = 0;
context->lpVtbl->RSSetViewports(context, 1, &d3d10->viewport);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
D3D10SetVertexBuffer(context, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
stride = sizeof(d3d10_sprite_t);
context->lpVtbl->IASetVertexBuffers(
context, 0, 1, (D3D10Buffer* const)&d3d10->sprites.vbo, &stride, &offset);
font_driver_render_msg(d3d10,
stat_text,
(const struct font_params*)osd_params, NULL);
@ -1598,11 +1612,14 @@ static bool d3d10_gfx_frame(
if (msg && *msg)
{
UINT offset = 0, stride = 0;
d3d10->device->lpVtbl->RSSetViewports(d3d10->device, 1, &d3d10->viewport);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable, NULL,
D3D10_DEFAULT_SAMPLE_MASK);
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
stride = sizeof(d3d10_sprite_t);
d3d10->device->lpVtbl->IASetVertexBuffers(
d3d10->device, 0, 1, (D3D10Buffer* const)&d3d10->sprites.vbo, &stride, &offset);
font_driver_render_msg(d3d10, msg, NULL, NULL);
}
d3d10->flags &= ~D3D10_ST_FLAG_SPRITES_ENABLE;
@ -1626,13 +1643,13 @@ static void d3d10_gfx_set_nonblock_state(void* data, bool toggle,
if (toggle)
{
d3d10->flags &= ~D3D10_ST_FLAG_VSYNC;
d3d10->swap_interval = 0;
d3d10->flags &= ~D3D10_ST_FLAG_VSYNC;
d3d10->swap_interval = 0;
}
else
{
d3d10->flags |= D3D10_ST_FLAG_VSYNC;
d3d10->swap_interval = swap_interval;
d3d10->flags |= D3D10_ST_FLAG_VSYNC;
d3d10->swap_interval = swap_interval;
}
}

View File

@ -45,8 +45,9 @@ static void gfx_display_d3d10_blend_end(void *data)
static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
void *data, unsigned video_width, unsigned video_height)
{
int vertex_count = 1;
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
UINT offset = 0, stride = 0;
int vertex_count = 1;
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
if (!d3d10 || !draw || !draw->texture)
return;
@ -61,12 +62,13 @@ static void gfx_display_d3d10_draw(gfx_display_ctx_draw_t *draw,
case VIDEO_SHADER_MENU_6:
d3d10_set_shader(d3d10->device, &d3d10->shaders[draw->pipeline_id]);
d3d10->device->lpVtbl->Draw(d3d10->device, draw->coords->vertices, 0);
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_enable,
NULL, D3D10_DEFAULT_SAMPLE_MASK);
d3d10_set_shader(d3d10->device, &d3d10->sprites.shader);
D3D10SetVertexBuffer(d3d10->device, 0, d3d10->sprites.vbo, sizeof(d3d10_sprite_t), 0);
stride = sizeof(d3d10_sprite_t);
d3d10->device->lpVtbl->IASetVertexBuffers(
d3d10->device, 0, 1, (D3D10Buffer* const)&d3d10->sprites.vbo, &stride, &offset);
d3d10->device->lpVtbl->IASetPrimitiveTopology(d3d10->device,
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST);
return;
@ -177,6 +179,7 @@ static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw,
gfx_display_t *p_disp,
void *data, unsigned video_width, unsigned video_height)
{
UINT stride = 0, offset = 0;
d3d10_video_t* d3d10 = (d3d10_video_t*)data;
if (!d3d10 || !draw)
@ -206,8 +209,9 @@ static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw,
d3d10->device->lpVtbl->CreateBuffer(d3d10->device, &desc,
&vertex_data, &d3d10->menu_pipeline_vbo);
}
D3D10SetVertexBuffer(d3d10->device, 0,
d3d10->menu_pipeline_vbo, 2 * sizeof(float), 0);
stride = 2 * sizeof(float);
d3d10->device->lpVtbl->IASetVertexBuffers(
d3d10->device, 0, 1, (D3D10Buffer* const)&d3d10->menu_pipeline_vbo, &stride, &offset);
draw->coords->vertices = ca->coords.vertices;
d3d10->device->lpVtbl->OMSetBlendState(d3d10->device,
d3d10->blend_pipeline,
@ -219,8 +223,9 @@ static void gfx_display_d3d10_draw_pipeline(gfx_display_ctx_draw_t* draw,
case VIDEO_SHADER_MENU_4:
case VIDEO_SHADER_MENU_5:
case VIDEO_SHADER_MENU_6:
D3D10SetVertexBuffer(d3d10->device, 0,
d3d10->frame.vbo, sizeof(d3d10_vertex_t), 0);
stride = sizeof(d3d10_vertex_t);
d3d10->device->lpVtbl->IASetVertexBuffers(
d3d10->device, 0, 1, (D3D10Buffer* const)&d3d10->frame.vbo, &stride, &offset);
draw->coords->vertices = 4;
break;
default: