(CTR/3DS) reduce memory usage.

build fix.
This commit is contained in:
aliaspider 2015-10-20 12:34:53 +01:00
parent 3687b29d9a
commit 8cc805c38a
5 changed files with 37 additions and 11 deletions

View File

@ -27,7 +27,7 @@ CTR_STACK_SIZE = 0x400000
else
CTR_STACK_SIZE = 0x100000
endif
CTR_LINEAR_HEAP_SIZE = 0xE00000
CTR_LINEAR_HEAP_SIZE = 0x600000
include ctr/Makefile.cores
@ -178,9 +178,7 @@ else
OBJS += menu/menu_entry.o
OBJS += menu/menu_entries.o
OBJS += menu/menu_setting.o
OBJS += menu/menu_list.o
OBJS += menu/menu_cbs.o
OBJS += menu/menu_video.o
OBJS += menu/cbs/menu_cbs_ok.o
OBJS += menu/cbs/menu_cbs_cancel.o
OBJS += menu/cbs/menu_cbs_select.o

View File

@ -11,6 +11,7 @@ ifeq ($(LIBRETRO), gambatte)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), gpsp)
APP_TITLE = gpSP Libretro
@ -23,6 +24,7 @@ else ifeq ($(LIBRETRO), gpsp)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), fceumm)
APP_TITLE = FCeumm Libretro
@ -35,6 +37,7 @@ else ifeq ($(LIBRETRO), fceumm)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), nestopia)
APP_TITLE = Nestopia Libretro
@ -47,6 +50,7 @@ else ifeq ($(LIBRETRO), nestopia)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), nxengine)
APP_TITLE = NXengine Libretro
@ -59,6 +63,7 @@ else ifeq ($(LIBRETRO), nxengine)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), genesis_plus_gx)
APP_TITLE = Genesis Plus GX Libretro
@ -71,6 +76,7 @@ else ifeq ($(LIBRETRO), genesis_plus_gx)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), catsfc)
APP_TITLE = CATSFC Libretro
@ -83,6 +89,7 @@ else ifeq ($(LIBRETRO), catsfc)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), mednafen_wswan)
APP_TITLE = Mednafen wswan Libretro
@ -95,6 +102,7 @@ else ifeq ($(LIBRETRO), mednafen_wswan)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), mednafen_vb)
APP_TITLE = Mednafen VB Libretro
@ -107,6 +115,7 @@ else ifeq ($(LIBRETRO), mednafen_vb)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), mednafen_ngp)
APP_TITLE = Mednafen NGP Libretro
@ -119,6 +128,7 @@ else ifeq ($(LIBRETRO), mednafen_ngp)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), 2048)
APP_TITLE = 2048 Libretro
@ -131,6 +141,7 @@ else ifeq ($(LIBRETRO), 2048)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), picodrive)
APP_TITLE = Picodrive Libretro
@ -143,6 +154,7 @@ else ifeq ($(LIBRETRO), picodrive)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), snes9x_next)
APP_TITLE = Snes9x Next Libretro
@ -155,6 +167,7 @@ else ifeq ($(LIBRETRO), snes9x_next)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), mgba)
APP_TITLE = mGBA Libretro
@ -167,6 +180,7 @@ else ifeq ($(LIBRETRO), mgba)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), quicknes)
APP_TITLE = QuickNES Libretro
@ -179,6 +193,7 @@ else ifeq ($(LIBRETRO), quicknes)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), fb_alpha_neo)
APP_TITLE = Neo Geo (FB Alpha)
@ -191,6 +206,7 @@ else ifeq ($(LIBRETRO), fb_alpha_neo)
#APP_AUDIO = ctr/silent.wav
APP_SYSTEM_MODE = 80MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), fb_alpha_cps1)
APP_TITLE = Final Burn Alpha - CPS-1
@ -203,6 +219,7 @@ else ifeq ($(LIBRETRO), fb_alpha_cps1)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), fb_alpha_cps2)
APP_TITLE = Final Burn Alpha - CPS-2
@ -215,6 +232,7 @@ else ifeq ($(LIBRETRO), fb_alpha_cps2)
#APP_AUDIO = ctr/silent.wav
APP_SYSTEM_MODE = 80MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), catsfc_plus)
APP_TITLE = CATSFC Plus Libretro
@ -227,6 +245,7 @@ else ifeq ($(LIBRETRO), catsfc_plus)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), mednafen_pce_fast)
APP_TITLE = Mednafen/Beetle PCE FAST
@ -239,6 +258,7 @@ else ifeq ($(LIBRETRO), mednafen_pce_fast)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
else ifeq ($(LIBRETRO), pcsx_rearmed)
APP_TITLE = PCSX ReARMed
@ -251,6 +271,7 @@ else ifeq ($(LIBRETRO), pcsx_rearmed)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
CTR_LINEAR_HEAP_SIZE = 0xE00000
else ifeq ($(LIBRETRO), fmsx)
APP_TITLE = fMSX
@ -263,5 +284,6 @@ else ifeq ($(LIBRETRO), fmsx)
#APP_AUDIO = ctr/silent.wav
#APP_SYSTEM_MODE = 64MB
#APP_SYSTEM_MODE_EXT = Legacy
#CTR_LINEAR_HEAP_SIZE = 0x600000
endif

View File

@ -34,7 +34,6 @@
#include "../../file_ext.h"
#else
#include "../../menu/menu.h"
#include "../../menu/menu_list.h"
#endif
const char* elf_path_cst = "sdmc:/retroarch/test.3dsx";
@ -50,7 +49,7 @@ extern char* fake_heap_start;
extern char* fake_heap_end;
u32 __linear_heap;
u32 __heapBase;
static u32 heap_size;
u32 heap_size;
extern u32 linear_heap_size;
extern void (*__system_retAddr)(void);

View File

@ -258,12 +258,12 @@ static void* ctr_init(const video_info_t* video,
ctr->vp.full_height = CTR_TOP_FRAMEBUFFER_HEIGHT;
ctr->display_list_size = 0x40000;
ctr->display_list_size = 0x400;
ctr->display_list = linearAlloc(ctr->display_list_size * sizeof(uint32_t));
GPU_Reset(NULL, ctr->display_list, ctr->display_list_size);
ctr->texture_width = 1024;
ctr->texture_height = 512;
ctr->texture_width = video->input_scale * RARCH_SCALE_BASE;
ctr->texture_height = video->input_scale * RARCH_SCALE_BASE;
ctr->texture_linear =
linearMemAlign(ctr->texture_width * ctr->texture_height * sizeof(uint32_t), 128);
ctr->texture_swizzled =
@ -281,9 +281,9 @@ static void* ctr_init(const video_info_t* video,
ctr->menu.texture_width = 512;
ctr->menu.texture_height = 512;
ctr->menu.texture_linear =
linearMemAlign(ctr->texture_width * ctr->texture_height * sizeof(uint16_t), 128);
linearMemAlign(ctr->menu.texture_width * ctr->menu.texture_height * sizeof(uint16_t), 128);
ctr->menu.texture_swizzled =
linearMemAlign(ctr->texture_width * ctr->texture_height * sizeof(uint16_t), 128);
linearMemAlign(ctr->menu.texture_width * ctr->menu.texture_height * sizeof(uint16_t), 128);
ctr->menu.frame_coords = linearAlloc(sizeof(ctr_vertex_t));
@ -459,6 +459,11 @@ static bool ctr_frame(void* data, const void* frame,
frames = 0;
}
// extern u32 __linear_heap_size;
// extern u32 gpuCmdBufOffset;
// extern u32 heap_size;
// printf("0x%08X 0x%08X 0x%08X\r", heap_size, gpuCmdBufOffset, (__linear_heap_size - linearSpaceFree() +0x3FF) & ~0x3FF);
// printf("fps: %8.4f frames: %i (%X)\r", fps, total_frames++, (__linear_heap_size - linearSpaceFree()));
printf("fps: %8.4f frames: %i\r", fps, total_frames++);
fflush(stdout);
@ -506,7 +511,7 @@ static bool ctr_frame(void* data, const void* frame,
GSPGPU_FlushDataCache(NULL, ctr->texture_linear,
ctr->texture_width * ctr->texture_height * sizeof(uint16_t));
ctrGuCopyImage(false, ctr->texture_linear, ctr->texture_width, ctr->menu.texture_height, CTRGU_RGB565, false,
ctrGuCopyImage(false, ctr->texture_linear, ctr->texture_width, ctr->texture_height, CTRGU_RGB565, false,
ctr->texture_swizzled, ctr->texture_width, CTRGU_RGB565, true);
}

View File

@ -54,6 +54,8 @@
#ifndef DEBUG_HOLD
void wait_for_input(void);
#define DEBUG_HOLD() do{printf("%s@%s:%d.\n",__FUNCTION__, __FILE__, __LINE__);fflush(stdout);wait_for_input();}while(0)
#define DEBUG_VAR(X) printf( "%-20s: 0x%08X\n", #X, (u32)(X))
#define DEBUG_VAR64(X) printf( #X"\r\t\t\t\t : 0x%016llX\n", (u64)(X))
#endif