(menu display drivers) Cleanups

This commit is contained in:
twinaphex 2018-05-13 14:15:04 +02:00
parent 08820b5245
commit c88a7545a3
15 changed files with 135 additions and 137 deletions

View File

@ -38,19 +38,19 @@ static void menu_display_caca_blend_end(video_frame_info_t *video_info)
{
}
static void menu_display_caca_draw(void *data, video_frame_info_t *video_info)
static void menu_display_caca_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_caca_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_caca_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_caca_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_caca_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_caca_restore_clear_color(void)

View File

@ -53,18 +53,20 @@ static void menu_display_ctr_blend_end(video_frame_info_t *video_info)
}
static void menu_display_ctr_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_ctr_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
static void menu_display_ctr_draw(void *data, video_frame_info_t *video_info)
static void menu_display_ctr_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
struct ctr_texture *texture = NULL;
const float *color = NULL;
ctr_video_t *ctr = video_info ? (ctr_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
ctr_video_t *ctr = video_info ?
(ctr_video_t*)video_info->userdata : NULL;
if (!ctr || !draw)
return;
@ -157,7 +159,8 @@ static void menu_display_ctr_draw(void *data, video_frame_info_t *video_info)
#endif
}
static void menu_display_ctr_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_ctr_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}

View File

@ -58,15 +58,17 @@ static void menu_display_d3d10_blend_end(video_frame_info_t *video_info)
d3d10->blend_disable, NULL, D3D10_DEFAULT_SAMPLE_MASK);
}
static void menu_display_d3d10_viewport(void* data, video_frame_info_t *video_info)
static void menu_display_d3d10_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
static void menu_display_d3d10_draw(void* data, video_frame_info_t *video_info)
static void menu_display_d3d10_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
int vertex_count;
d3d10_video_t* d3d10 = video_info ? (d3d10_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t* draw = (menu_display_ctx_draw_t*)data;
d3d10_video_t* d3d10 = video_info ?
(d3d10_video_t*)video_info->userdata : NULL;
if (!d3d10 || !draw || !draw->texture)
return;
@ -183,11 +185,11 @@ static void menu_display_d3d10_draw(void* data, video_frame_info_t *video_info)
return;
}
static void menu_display_d3d10_draw_pipeline(void* data,
static void menu_display_d3d10_draw_pipeline(menu_display_ctx_draw_t* draw,
video_frame_info_t *video_info)
{
menu_display_ctx_draw_t* draw = (menu_display_ctx_draw_t*)data;
d3d10_video_t* d3d10 = video_info ? (d3d10_video_t*)video_info->userdata : NULL;
d3d10_video_t* d3d10 = video_info ?
(d3d10_video_t*)video_info->userdata : NULL;
if (!d3d10 || !draw)
return;

View File

@ -57,15 +57,16 @@ static void menu_display_d3d11_blend_end(video_frame_info_t *video_info)
d3d11->blend_disable, NULL, D3D11_DEFAULT_SAMPLE_MASK);
}
static void menu_display_d3d11_viewport(void* data, video_frame_info_t *video_info)
static void menu_display_d3d11_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
static void menu_display_d3d11_draw(void* data, video_frame_info_t *video_info)
static void menu_display_d3d11_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
int vertex_count;
d3d11_video_t* d3d11 = video_info ? (d3d11_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t* draw = (menu_display_ctx_draw_t*)data;
if (!d3d11 || !draw || !draw->texture)
return;
@ -183,11 +184,11 @@ static void menu_display_d3d11_draw(void* data, video_frame_info_t *video_info)
return;
}
static void menu_display_d3d11_draw_pipeline(void* data,
static void menu_display_d3d11_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
menu_display_ctx_draw_t* draw = (menu_display_ctx_draw_t*)data;
d3d11_video_t* d3d11 = video_info ? (d3d11_video_t*)video_info->userdata : NULL;
d3d11_video_t* d3d11 = video_info ?
(d3d11_video_t*)video_info->userdata : NULL;
if (!d3d11 || !draw)
return;

View File

@ -59,15 +59,17 @@ static void menu_display_d3d12_blend_end(video_frame_info_t *video_info)
D3D12SetPipelineState(d3d12->queue.cmd, d3d12->sprites.pipe);
}
static void menu_display_d3d12_viewport(void* data, video_frame_info_t *video_info)
static void menu_display_d3d12_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
static void menu_display_d3d12_draw(void* data, video_frame_info_t *video_info)
static void menu_display_d3d12_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
int vertex_count;
d3d12_video_t* d3d12 = video_info ? (d3d12_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t* draw = (menu_display_ctx_draw_t*)data;
d3d12_video_t* d3d12 = video_info ?
(d3d12_video_t*)video_info->userdata : NULL;
if (!d3d12 || !draw || !draw->texture)
return;
@ -200,10 +202,9 @@ static void menu_display_d3d12_draw(void* data, video_frame_info_t *video_info)
return;
}
static void menu_display_d3d12_draw_pipeline(void* data,
static void menu_display_d3d12_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
d3d12_video_t *d3d12 = video_info ?
(d3d12_video_t*)video_info->userdata : NULL;

View File

@ -101,7 +101,8 @@ static void menu_display_d3d8_blend_end(video_frame_info_t *video_info)
d3d8_disable_blend_func(d3d->dev);
}
static void menu_display_d3d8_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_d3d8_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
@ -119,14 +120,15 @@ static void menu_display_d3d8_bind_texture(void *data, d3d8_video_t *d3d)
d3d8_set_sampler_magfilter(d3d->dev, 0, D3DTEXF_COMM_LINEAR);
}
static void menu_display_d3d8_draw(void *data, video_frame_info_t *video_info)
static void menu_display_d3d8_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
unsigned i;
video_shader_ctx_mvp_t mvp;
math_matrix_4x4 mop, m1, m2;
unsigned width, height;
d3d8_video_t *d3d = video_info ? (d3d8_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
d3d8_video_t *d3d = video_info ?
(d3d8_video_t*)video_info->userdata : NULL;
Vertex * pv = NULL;
const float *vertex = NULL;
const float *tex_coord = NULL;
@ -227,7 +229,7 @@ static void menu_display_d3d8_draw(void *data, video_frame_info_t *video_info)
d3d->menu_display.offset += draw->coords->vertices;
}
static void menu_display_d3d8_draw_pipeline(void *data,
static void menu_display_d3d8_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}

View File

@ -101,7 +101,8 @@ static void menu_display_d3d9_blend_end(video_frame_info_t *video_info)
d3d9_disable_blend_func(d3d->dev);
}
static void menu_display_d3d9_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_d3d9_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
@ -123,15 +124,16 @@ static void menu_display_d3d9_bind_texture(void *data, d3d9_video_t *d3d)
d3d9_set_sampler_mipfilter(dev, 0, D3DTEXF_COMM_LINEAR);
}
static void menu_display_d3d9_draw(void *data, video_frame_info_t *video_info)
static void menu_display_d3d9_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
unsigned i;
video_shader_ctx_mvp_t mvp;
math_matrix_4x4 mop, m1, m2;
unsigned width, height;
LPDIRECT3DDEVICE9 dev;
d3d9_video_t *d3d = video_info ? (d3d9_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
d3d9_video_t *d3d = video_info ?
(d3d9_video_t*)video_info->userdata : NULL;
Vertex * pv = NULL;
const float *vertex = NULL;
const float *tex_coord = NULL;
@ -223,11 +225,10 @@ static void menu_display_d3d9_draw(void *data, video_frame_info_t *video_info)
d3d->menu_display.offset += draw->coords->vertices;
}
static void menu_display_d3d9_draw_pipeline(void *data,
static void menu_display_d3d9_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
#if defined(HAVE_HLSL) || defined(HAVE_CG)
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
static float t = 0;
video_coord_array_t *ca = NULL;

View File

@ -42,19 +42,19 @@ static void menu_display_gdi_blend_end(video_frame_info_t *video_info)
{
}
static void menu_display_gdi_draw(void *data, video_frame_info_t *video_info)
static void menu_display_gdi_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_gdi_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_gdi_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_gdi_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_gdi_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_gdi_restore_clear_color(void)

View File

@ -96,30 +96,20 @@ static void menu_display_gl_blend_end(video_frame_info_t *video_info)
glDisable(GL_BLEND);
}
static void menu_display_gl_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_gl_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
if (draw)
glViewport(draw->x, draw->y, draw->width, draw->height);
}
static void menu_display_gl_bind_texture(void *data)
{
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
if (!draw)
return;
glBindTexture(GL_TEXTURE_2D, (GLuint)draw->texture);
}
static void menu_display_gl_draw(void *data, video_frame_info_t *video_info)
static void menu_display_gl_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
video_shader_ctx_mvp_t mvp;
video_shader_ctx_coords_t coords;
gl_t *gl = video_info ? (gl_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
gl_t *gl = video_info ?
(gl_t*)video_info->userdata : NULL;
if (!gl || !draw)
return;
@ -132,7 +122,8 @@ static void menu_display_gl_draw(void *data, video_frame_info_t *video_info)
draw->coords->lut_tex_coord = menu_display_gl_get_default_tex_coords();
menu_display_gl_viewport(draw, video_info);
menu_display_gl_bind_texture(draw);
if (draw)
glBindTexture(GL_TEXTURE_2D, (GLuint)draw->texture);
coords.handle_data = gl;
coords.data = draw->coords;
@ -151,14 +142,13 @@ static void menu_display_gl_draw(void *data, video_frame_info_t *video_info)
gl->coords.color = gl->white_color_ptr;
}
static void menu_display_gl_draw_pipeline(void *data,
static void menu_display_gl_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
#ifdef HAVE_SHADERPIPELINE
video_shader_ctx_info_t shader_info;
struct uniform_info uniform_param;
static float t = 0;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
video_coord_array_t *ca = menu_display_get_coords_array();
draw->x = 0;

View File

@ -36,20 +36,19 @@ static void menu_display_null_blend_end(video_frame_info_t *video_info)
{
}
static void menu_display_null_draw(void *data, video_frame_info_t *video_info)
static void menu_display_null_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_null_draw_pipeline(
void *data, video_frame_info_t *video_info)
menu_display_ctx_draw_t *draw, video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_null_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_null_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_null_restore_clear_color(void)

View File

@ -38,19 +38,19 @@ static void menu_display_vga_blend_end(video_frame_info_t *video_info)
{
}
static void menu_display_vga_draw(void *data, video_frame_info_t *video_info)
static void menu_display_vga_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_vga_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_vga_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_vga_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_vga_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
(void)data;
}
static void menu_display_vga_restore_clear_color(void)

View File

@ -94,21 +94,16 @@ static void menu_display_vita2d_blend_end(video_frame_info_t *video_info)
}
static void menu_display_vita2d_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_vita2d_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
vita_video_t *vita2d = video_info ? (vita_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
if (!vita2d || !draw)
return;
#if 0
vita2d_texture_set_wvp(draw->x, draw->y, draw->width, draw->height);
#endif
}
static void menu_display_vita2d_draw(void *data,
static void menu_display_vita2d_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
#if 0
@ -119,8 +114,8 @@ static void menu_display_vita2d_draw(void *data,
const float *vertex = NULL;
const float *tex_coord = NULL;
const float *color = NULL;
vita_video_t *vita2d = video_info ? (vita_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
vita_video_t *vita2d = video_info ?
(vita_video_t*)video_info->userdata : NULL;
if (!vita2d || !draw)
return;
@ -200,11 +195,9 @@ static void menu_display_vita2d_draw(void *data,
}
}
static void menu_display_vita2d_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_vita2d_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
#ifdef HAVE_SHADERPIPELINE
#endif
}
static void menu_display_vita2d_restore_clear_color(void)

View File

@ -99,10 +99,9 @@ static unsigned to_menu_pipeline(
}
#endif
static void menu_display_vk_viewport(void *data,
static void menu_display_vk_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
vk_t *vk = video_info ? (vk_t*)video_info->userdata
: NULL;
@ -117,17 +116,17 @@ static void menu_display_vk_viewport(void *data,
vk->vk_vp.maxDepth = 1.0f;
}
static void menu_display_vk_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_vk_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
#ifdef HAVE_SHADERPIPELINE
float output_size[2];
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
video_coord_array_t *ca = NULL;
vk_t *vk = video_info ? (vk_t*)video_info->userdata : NULL;
static uint8_t ubo_scratch_data[768];
static float t = 0.0f;
static struct video_coords blank_coords;
float output_size[2];
video_coord_array_t *ca = NULL;
vk_t *vk = video_info ?
(vk_t*)video_info->userdata : NULL;
if (!vk || !draw)
return;
@ -179,7 +178,8 @@ static void menu_display_vk_draw_pipeline(void *data, video_frame_info_t *video_
#endif
}
static void menu_display_vk_draw(void *data, video_frame_info_t *video_info)
static void menu_display_vk_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
unsigned i;
struct vk_buffer_range range;
@ -188,8 +188,8 @@ static void menu_display_vk_draw(void *data, video_frame_info_t *video_info)
const float *tex_coord = NULL;
const float *color = NULL;
struct vk_vertex *pv = NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
vk_t *vk = video_info ? (vk_t*)video_info->userdata : NULL;
vk_t *vk = video_info ?
(vk_t*)video_info->userdata : NULL;
if (!vk || !draw)
return;

View File

@ -54,17 +54,18 @@ static void menu_display_wiiu_blend_end(video_frame_info_t *video_info)
}
static void menu_display_wiiu_viewport(void *data, video_frame_info_t *video_info)
static void menu_display_wiiu_viewport(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
}
static void menu_display_wiiu_draw(void *data, video_frame_info_t *video_info)
static void menu_display_wiiu_draw(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
wiiu_video_t *wiiu = video_info ? (wiiu_video_t*)video_info->userdata : NULL;
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
wiiu_video_t *wiiu = video_info ?
(wiiu_video_t*)video_info->userdata : NULL;
if (!wiiu || !draw)
return;
@ -237,11 +238,12 @@ static void menu_display_wiiu_draw(void *data, video_frame_info_t *video_info)
sizeof(*wiiu->vertex_cache.v), wiiu->vertex_cache.v);
}
static void menu_display_wiiu_draw_pipeline(void *data, video_frame_info_t *video_info)
static void menu_display_wiiu_draw_pipeline(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info)
{
menu_display_ctx_draw_t *draw = (menu_display_ctx_draw_t*)data;
video_coord_array_t *ca = NULL;
wiiu_video_t *wiiu = video_info ? (wiiu_video_t*)video_info->userdata : NULL;
wiiu_video_t *wiiu = video_info ?
(wiiu_video_t*)video_info->userdata : NULL;
if (!wiiu || !draw)
return;

View File

@ -338,13 +338,17 @@ typedef struct menu_display_frame_info
bool shadows_enable;
} menu_display_frame_info_t;
typedef struct menu_display_ctx_draw menu_display_ctx_draw_t;
typedef struct menu_display_ctx_driver
{
/* Draw graphics to the screen. */
void (*draw)(void *data, video_frame_info_t *video_info);
void (*draw)(menu_display_ctx_draw_t *draw, video_frame_info_t *video_info);
/* Draw one of the menu pipeline shaders. */
void (*draw_pipeline)(void *data, video_frame_info_t *video_info);
void (*viewport)(void *data, video_frame_info_t *video_info);
void (*draw_pipeline)(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info);
void (*viewport)(menu_display_ctx_draw_t *draw,
video_frame_info_t *video_info);
/* Start blending operation. */
void (*blend_begin)(video_frame_info_t *video_info);
/* Finish blending operation. */