diff --git a/gfx/drivers_display/gfx_display_ctr.c b/gfx/drivers_display/gfx_display_ctr.c index 292476ca2c..1bab2f506f 100644 --- a/gfx/drivers_display/gfx_display_ctr.c +++ b/gfx/drivers_display/gfx_display_ctr.c @@ -27,13 +27,12 @@ #include "../drivers/ctr_gu.h" #include "../../ctr/gpu_old.h" -static void gfx_display_ctr_blend_begin(void *data) { } -static void gfx_display_ctr_blend_end(void *data) { } - static void gfx_display_ctr_draw(gfx_display_ctx_draw_t *draw, void *data, unsigned video_width, unsigned video_height) { + ctr_scale_vector_t scale_vector; int colorR, colorG, colorB, colorA; + ctr_vertex_t *v = NULL; struct ctr_texture *texture = NULL; const float *color = NULL; ctr_video_t *ctr = (ctr_video_t*)data; @@ -47,16 +46,16 @@ static void gfx_display_ctr_draw(gfx_display_ctx_draw_t *draw, if (!texture) return; - ctr_scale_vector_t scale_vector; ctr_set_scale_vector(&scale_vector, CTR_TOP_FRAMEBUFFER_WIDTH, CTR_TOP_FRAMEBUFFER_HEIGHT, texture->width, texture->height); ctrGuSetVertexShaderFloatUniform(0, (float*)&scale_vector, 1); - if ((ctr->vertex_cache.size - (ctr->vertex_cache.current - ctr->vertex_cache.buffer)) < 1) + if ((ctr->vertex_cache.size - (ctr->vertex_cache.current + - ctr->vertex_cache.buffer)) < 1) ctr->vertex_cache.current = ctr->vertex_cache.buffer; - ctr_vertex_t* v = ctr->vertex_cache.current++; + v = ctr->vertex_cache.current++; v->x0 = draw->x; v->y0 = 240 - draw->height - draw->y; @@ -128,9 +127,6 @@ static void gfx_display_ctr_draw(gfx_display_ctx_draw_t *draw, #endif } -static void gfx_display_ctr_draw_pipeline(gfx_display_ctx_draw_t *draw, - void *data, unsigned video_width, unsigned video_height) { } - static bool gfx_display_ctr_font_init_first( void **font_handle, void *video_data, const char *font_path, float font_size, @@ -146,9 +142,9 @@ static bool gfx_display_ctr_font_init_first( gfx_display_ctx_driver_t gfx_display_ctx_ctr = { gfx_display_ctr_draw, - gfx_display_ctr_draw_pipeline, - gfx_display_ctr_blend_begin, - gfx_display_ctr_blend_end, + NULL, /* draw_pipeline */ + NULL, /* blend_begin */ + NULL, /* blend_end */ NULL, /* get_default_mvp */ NULL, /* get_default_vertices */ NULL, /* get_default_tex_coords */ diff --git a/gfx/drivers_display/gfx_display_d3d8.c b/gfx/drivers_display/gfx_display_d3d8.c index 8ebf4edcaa..ea44f37998 100644 --- a/gfx/drivers_display/gfx_display_d3d8.c +++ b/gfx/drivers_display/gfx_display_d3d8.c @@ -74,7 +74,7 @@ static INT32 gfx_display_prim_to_d3d8_enum( break; } - /* TOD/FIXME - hack */ + /* TODO/FIXME - hack */ return 0; } @@ -218,9 +218,6 @@ static void gfx_display_d3d8_draw(gfx_display_ctx_draw_t *draw, d3d->menu_display.offset += draw->coords->vertices; } -static void gfx_display_d3d8_draw_pipeline(gfx_display_ctx_draw_t *draw, - void *data, unsigned video_width, unsigned video_height) { } - static bool gfx_display_d3d8_font_init_first( void **font_handle, void *video_data, const char *font_path, float font_size, @@ -237,7 +234,7 @@ static bool gfx_display_d3d8_font_init_first( gfx_display_ctx_driver_t gfx_display_ctx_d3d8 = { gfx_display_d3d8_draw, - gfx_display_d3d8_draw_pipeline, + NULL, /* draw_pipeline */ gfx_display_d3d8_blend_begin, gfx_display_d3d8_blend_end, gfx_display_d3d8_get_default_mvp, diff --git a/gfx/drivers_display/gfx_display_gdi.c b/gfx/drivers_display/gfx_display_gdi.c index 112f005ac9..d5fa9d992e 100644 --- a/gfx/drivers_display/gfx_display_gdi.c +++ b/gfx/drivers_display/gfx_display_gdi.c @@ -44,10 +44,6 @@ static const float *gfx_display_gdi_get_default_tex_coords(void) return &dummy[0]; } - -static void gfx_display_gdi_blend_begin(void *data) { } -static void gfx_display_gdi_blend_end(void *data) { } - static void gfx_display_gdi_draw(gfx_display_ctx_draw_t *draw, void *data, unsigned video_width, unsigned video_height) { @@ -118,9 +114,6 @@ static void gfx_display_gdi_draw(gfx_display_ctx_draw_t *draw, } } -static void gfx_display_gdi_draw_pipeline(gfx_display_ctx_draw_t *draw, - void *data, unsigned video_width, unsigned video_height) { } - static bool gfx_display_gdi_font_init_first( void **font_handle, void *video_data, const char *font_path, float gdi_font_size, @@ -137,9 +130,9 @@ static bool gfx_display_gdi_font_init_first( gfx_display_ctx_driver_t gfx_display_ctx_gdi = { gfx_display_gdi_draw, - gfx_display_gdi_draw_pipeline, - gfx_display_gdi_blend_begin, - gfx_display_gdi_blend_end, + NULL, /* draw_pipeline */ + NULL, /* blend_begin */ + NULL, /* blend_end */ NULL, /* get_default_mvp */ gfx_display_gdi_get_default_vertices, gfx_display_gdi_get_default_tex_coords, diff --git a/gfx/drivers_display/gfx_display_switch.c b/gfx/drivers_display/gfx_display_switch.c index 1f49a76c52..80727eacc4 100644 --- a/gfx/drivers_display/gfx_display_switch.c +++ b/gfx/drivers_display/gfx_display_switch.c @@ -22,13 +22,8 @@ #include "../gfx_display.h" -static void gfx_display_switch_blend_begin(void *data) { } -static void gfx_display_switch_blend_end(void *data) { } static void gfx_display_switch_draw(gfx_display_ctx_draw_t *draw, void *data, unsigned video_width, unsigned video_height) { } -static void gfx_display_switch_draw_pipeline( - gfx_display_ctx_draw_t *draw, - void *data, unsigned video_width, unsigned video_height) { } static bool gfx_display_switch_font_init_first( void **font_handle, void *video_data, @@ -57,9 +52,9 @@ static const float *gfx_display_switch_get_default_tex_coords(void) gfx_display_ctx_driver_t gfx_display_ctx_switch = { gfx_display_switch_draw, - gfx_display_switch_draw_pipeline, - gfx_display_switch_blend_begin, - gfx_display_switch_blend_end, + NULL, /* draw_pipeline */ + NULL, /* blend_begin */ + NULL, /* blend_end */ NULL, /* get_default_mvp */ gfx_display_switch_get_default_vertices, gfx_display_switch_get_default_tex_coords, diff --git a/gfx/drivers_display/gfx_display_vita2d.c b/gfx/drivers_display/gfx_display_vita2d.c index aabf4ce441..525d636272 100644 --- a/gfx/drivers_display/gfx_display_vita2d.c +++ b/gfx/drivers_display/gfx_display_vita2d.c @@ -74,9 +74,6 @@ static void *gfx_display_vita2d_get_default_mvp(void *data) return &vita2d->mvp_no_rot; } -static void gfx_display_vita2d_blend_begin(void *data) { } -static void gfx_display_vita2d_blend_end(void *data) { } - static void gfx_display_vita2d_draw(gfx_display_ctx_draw_t *draw, void *data, unsigned video_width, unsigned video_height) { @@ -134,9 +131,6 @@ static void gfx_display_vita2d_draw(gfx_display_ctx_draw_t *draw, } } -static void gfx_display_vita2d_draw_pipeline(gfx_display_ctx_draw_t *draw, - void *data, unsigned video_width, unsigned video_height) { } - static bool gfx_display_vita2d_font_init_first( void **font_handle, void *video_data, const char *font_path, float font_size, @@ -170,12 +164,11 @@ static void gfx_display_vita2d_scissor_end( vita2d_disable_clipping(); } - gfx_display_ctx_driver_t gfx_display_ctx_vita2d = { gfx_display_vita2d_draw, - gfx_display_vita2d_draw_pipeline, - gfx_display_vita2d_blend_begin, - gfx_display_vita2d_blend_end, + NULL, /* draw_pipeline */ + NULL, /* blend_begin */ + NULL, /* blend_end */ gfx_display_vita2d_get_default_mvp, gfx_display_vita2d_get_default_vertices, gfx_display_vita2d_get_default_tex_coords, diff --git a/gfx/drivers_display/gfx_display_wiiu.c b/gfx/drivers_display/gfx_display_wiiu.c index 4e3167c6cf..39a00be7dc 100644 --- a/gfx/drivers_display/gfx_display_wiiu.c +++ b/gfx/drivers_display/gfx_display_wiiu.c @@ -28,9 +28,6 @@ #include "../../wiiu/system/memory.h" #include "../../wiiu/wiiu_dbg.h" -static void gfx_display_wiiu_blend_begin(void *data) { } -static void gfx_display_wiiu_blend_end(void *data) { } - static void gfx_display_wiiu_draw(gfx_display_ctx_draw_t *draw, void *data, unsigned video_width, unsigned video_height) { @@ -45,43 +42,43 @@ static void gfx_display_wiiu_draw(gfx_display_ctx_draw_t *draw, switch(draw->pipeline_id) { - case VIDEO_SHADER_MENU: - GX2SetShader(&ribbon_shader); - break; - case VIDEO_SHADER_MENU_2: - GX2SetShader(&ribbon_simple_shader); - break; - case VIDEO_SHADER_MENU_3: - GX2SetShader(&snow_simple_shader); - break; - case VIDEO_SHADER_MENU_4: - GX2SetShader(&snow_shader); - break; - case VIDEO_SHADER_MENU_5: - GX2SetShader(&bokeh_shader); - break; - case VIDEO_SHADER_MENU_6: - GX2SetShader(&snowflake_shader); - break; - default: - break; + case VIDEO_SHADER_MENU: + GX2SetShader(&ribbon_shader); + break; + case VIDEO_SHADER_MENU_2: + GX2SetShader(&ribbon_simple_shader); + break; + case VIDEO_SHADER_MENU_3: + GX2SetShader(&snow_simple_shader); + break; + case VIDEO_SHADER_MENU_4: + GX2SetShader(&snow_shader); + break; + case VIDEO_SHADER_MENU_5: + GX2SetShader(&bokeh_shader); + break; + case VIDEO_SHADER_MENU_6: + GX2SetShader(&snowflake_shader); + break; + default: + break; } switch(draw->pipeline_id) { - case VIDEO_SHADER_MENU: - case VIDEO_SHADER_MENU_2: - GX2DrawEx(GX2_PRIMITIVE_MODE_TRIANGLE_STRIP, draw->coords->vertices, 0, 1); - GX2SetBlendControl(GX2_RENDER_TARGET_0, GX2_BLEND_MODE_SRC_ALPHA, GX2_BLEND_MODE_INV_SRC_ALPHA, - GX2_BLEND_COMBINE_MODE_ADD, - GX2_ENABLE, GX2_BLEND_MODE_SRC_ALPHA, GX2_BLEND_MODE_INV_SRC_ALPHA, - GX2_BLEND_COMBINE_MODE_ADD); - case VIDEO_SHADER_MENU_3: - case VIDEO_SHADER_MENU_4: - case VIDEO_SHADER_MENU_5: - case VIDEO_SHADER_MENU_6: - GX2DrawEx(GX2_PRIMITIVE_MODE_QUADS, 4, 0, 1); - break; + case VIDEO_SHADER_MENU: + case VIDEO_SHADER_MENU_2: + GX2DrawEx(GX2_PRIMITIVE_MODE_TRIANGLE_STRIP, draw->coords->vertices, 0, 1); + GX2SetBlendControl(GX2_RENDER_TARGET_0, GX2_BLEND_MODE_SRC_ALPHA, GX2_BLEND_MODE_INV_SRC_ALPHA, + GX2_BLEND_COMBINE_MODE_ADD, + GX2_ENABLE, GX2_BLEND_MODE_SRC_ALPHA, GX2_BLEND_MODE_INV_SRC_ALPHA, + GX2_BLEND_COMBINE_MODE_ADD); + case VIDEO_SHADER_MENU_3: + case VIDEO_SHADER_MENU_4: + case VIDEO_SHADER_MENU_5: + case VIDEO_SHADER_MENU_6: + GX2DrawEx(GX2_PRIMITIVE_MODE_QUADS, 4, 0, 1); + break; } } @@ -97,10 +94,10 @@ static void gfx_display_wiiu_draw(gfx_display_ctx_draw_t *draw, GX2SetShaderMode(GX2_SHADER_MODE_UNIFORM_BLOCK); GX2SetShader(&tex_shader); GX2SetVertexUniformBlock(tex_shader.vs.uniformBlocks[0].offset, - tex_shader.vs.uniformBlocks[0].size, - wiiu->ubo_mvp); + tex_shader.vs.uniformBlocks[0].size, + wiiu->ubo_mvp); GX2SetAttribBuffer(0, wiiu->vertex_cache_tex.size * sizeof(*wiiu->vertex_cache_tex.v), - sizeof(*wiiu->vertex_cache_tex.v), wiiu->vertex_cache_tex.v); + sizeof(*wiiu->vertex_cache_tex.v), wiiu->vertex_cache_tex.v); if (!draw->coords->vertex) { @@ -184,7 +181,7 @@ static void gfx_display_wiiu_draw(gfx_display_ctx_draw_t *draw, v->coord.height = 1.0f; v->color = COLOR_RGBA(0xFF * draw->coords->color[0], 0xFF * draw->coords->color[1], - 0xFF * draw->coords->color[2], 0xFF * draw->coords->color[3]); + 0xFF * draw->coords->color[2], 0xFF * draw->coords->color[3]); if (draw->texture) GX2SetPixelTexture((GX2Texture*)draw->texture, sprite_shader.ps.samplerVars[0].location); @@ -196,16 +193,18 @@ static void gfx_display_wiiu_draw(gfx_display_ctx_draw_t *draw, GX2SetShaderMode(GX2_SHADER_MODE_GEOMETRY_SHADER); GX2SetShader(&sprite_shader); -// GX2SetGeometryShaderInputRingBuffer(wiiu->input_ring_buffer, wiiu->input_ring_buffer_size); -// GX2SetGeometryShaderOutputRingBuffer(wiiu->output_ring_buffer, wiiu->output_ring_buffer_size); +#if 0 + GX2SetGeometryShaderInputRingBuffer(wiiu->input_ring_buffer, wiiu->input_ring_buffer_size); + GX2SetGeometryShaderOutputRingBuffer(wiiu->output_ring_buffer, wiiu->output_ring_buffer_size); +#endif GX2SetVertexUniformBlock(sprite_shader.vs.uniformBlocks[0].offset, - sprite_shader.vs.uniformBlocks[0].size, - wiiu->ubo_vp); + sprite_shader.vs.uniformBlocks[0].size, + wiiu->ubo_vp); GX2SetVertexUniformBlock(sprite_shader.vs.uniformBlocks[1].offset, - sprite_shader.vs.uniformBlocks[1].size, - wiiu->ubo_tex); + sprite_shader.vs.uniformBlocks[1].size, + wiiu->ubo_tex); GX2SetAttribBuffer(0, wiiu->vertex_cache.size * sizeof(*wiiu->vertex_cache.v), - sizeof(*wiiu->vertex_cache.v), wiiu->vertex_cache.v); + sizeof(*wiiu->vertex_cache.v), wiiu->vertex_cache.v); } static void gfx_display_wiiu_draw_pipeline(gfx_display_ctx_draw_t *draw, @@ -269,7 +268,7 @@ static bool gfx_display_wiiu_font_init_first( bool is_threaded) { font_data_t **handle = (font_data_t**)font_handle; - *handle = font_driver_init_first(video_data, + *handle = font_driver_init_first(video_data, font_path, font_size, true, is_threaded, FONT_DRIVER_RENDER_WIIU); @@ -298,8 +297,8 @@ static void gfx_display_wiiu_scissor_end( gfx_display_ctx_driver_t gfx_display_ctx_wiiu = { gfx_display_wiiu_draw, gfx_display_wiiu_draw_pipeline, - gfx_display_wiiu_blend_begin, - gfx_display_wiiu_blend_end, + NULL, /* blend_begin */ + NULL, /* blend_end */ NULL, /* get_default_mvp */ NULL, /* get_default_vertices */ NULL, /* get_default_tex_coords */