mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-01-22 09:01:57 -05:00
PSP: Use fast clear
This commit is contained in:
parent
79a996d6cd
commit
feb3aa9c8c
5 changed files with 46 additions and 12 deletions
|
@ -1,6 +1,12 @@
|
||||||
TARGET = ClassiCube-psp
|
TARGET = ClassiCube-psp
|
||||||
SOURCES = $(wildcard src/*.c) $(wildcard third_party/bearssl/src/*.c)
|
PSP_EBOOT_TITLE = ClassiCube
|
||||||
OBJS = $(patsubst %.c, %.o, $(SOURCES))
|
PSP_EBOOT_ICON = misc/psp/ICON0.png
|
||||||
|
|
||||||
|
BUILD_DIR := build-psp
|
||||||
|
SOURCE_DIRS := src third_party/bearssl/src
|
||||||
|
|
||||||
|
C_FILES := $(foreach dir,$(SOURCE_DIRS),$(wildcard $(dir)/*.c))
|
||||||
|
OBJS := $(addprefix $(BUILD_DIR)/, $(notdir $(C_FILES:%.c=%.o)))
|
||||||
|
|
||||||
INCDIR = third_party/bearssl/inc
|
INCDIR = third_party/bearssl/inc
|
||||||
CFLAGS = -g -O1 -fno-math-errno
|
CFLAGS = -g -O1 -fno-math-errno
|
||||||
|
@ -10,11 +16,12 @@ LIBDIR =
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
LIBS = -lm -lpspgum -lpspgu -lpspge -lpspdisplay -lpspctrl
|
LIBS = -lm -lpspgum -lpspgu -lpspge -lpspdisplay -lpspctrl
|
||||||
|
|
||||||
BUILD_PRX = 1
|
# Dependency tracking
|
||||||
|
DEPFLAGS = -MT $@ -MMD -MP -MF $(BUILD_DIR)/$*.d
|
||||||
|
DEPFILES := $(OBJS:%.o=%.d)
|
||||||
|
|
||||||
EXTRA_TARGETS = EBOOT.PBP
|
BUILD_PRX = 1
|
||||||
PSP_EBOOT_TITLE = ClassiCube
|
EXTRA_TARGETS = $(BUILD_DIR) EBOOT.PBP
|
||||||
PSP_EBOOT_ICON = misc/psp/ICON0.png
|
|
||||||
|
|
||||||
ifeq ($(strip $(PSPSDK)),)
|
ifeq ($(strip $(PSPSDK)),)
|
||||||
$(warning "Please set PSPSDK variables in your environment. For example:")
|
$(warning "Please set PSPSDK variables in your environment. For example:")
|
||||||
|
@ -26,3 +33,21 @@ $(error Failed to find PSPSDK installation)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(PSPSDK)/lib/build.mak
|
include $(PSPSDK)/lib/build.mak
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# object generation
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
$(BUILD_DIR):
|
||||||
|
mkdir -p $(BUILD_DIR)
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o : src/%.c
|
||||||
|
$(CC) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o : third_party/bearssl/src/%.c
|
||||||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
# Dependency tracking
|
||||||
|
$(DEPFILES):
|
||||||
|
|
||||||
|
include $(wildcard $(DEPFILES))
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#define FB_SIZE (BUFFER_WIDTH * SCREEN_HEIGHT * 4)
|
#define FB_SIZE (BUFFER_WIDTH * SCREEN_HEIGHT * 4)
|
||||||
static unsigned int __attribute__((aligned(16))) list[262144];
|
static unsigned int __attribute__((aligned(16))) list[262144];
|
||||||
|
|
||||||
|
#define GE_CMD_TEXTUREMAPENABLE 0x1E
|
||||||
|
|
||||||
/*########################################################################################################################*
|
/*########################################################################################################################*
|
||||||
*---------------------------------------------------------General---------------------------------------------------------*
|
*---------------------------------------------------------General---------------------------------------------------------*
|
||||||
|
@ -264,7 +265,7 @@ void Gfx_BeginFrame(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gfx_ClearBuffers(GfxBuffers buffers) {
|
void Gfx_ClearBuffers(GfxBuffers buffers) {
|
||||||
int targets = 0;
|
int targets = GU_FAST_CLEAR_BIT;
|
||||||
if (buffers & GFX_BUFFER_COLOR) targets |= GU_COLOR_BUFFER_BIT;
|
if (buffers & GFX_BUFFER_COLOR) targets |= GU_COLOR_BUFFER_BIT;
|
||||||
if (buffers & GFX_BUFFER_DEPTH) targets |= GU_DEPTH_BUFFER_BIT;
|
if (buffers & GFX_BUFFER_DEPTH) targets |= GU_DEPTH_BUFFER_BIT;
|
||||||
|
|
||||||
|
@ -297,6 +298,7 @@ static int vb_size;
|
||||||
|
|
||||||
GfxResourceID Gfx_CreateIb2(int count, Gfx_FillIBFunc fillFunc, void* obj) {
|
GfxResourceID Gfx_CreateIb2(int count, Gfx_FillIBFunc fillFunc, void* obj) {
|
||||||
fillFunc(gfx_indices, count, obj);
|
fillFunc(gfx_indices, count, obj);
|
||||||
|
return gfx_indices;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gfx_BindIb(GfxResourceID ib) { }
|
void Gfx_BindIb(GfxResourceID ib) { }
|
||||||
|
|
|
@ -196,6 +196,10 @@ static void OnMouseWheel(void* obj, float delta) {
|
||||||
Launcher_Active->MouseWheel(Launcher_Active, delta);
|
Launcher_Active->MouseWheel(Launcher_Active, delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void OnClosing(void* obj) {
|
||||||
|
Launcher_ShouldExit = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*########################################################################################################################*
|
/*########################################################################################################################*
|
||||||
*-----------------------------------------------------------Main body-----------------------------------------------------*
|
*-----------------------------------------------------------Main body-----------------------------------------------------*
|
||||||
|
@ -203,6 +207,7 @@ static void OnMouseWheel(void* obj, float delta) {
|
||||||
static void Launcher_Init(void) {
|
static void Launcher_Init(void) {
|
||||||
Event_Register_(&WindowEvents.Resized, NULL, OnResize);
|
Event_Register_(&WindowEvents.Resized, NULL, OnResize);
|
||||||
Event_Register_(&WindowEvents.StateChanged, NULL, OnResize);
|
Event_Register_(&WindowEvents.StateChanged, NULL, OnResize);
|
||||||
|
Event_Register_(&WindowEvents.Closing, NULL, OnClosing);
|
||||||
|
|
||||||
Event_Register_(&InputEvents.Down, NULL, OnInputDown);
|
Event_Register_(&InputEvents.Down, NULL, OnInputDown);
|
||||||
Event_Register_(&InputEvents.Wheel, NULL, OnMouseWheel);
|
Event_Register_(&InputEvents.Wheel, NULL, OnMouseWheel);
|
||||||
|
|
|
@ -106,7 +106,9 @@ void Window_Create3D(int width, int height) { DoCreateWindow(width, height, SDL_
|
||||||
void Window_Create3D(int width, int height) { DoCreateWindow(width, height, 0); }
|
void Window_Create3D(int width, int height) { DoCreateWindow(width, height, 0); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Window_Destroy(void) { }
|
void Window_Destroy(void) {
|
||||||
|
SDL_DestroyWindow(win_handle);
|
||||||
|
}
|
||||||
|
|
||||||
void Window_SetTitle(const cc_string* title) {
|
void Window_SetTitle(const cc_string* title) {
|
||||||
char str[NATIVE_STR_LEN];
|
char str[NATIVE_STR_LEN];
|
||||||
|
@ -318,7 +320,6 @@ void Window_ProcessEvents(float delta) {
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
Window_Main.Exists = false;
|
Window_Main.Exists = false;
|
||||||
Event_RaiseVoid(&WindowEvents.Closing);
|
Event_RaiseVoid(&WindowEvents.Closing);
|
||||||
SDL_DestroyWindow(win_handle);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_RENDER_DEVICE_RESET:
|
case SDL_RENDER_DEVICE_RESET:
|
||||||
|
|
|
@ -90,7 +90,9 @@ void Window_Create3D(int width, int height) { DoCreateWindow(width, height, SDL_
|
||||||
void Window_Create3D(int width, int height) { DoCreateWindow(width, height, 0); }
|
void Window_Create3D(int width, int height) { DoCreateWindow(width, height, 0); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Window_Destroy(void) { }
|
void Window_Destroy(void) {
|
||||||
|
SDL_DestroyWindow(win_handle);
|
||||||
|
}
|
||||||
|
|
||||||
void Window_SetTitle(const cc_string* title) {
|
void Window_SetTitle(const cc_string* title) {
|
||||||
char str[NATIVE_STR_LEN];
|
char str[NATIVE_STR_LEN];
|
||||||
|
@ -280,7 +282,6 @@ void Window_ProcessEvents(float delta) {
|
||||||
case SDL_EVENT_QUIT:
|
case SDL_EVENT_QUIT:
|
||||||
Window_Main.Exists = false;
|
Window_Main.Exists = false;
|
||||||
Event_RaiseVoid(&WindowEvents.Closing);
|
Event_RaiseVoid(&WindowEvents.Closing);
|
||||||
SDL_DestroyWindow(win_handle);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_EVENT_RENDER_DEVICE_RESET:
|
case SDL_EVENT_RENDER_DEVICE_RESET:
|
||||||
|
|
Loading…
Reference in a new issue