From 6b184a185741e281e3fbc7c222e71010ebaa7fc2 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Tue, 24 Jan 2023 03:36:18 +0100 Subject: [PATCH] (D3D10) Cleanups - get rid of some inline functions --- gfx/common/d3d10_common.h | 23 --------------- gfx/drivers/d3d10.c | 37 ++++++++++++++++++------- gfx/drivers_display/gfx_display_d3d10.c | 21 ++++++++------ 3 files changed, 40 insertions(+), 41 deletions(-) diff --git a/gfx/common/d3d10_common.h b/gfx/common/d3d10_common.h index 3c1959b785..9ba5923b28 100644 --- a/gfx/common/d3d10_common.h +++ b/gfx/common/d3d10_common.h @@ -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); diff --git a/gfx/drivers/d3d10.c b/gfx/drivers/d3d10.c index aa85a77733..4bdba21130 100644 --- a/gfx/drivers/d3d10.c +++ b/gfx/drivers/d3d10.c @@ -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; } } diff --git a/gfx/drivers_display/gfx_display_d3d10.c b/gfx/drivers_display/gfx_display_d3d10.c index f92797ffb0..9b3eca97e2 100644 --- a/gfx/drivers_display/gfx_display_d3d10.c +++ b/gfx/drivers_display/gfx_display_d3d10.c @@ -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: