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