mirror of
https://github.com/libretro/RetroArch
synced 2025-03-25 07:43:52 +00:00
Turn ctr_set_scale_vector into a macro
This commit is contained in:
parent
e30793b06f
commit
b5244cbfe7
@ -27,6 +27,12 @@
|
||||
#define CTR_BOTTOM_FRAMEBUFFER_HEIGHT 240
|
||||
#define CTR_STATE_DATE_SIZE 11
|
||||
|
||||
#define CTR_SET_SCALE_VECTOR(vec, viewport_width, viewport_height, texture_width, texture_height) \
|
||||
(vec)->x = -2.0f / (viewport_width); \
|
||||
(vec)->y = -2.0f / (viewport_height); \
|
||||
(vec)->u = 1.0f / (texture_width); \
|
||||
(vec)->v = -1.0f / (texture_height)
|
||||
|
||||
#ifdef USE_CTRULIB_2
|
||||
extern u8* gfxTopLeftFramebuffers[2];
|
||||
extern u8* gfxTopRightFramebuffers[2];
|
||||
|
@ -356,6 +356,7 @@ static void ctr_state_thumbnail_geom(void *data)
|
||||
float scale;
|
||||
unsigned width, height;
|
||||
int x_offset, y_offset;
|
||||
ctr_scale_vector_t *vec = NULL;
|
||||
ctr_texture_t *texture = NULL;
|
||||
ctr_video_t *ctr = (ctr_video_t *)data;
|
||||
struct ctr_bottom_texture_data *o = NULL;
|
||||
@ -390,8 +391,10 @@ static void ctr_state_thumbnail_geom(void *data)
|
||||
+ texture->active_width * scale;
|
||||
o->frame_coords->y1 = o->frame_coords->y0
|
||||
+ texture->active_height * scale;
|
||||
vec = &o->scale_vector;
|
||||
|
||||
ctr_set_scale_vector(&o->scale_vector,
|
||||
CTR_SET_SCALE_VECTOR(
|
||||
vec,
|
||||
CTR_BOTTOM_FRAMEBUFFER_WIDTH,
|
||||
CTR_BOTTOM_FRAMEBUFFER_HEIGHT,
|
||||
texture->width,
|
||||
@ -427,7 +430,8 @@ static bool ctr_load_bottom_texture(void *data)
|
||||
}
|
||||
else
|
||||
{
|
||||
ctr_texture_t *texture = (ctr_texture_t *) o->texture;
|
||||
ctr_scale_vector_t *vec = NULL;
|
||||
ctr_texture_t *texture = (ctr_texture_t *)o->texture;
|
||||
|
||||
o->frame_coords->u0 = 0;
|
||||
o->frame_coords->v0 = 0;
|
||||
@ -439,7 +443,9 @@ static bool ctr_load_bottom_texture(void *data)
|
||||
o->frame_coords->x1 = o->frame_coords->x0 + texture->width;
|
||||
o->frame_coords->y1 = o->frame_coords->y0 + texture->height;
|
||||
|
||||
ctr_set_scale_vector(&o->scale_vector,
|
||||
vec = &o->scale_vector;
|
||||
|
||||
CTR_SET_SCALE_VECTOR(vec,
|
||||
CTR_BOTTOM_FRAMEBUFFER_WIDTH,
|
||||
CTR_BOTTOM_FRAMEBUFFER_HEIGHT,
|
||||
texture->width,
|
||||
@ -1083,6 +1089,8 @@ static void* ctr_init(const video_info_t* video,
|
||||
{
|
||||
size_t i;
|
||||
float refresh_rate;
|
||||
ctr_scale_vector_t *vec = NULL;
|
||||
ctr_scale_vector_t *menu_vec = NULL;
|
||||
u8 device_model = 0xFF;
|
||||
void* ctrinput = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
@ -1171,13 +1179,19 @@ static void* ctr_init(const video_info_t* video,
|
||||
ctr->menu.frame_coords->u1 = CTR_TOP_FRAMEBUFFER_WIDTH - 80;
|
||||
ctr->menu.frame_coords->v1 = CTR_TOP_FRAMEBUFFER_HEIGHT;
|
||||
GSPGPU_FlushDataCache(ctr->menu.frame_coords, sizeof(ctr_vertex_t));
|
||||
vec = &ctr->scale_vector;
|
||||
menu_vec = &ctr->menu.scale_vector;
|
||||
|
||||
ctr_set_scale_vector(&ctr->scale_vector,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH, CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
ctr->texture_width, ctr->texture_height);
|
||||
ctr_set_scale_vector(&ctr->menu.scale_vector,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH, CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
ctr->menu.texture_width, ctr->menu.texture_height);
|
||||
CTR_SET_SCALE_VECTOR(vec,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH,
|
||||
CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
ctr->texture_width,
|
||||
ctr->texture_height);
|
||||
CTR_SET_SCALE_VECTOR(menu_vec,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH,
|
||||
CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
ctr->menu.texture_width,
|
||||
ctr->menu.texture_height);
|
||||
|
||||
memset(ctr->texture_linear, 0x00, ctr->texture_width * ctr->texture_height * (ctr->rgb32? 4:2));
|
||||
#if 0
|
||||
@ -2203,8 +2217,9 @@ static bool ctr_overlay_load(void *data,
|
||||
|
||||
for (i = 0; i < num_images; i++)
|
||||
{
|
||||
uint32_t *src = NULL;
|
||||
uint32_t *dst = NULL;
|
||||
ctr_scale_vector_t *vec = NULL;
|
||||
uint32_t *src = NULL;
|
||||
uint32_t *dst = NULL;
|
||||
struct ctr_overlay_data *o = (struct ctr_overlay_data *)&ctr->overlay[i];
|
||||
|
||||
o->frame_coords = linearAlloc(sizeof(ctr_vertex_t));
|
||||
@ -2262,9 +2277,12 @@ static bool ctr_overlay_load(void *data,
|
||||
ctr_overlay_tex_geom(ctr, i, 0, 0, 1, 1);
|
||||
ctr_overlay_vertex_geom(ctr, i, 0, 0, 1, 1);
|
||||
|
||||
ctr_set_scale_vector(&o->scale_vector,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH, CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
o->texture.width, o->texture.height);
|
||||
vec = &o->scale_vector;
|
||||
CTR_SET_SCALE_VECTOR(vec,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH,
|
||||
CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
o->texture.width,
|
||||
o->texture.height);
|
||||
|
||||
ctr->overlay[i].alpha_mod = 1.0f;
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ static void gfx_display_ctr_draw(gfx_display_ctx_draw_t *draw,
|
||||
{
|
||||
ctr_scale_vector_t scale_vector;
|
||||
int colorR, colorG, colorB, colorA;
|
||||
ctr_scale_vector_t *vec = NULL;
|
||||
ctr_vertex_t *v = NULL;
|
||||
struct ctr_texture *texture = NULL;
|
||||
const float *color = NULL;
|
||||
@ -44,9 +45,13 @@ static void gfx_display_ctr_draw(gfx_display_ctx_draw_t *draw,
|
||||
if (!texture)
|
||||
return;
|
||||
|
||||
ctr_set_scale_vector(&scale_vector,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH, CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
texture->width, texture->height);
|
||||
vec = &scale_vector;
|
||||
CTR_SET_SCALE_VECTOR(
|
||||
vec,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH,
|
||||
CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
texture->width,
|
||||
texture->height);
|
||||
GPUCMD_AddWrite(GPUREG_GSH_BOOLUNIFORM, 0);
|
||||
ctrGuSetVertexShaderFloatUniform(0, (float*)&scale_vector, 1);
|
||||
|
||||
|
@ -43,6 +43,8 @@ static void* ctr_font_init(void* data, const char* font_path,
|
||||
float font_size, bool is_threaded)
|
||||
{
|
||||
int i, j;
|
||||
ctr_scale_vector_t *vec_top = NULL;
|
||||
ctr_scale_vector_t *vec_bottom = NULL;
|
||||
const uint8_t* src = NULL;
|
||||
uint8_t* tmp = NULL;
|
||||
const struct font_atlas* atlas = NULL;
|
||||
@ -88,15 +90,22 @@ static void* ctr_font_init(void* data, const char* font_path,
|
||||
linearFree(tmp);
|
||||
#endif
|
||||
|
||||
ctr_set_scale_vector(&font->scale_vector_top,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH,
|
||||
CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
font->texture.width, font->texture.height);
|
||||
vec_top = &font->scale_vector_top;
|
||||
vec_bottom = &font->scale_vector_bottom;
|
||||
|
||||
ctr_set_scale_vector(&font->scale_vector_bottom,
|
||||
CTR_BOTTOM_FRAMEBUFFER_WIDTH,
|
||||
CTR_BOTTOM_FRAMEBUFFER_HEIGHT,
|
||||
font->texture.width, font->texture.height);
|
||||
CTR_SET_SCALE_VECTOR(
|
||||
vec_top,
|
||||
CTR_TOP_FRAMEBUFFER_WIDTH,
|
||||
CTR_TOP_FRAMEBUFFER_HEIGHT,
|
||||
font->texture.width,
|
||||
font->texture.height);
|
||||
|
||||
CTR_SET_SCALE_VECTOR(
|
||||
vec_bottom,
|
||||
CTR_BOTTOM_FRAMEBUFFER_WIDTH,
|
||||
CTR_BOTTOM_FRAMEBUFFER_HEIGHT,
|
||||
font->texture.width,
|
||||
font->texture.height);
|
||||
|
||||
return font;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user