Do white texture freeing outside of gfx_display_init_white_texture
This commit is contained in:
parent
a74d24c3ce
commit
eb0376fe7d
|
@ -1774,9 +1774,6 @@ void gfx_display_init_white_texture(uintptr_t white_texture)
|
||||||
ti.height = 1;
|
ti.height = 1;
|
||||||
ti.pixels = (uint32_t*)&white_data;
|
ti.pixels = (uint32_t*)&white_data;
|
||||||
|
|
||||||
if (gfx_display_white_texture)
|
|
||||||
video_driver_texture_unload(&white_texture);
|
|
||||||
|
|
||||||
video_driver_texture_load(&ti,
|
video_driver_texture_load(&ti,
|
||||||
TEXTURE_FILTER_NEAREST, &white_texture);
|
TEXTURE_FILTER_NEAREST, &white_texture);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7746,6 +7746,9 @@ static void materialui_free(void *data)
|
||||||
video_coord_array_free(&mui->font_data.list.raster_block.carr);
|
video_coord_array_free(&mui->font_data.list.raster_block.carr);
|
||||||
video_coord_array_free(&mui->font_data.hint.raster_block.carr);
|
video_coord_array_free(&mui->font_data.hint.raster_block.carr);
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
|
|
||||||
font_driver_bind_block(NULL, NULL);
|
font_driver_bind_block(NULL, NULL);
|
||||||
|
|
||||||
if (mui->thumbnail_path_data)
|
if (mui->thumbnail_path_data)
|
||||||
|
@ -7834,6 +7837,8 @@ static bool materialui_load_image(void *userdata, void *data, enum menu_image_ty
|
||||||
materialui_context_bg_destroy(mui);
|
materialui_context_bg_destroy(mui);
|
||||||
video_driver_texture_load(data,
|
video_driver_texture_load(data,
|
||||||
TEXTURE_FILTER_MIPMAP_LINEAR, &mui->textures.bg);
|
TEXTURE_FILTER_MIPMAP_LINEAR, &mui->textures.bg);
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8274,6 +8279,8 @@ static void materialui_context_reset(void *data, bool is_threaded)
|
||||||
|
|
||||||
materialui_layout(mui, is_threaded);
|
materialui_layout(mui, is_threaded);
|
||||||
materialui_context_bg_destroy(mui);
|
materialui_context_bg_destroy(mui);
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
materialui_context_reset_textures(mui);
|
materialui_context_reset_textures(mui);
|
||||||
materialui_context_reset_playlist_icons(mui);
|
materialui_context_reset_playlist_icons(mui);
|
||||||
|
|
|
@ -771,8 +771,6 @@ static void ozone_free(void *data)
|
||||||
video_coord_array_free(&ozone->fonts.entries_sublabel.raster_block.carr);
|
video_coord_array_free(&ozone->fonts.entries_sublabel.raster_block.carr);
|
||||||
video_coord_array_free(&ozone->fonts.sidebar.raster_block.carr);
|
video_coord_array_free(&ozone->fonts.sidebar.raster_block.carr);
|
||||||
|
|
||||||
font_driver_bind_block(NULL, NULL);
|
|
||||||
|
|
||||||
ozone_free_list_nodes(&ozone->selection_buf_old, false);
|
ozone_free_list_nodes(&ozone->selection_buf_old, false);
|
||||||
ozone_free_list_nodes(&ozone->horizontal_list, false);
|
ozone_free_list_nodes(&ozone->horizontal_list, false);
|
||||||
file_list_deinitialize(&ozone->selection_buf_old);
|
file_list_deinitialize(&ozone->selection_buf_old);
|
||||||
|
@ -784,6 +782,12 @@ static void ozone_free(void *data)
|
||||||
if (ozone->thumbnail_path_data)
|
if (ozone->thumbnail_path_data)
|
||||||
free(ozone->thumbnail_path_data);
|
free(ozone->thumbnail_path_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
|
|
||||||
|
font_driver_bind_block(NULL, NULL);
|
||||||
|
|
||||||
gfx_animation_unset_update_time_cb();
|
gfx_animation_unset_update_time_cb();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1167,6 +1171,8 @@ static void ozone_context_reset(void *data, bool is_threaded)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
|
|
||||||
/* Horizontal list */
|
/* Horizontal list */
|
||||||
|
|
|
@ -4789,6 +4789,11 @@ static void rgui_free(void *data)
|
||||||
|
|
||||||
if (rgui)
|
if (rgui)
|
||||||
{
|
{
|
||||||
|
if (rgui->widgets_supported)
|
||||||
|
{
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
|
}
|
||||||
if (rgui->thumbnail_path_data)
|
if (rgui->thumbnail_path_data)
|
||||||
free(rgui->thumbnail_path_data);
|
free(rgui->thumbnail_path_data);
|
||||||
}
|
}
|
||||||
|
@ -5664,7 +5669,11 @@ static void rgui_context_reset(void *data, bool is_threaded)
|
||||||
|
|
||||||
#ifdef HAVE_GFX_WIDGETS
|
#ifdef HAVE_GFX_WIDGETS
|
||||||
if (rgui->widgets_supported)
|
if (rgui->widgets_supported)
|
||||||
|
{
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
video_driver_monitor_reset();
|
video_driver_monitor_reset();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3348,7 +3348,7 @@ static void *stripes_init(void **userdata, bool video_is_threaded)
|
||||||
{
|
{
|
||||||
unsigned width, height;
|
unsigned width, height;
|
||||||
int i;
|
int i;
|
||||||
stripes_handle_t *stripes = NULL;
|
stripes_handle_t *stripes = NULL;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
|
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
|
||||||
float scale_value = settings->floats.menu_scale_factor * 100.0f;
|
float scale_value = settings->floats.menu_scale_factor * 100.0f;
|
||||||
|
@ -3493,6 +3493,9 @@ static void stripes_free(void *data)
|
||||||
free(stripes->bg_file_path);
|
free(stripes->bg_file_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
|
|
||||||
font_driver_bind_block(NULL, NULL);
|
font_driver_bind_block(NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3521,6 +3524,8 @@ static bool stripes_load_image(void *userdata, void *data, enum menu_image_type
|
||||||
video_driver_texture_load(data,
|
video_driver_texture_load(data,
|
||||||
TEXTURE_FILTER_MIPMAP_LINEAR,
|
TEXTURE_FILTER_MIPMAP_LINEAR,
|
||||||
&stripes->textures.bg);
|
&stripes->textures.bg);
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
break;
|
break;
|
||||||
case MENU_IMAGE_THUMBNAIL:
|
case MENU_IMAGE_THUMBNAIL:
|
||||||
|
@ -3694,6 +3699,8 @@ static void stripes_context_reset_textures(
|
||||||
for (i = 0; i < STRIPES_TEXTURE_LAST; i++)
|
for (i = 0; i < STRIPES_TEXTURE_LAST; i++)
|
||||||
gfx_display_reset_textures_list(stripes_texture_path(i), iconpath, &stripes->textures.list[i], TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL);
|
gfx_display_reset_textures_list(stripes_texture_path(i), iconpath, &stripes->textures.list[i], TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL);
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
|
|
||||||
stripes->main_menu_node.icon = stripes->textures.list[STRIPES_TEXTURE_MAIN_MENU];
|
stripes->main_menu_node.icon = stripes->textures.list[STRIPES_TEXTURE_MAIN_MENU];
|
||||||
|
|
|
@ -5715,6 +5715,9 @@ static void xmb_free(void *data)
|
||||||
free(xmb->thumbnail_path_data);
|
free(xmb->thumbnail_path_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
|
|
||||||
font_driver_bind_block(NULL, NULL);
|
font_driver_bind_block(NULL, NULL);
|
||||||
|
|
||||||
gfx_animation_unset_update_time_cb();
|
gfx_animation_unset_update_time_cb();
|
||||||
|
@ -5741,6 +5744,8 @@ static bool xmb_load_image(void *userdata, void *data,
|
||||||
case MENU_IMAGE_WALLPAPER:
|
case MENU_IMAGE_WALLPAPER:
|
||||||
xmb_context_bg_destroy(xmb);
|
xmb_context_bg_destroy(xmb);
|
||||||
video_driver_texture_unload(&xmb->textures.bg);
|
video_driver_texture_unload(&xmb->textures.bg);
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
video_driver_texture_load(data,
|
video_driver_texture_load(data,
|
||||||
TEXTURE_FILTER_MIPMAP_LINEAR,
|
TEXTURE_FILTER_MIPMAP_LINEAR,
|
||||||
&xmb->textures.bg);
|
&xmb->textures.bg);
|
||||||
|
@ -6018,6 +6023,8 @@ static void xmb_context_reset_textures(
|
||||||
|
|
||||||
xmb->assets_missing = false;
|
xmb->assets_missing = false;
|
||||||
|
|
||||||
|
if (gfx_display_white_texture)
|
||||||
|
video_driver_texture_unload(&gfx_display_white_texture);
|
||||||
gfx_display_init_white_texture(gfx_display_white_texture);
|
gfx_display_init_white_texture(gfx_display_white_texture);
|
||||||
|
|
||||||
for (i = 0; i < XMB_TEXTURE_LAST; i++)
|
for (i = 0; i < XMB_TEXTURE_LAST; i++)
|
||||||
|
|
Loading…
Reference in New Issue