[VITA] Fix VitaGL and add VitaShaRK
This commit is contained in:
parent
6004d2db39
commit
3227dbcfe8
|
@ -2090,9 +2090,15 @@ ifeq ($(HAVE_MATH_NEON), 1)
|
||||||
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
|
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(HAVE_VITAGL), 1)
|
||||||
|
INCLUDE_DIRS += -I$(DEPS_DIR)/vitaShaRK/source
|
||||||
|
SOURCES := $(DEPS_DIR)/vitaShaRK/source
|
||||||
|
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(HAVE_VITAGL), 1)
|
ifeq ($(HAVE_VITAGL), 1)
|
||||||
DEFINES += -DHAVE_VITAGL -DSTB_DXT_IMPLEMENTATION -DSKIP_ERROR_HANDLING -DHAVE_SHARK
|
DEFINES += -DHAVE_VITAGL -DSTB_DXT_IMPLEMENTATION -DSKIP_ERROR_HANDLING -DHAVE_SHARK
|
||||||
INCLUDE_DIRS += -I$(DEPS_DIR)/vitaGL/source
|
INCLUDE_DIRS += -I$(DEPS_DIR)/vitaGL/source -I$(DEPS_DIR)/vitaShaRK/include
|
||||||
SOURCES := $(DEPS_DIR)/vitaGL/source $(DEPS_DIR)/vitaGL/source/utils
|
SOURCES := $(DEPS_DIR)/vitaGL/source $(DEPS_DIR)/vitaGL/source/utils
|
||||||
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
|
OBJ += $(patsubst %.c,%.o,$(foreach dir,$(SOURCES), $(wildcard $(dir)/*.c)))
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -123,7 +123,7 @@ CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
|
||||||
VITA_LIBS := -lSceDisplay_stub -lSceGxm_stub -lSceNet_stub -lSceNetCtl_stub -lSceAppUtil_stub \
|
VITA_LIBS := -lSceDisplay_stub -lSceGxm_stub -lSceNet_stub -lSceNetCtl_stub -lSceAppUtil_stub \
|
||||||
-lSceSysmodule_stub -lSceCtrl_stub -lSceHid_stub -lSceTouch_stub -lSceAudio_stub \
|
-lSceSysmodule_stub -lSceCtrl_stub -lSceHid_stub -lSceTouch_stub -lSceAudio_stub \
|
||||||
-lScePower_stub -lSceRtc_stub -lSceCommonDialog_stub -lScePgf_stub -lSceMotion_stub \
|
-lScePower_stub -lSceRtc_stub -lSceCommonDialog_stub -lScePgf_stub -lSceMotion_stub \
|
||||||
-lSceFiber_stub -lSceMotion_stub -lSceAppMgr_stub -lstdc++ -lpthread -lpng -lz
|
-lSceFiber_stub -lSceMotion_stub -lSceAppMgr_stub -lstdc++ -lpthread -lpng -lz -lSceShaccCg_stub
|
||||||
|
|
||||||
LIBS := $(WHOLE_START) -lretro_vita $(WHOLE_END) $(VITA_LIBS) -lm -lc
|
LIBS := $(WHOLE_START) -lretro_vita $(WHOLE_END) $(VITA_LIBS) -lm -lc
|
||||||
|
|
||||||
|
@ -156,7 +156,13 @@ all: $(TARGETS)
|
||||||
|
|
||||||
%.depend: ;
|
%.depend: ;
|
||||||
|
|
||||||
$(TARGET).elf: $(OBJ) libretro_vita.a
|
libSceShaccCg_stub.a:
|
||||||
|
mkdir -p deps/vitaShaRK/SceShaccCg
|
||||||
|
vita-libs-gen deps/vitaShaRK/SceShaccCg.yml deps/vitaShaRK/SceShaccCg
|
||||||
|
make -C deps/vitaShaRK/SceShaccCg ARCH=arm-vita-eabi
|
||||||
|
cp deps/vitaShaRK/SceShaccCg/libSceShaccCg_stub.a .
|
||||||
|
|
||||||
|
$(TARGET).elf: $(OBJ) libretro_vita.a libSceShaccCg_stub.a
|
||||||
$(LD) $(OBJ) $(LDFLAGS) $(LIBDIRS) $(LIBS) -o $@
|
$(LD) $(OBJ) $(LDFLAGS) $(LIBDIRS) $(LIBS) -o $@
|
||||||
|
|
||||||
%.velf: %.elf
|
%.velf: %.elf
|
||||||
|
@ -172,7 +178,7 @@ $(TARGET).elf: $(OBJ) libretro_vita.a
|
||||||
vita-pack-vpk -s param.sfo -b $< $@
|
vita-pack-vpk -s param.sfo -b $< $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJ) $(TARGET).elf $(TARGET).elf.unstripped.elf $(TARGET).velf $(TARGET).self param.sfo $(TARGET).vpk
|
rm -f $(OBJ) $(TARGET).elf $(TARGET).elf.unstripped.elf $(TARGET).velf $(TARGET).self param.sfo $(TARGET).vpk libSceShaccCg_stub.a deps/vitaShaRK/SceShaccCg
|
||||||
rm -f $(OBJ:.o=.depend)
|
rm -f $(OBJ:.o=.depend)
|
||||||
|
|
||||||
# Useful for developers
|
# Useful for developers
|
||||||
|
|
|
@ -256,7 +256,7 @@ static void heap_free(void *addr) {
|
||||||
heap_blk_free((uintptr_t)addr);
|
heap_blk_free((uintptr_t)addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mem_term(void) {
|
void vgl_mem_term(void) {
|
||||||
heap_destroy();
|
heap_destroy();
|
||||||
if (mempool_addr[0] != NULL) {
|
if (mempool_addr[0] != NULL) {
|
||||||
sceKernelFreeMemBlock(mempool_id[0]);
|
sceKernelFreeMemBlock(mempool_id[0]);
|
||||||
|
@ -268,9 +268,9 @@ void mem_term(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int mem_init(size_t size_ram, size_t size_cdram, size_t size_phycont) {
|
int vgl_mem_init(size_t size_ram, size_t size_cdram, size_t size_phycont) {
|
||||||
if (mempool_addr[0] != NULL)
|
if (mempool_addr[0] != NULL)
|
||||||
mem_term();
|
vgl_mem_term();
|
||||||
|
|
||||||
mempool_size[VGL_MEM_VRAM - 1] = ALIGN(size_cdram, 256 * 1024);
|
mempool_size[VGL_MEM_VRAM - 1] = ALIGN(size_cdram, 256 * 1024);
|
||||||
mempool_size[VGL_MEM_RAM - 1] = ALIGN(size_ram, 4 * 1024);
|
mempool_size[VGL_MEM_RAM - 1] = ALIGN(size_ram, 4 * 1024);
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
ifdef VITASDK
|
||||||
|
PREFIX = $(VITASDK)/bin/
|
||||||
|
endif
|
||||||
|
|
||||||
|
ARCH ?= $(PREFIX)arm-vita-eabi
|
||||||
|
AS = $(ARCH)-as
|
||||||
|
AR = $(ARCH)-ar
|
||||||
|
RANLIB = $(ARCH)-ranlib
|
||||||
|
|
||||||
|
TARGETS = libSceShaccCg_stub.a
|
||||||
|
TARGETS_WEAK = libSceShaccCg_stub_weak.a
|
||||||
|
|
||||||
|
SceShaccCg_OBJS = SceShaccCg_SceShaccCg_SceShaccCg_0205DE96.o SceShaccCg_SceShaccCg_SceShaccCg_07DDFC78.o SceShaccCg_SceShaccCg_SceShaccCg_0E1285A6.o SceShaccCg_SceShaccCg_SceShaccCg_152971B1.o SceShaccCg_SceShaccCg_SceShaccCg_17223BEB.o SceShaccCg_SceShaccCg_SceShaccCg_2654E73A.o SceShaccCg_SceShaccCg_SceShaccCg_268FAEE9.o SceShaccCg_SceShaccCg_sceShaccCgInitializeCompileOptions.o SceShaccCg_SceShaccCg_SceShaccCg_4595A388.o SceShaccCg_SceShaccCg_SceShaccCg_46FA0303.o SceShaccCg_SceShaccCg_SceShaccCg_56BFA825.o SceShaccCg_SceShaccCg_SceShaccCg_648739F3.o SceShaccCg_SceShaccCg_sceShaccCgCompileProgram.o SceShaccCg_SceShaccCg_SceShaccCg_6BB58825.o SceShaccCg_SceShaccCg_sceShaccCgSetDefaultAllocator.o SceShaccCg_SceShaccCg_SceShaccCg_6FB40CA9.o SceShaccCg_SceShaccCg_SceShaccCg_7B2CF324.o SceShaccCg_SceShaccCg_SceShaccCg_7BC25091.o SceShaccCg_SceShaccCg_SceShaccCg_7F430CCD.o SceShaccCg_SceShaccCg_SceShaccCg_95F57A23.o SceShaccCg_SceShaccCg_SceShaccCg_A067C481.o SceShaccCg_SceShaccCg_SceShaccCg_A13A8A1E.o SceShaccCg_SceShaccCg_SceShaccCg_A56B1A5B.o SceShaccCg_SceShaccCg_SceShaccCg_A7930FF6.o SceShaccCg_SceShaccCg_sceShaccCgInitializeCallbackList.o SceShaccCg_SceShaccCg_sceShaccCgDestroyCompileOutput.o SceShaccCg_SceShaccCg_SceShaccCg_B4AC9943.o SceShaccCg_SceShaccCg_SceShaccCg_BB703EE1.o SceShaccCg_SceShaccCg_SceShaccCg_D4378DB1.o SceShaccCg_SceShaccCg_SceShaccCg_DAD4AAE4.o SceShaccCg_SceShaccCg_SceShaccCg_DF3DDCFD.o SceShaccCg_SceShaccCg_SceShaccCg_EF8D59D6.o SceShaccCg_SceShaccCg_SceShaccCg_F4BAB902.o
|
||||||
|
SceShaccCg_weak_OBJS = SceShaccCg_SceShaccCg_SceShaccCg_0205DE96.wo SceShaccCg_SceShaccCg_SceShaccCg_07DDFC78.wo SceShaccCg_SceShaccCg_SceShaccCg_0E1285A6.wo SceShaccCg_SceShaccCg_SceShaccCg_152971B1.wo SceShaccCg_SceShaccCg_SceShaccCg_17223BEB.wo SceShaccCg_SceShaccCg_SceShaccCg_2654E73A.wo SceShaccCg_SceShaccCg_SceShaccCg_268FAEE9.wo SceShaccCg_SceShaccCg_sceShaccCgInitializeCompileOptions.wo SceShaccCg_SceShaccCg_SceShaccCg_4595A388.wo SceShaccCg_SceShaccCg_SceShaccCg_46FA0303.wo SceShaccCg_SceShaccCg_SceShaccCg_56BFA825.wo SceShaccCg_SceShaccCg_SceShaccCg_648739F3.wo SceShaccCg_SceShaccCg_sceShaccCgCompileProgram.wo SceShaccCg_SceShaccCg_SceShaccCg_6BB58825.wo SceShaccCg_SceShaccCg_sceShaccCgSetDefaultAllocator.wo SceShaccCg_SceShaccCg_SceShaccCg_6FB40CA9.wo SceShaccCg_SceShaccCg_SceShaccCg_7B2CF324.wo SceShaccCg_SceShaccCg_SceShaccCg_7BC25091.wo SceShaccCg_SceShaccCg_SceShaccCg_7F430CCD.wo SceShaccCg_SceShaccCg_SceShaccCg_95F57A23.wo SceShaccCg_SceShaccCg_SceShaccCg_A067C481.wo SceShaccCg_SceShaccCg_SceShaccCg_A13A8A1E.wo SceShaccCg_SceShaccCg_SceShaccCg_A56B1A5B.wo SceShaccCg_SceShaccCg_SceShaccCg_A7930FF6.wo SceShaccCg_SceShaccCg_sceShaccCgInitializeCallbackList.wo SceShaccCg_SceShaccCg_sceShaccCgDestroyCompileOutput.wo SceShaccCg_SceShaccCg_SceShaccCg_B4AC9943.wo SceShaccCg_SceShaccCg_SceShaccCg_BB703EE1.wo SceShaccCg_SceShaccCg_SceShaccCg_D4378DB1.wo SceShaccCg_SceShaccCg_SceShaccCg_DAD4AAE4.wo SceShaccCg_SceShaccCg_SceShaccCg_DF3DDCFD.wo SceShaccCg_SceShaccCg_SceShaccCg_EF8D59D6.wo SceShaccCg_SceShaccCg_SceShaccCg_F4BAB902.wo
|
||||||
|
SceKernel_OBJS =
|
||||||
|
ALL_OBJS=
|
||||||
|
|
||||||
|
all: $(TARGETS) $(TARGETS_WEAK)
|
||||||
|
|
||||||
|
define LIBRARY_template
|
||||||
|
$(1): $$($(1:lib%_stub.a=%)_OBJS)
|
||||||
|
ALL_OBJS += $$($(1:lib%_stub.a=%)_OBJS)
|
||||||
|
endef
|
||||||
|
define LIBRARY_WEAK_template
|
||||||
|
$(1): $$($(1:lib%_stub_weak.a=%)_weak_OBJS)
|
||||||
|
ALL_OBJS += $$($(1:lib%_stub_weak.a=%)_weak_OBJS)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(foreach library,$(TARGETS),$(eval $(call LIBRARY_template,$(library))))
|
||||||
|
$(foreach library,$(TARGETS_WEAK),$(eval $(call LIBRARY_WEAK_template,$(library))))
|
||||||
|
|
||||||
|
install: $(TARGETS) $(TARGETS_WEAK)
|
||||||
|
cp $(TARGETS) $(VITASDK)/arm-vita-eabi/lib
|
||||||
|
cp $(TARGETS_WEAK) $(VITASDK)/arm-vita-eabi/lib
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(TARGETS) $(TARGETS_WEAK) $(ALL_OBJS)
|
||||||
|
|
||||||
|
$(TARGETS) $(TARGETS_WEAK):
|
||||||
|
$(AR) cru $@ $?
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(AS) --defsym GEN_WEAK_EXPORTS=0 $< -o $@
|
||||||
|
|
||||||
|
%.wo: %.S
|
||||||
|
$(AS) --defsym GEN_WEAK_EXPORTS=1 $< -o $@
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include "vitashark.h"
|
#include "vitashark.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <psp2/shacccg.h>
|
#include "shacccg.h"
|
||||||
|
|
||||||
// Default path for SceShaccCg module location
|
// Default path for SceShaccCg module location
|
||||||
#define DEFAULT_SHACCCG_PATH "ur0:/data/libshacccg.suprx"
|
#define DEFAULT_SHACCCG_PATH "ur0:/data/libshacccg.suprx"
|
||||||
|
|
Loading…
Reference in New Issue