diff --git a/audio/drivers/ps3_audio.c b/audio/drivers/ps3_audio.c index eb8acbf71d..0318ce7017 100644 --- a/audio/drivers/ps3_audio.c +++ b/audio/drivers/ps3_audio.c @@ -23,6 +23,10 @@ #include "../../defines/ps3_defines.h" +#if defined(__CELLOS_LV2__) +#include +#endif + #define AUDIO_BLOCKS 8 #define AUDIO_CHANNELS 2 diff --git a/gfx/image/image.c b/gfx/image/image.c index 7e73aad878..543523c03d 100644 --- a/gfx/image/image.c +++ b/gfx/image/image.c @@ -35,19 +35,6 @@ #include #include "../../general.h" -#if defined(__CELLOS_LV2__) || defined(__PSLIGHT__) -#include "../../defines/ps3_defines.h" - -#ifdef __PSL1GHT__ -#include -#include -#include -#else -#include -#endif - -#endif - bool texture_image_set_color_shifts(unsigned *r_shift, unsigned *g_shift, unsigned *b_shift, unsigned *a_shift) { @@ -229,173 +216,6 @@ bool texture_image_load(struct texture_image *out_img, const char *path) return true; } -#elif defined(__CELLOS_LV2__) -typedef struct CtrlMallocArg -{ - uint32_t mallocCallCounts; -} CtrlMallocArg; - -typedef struct CtrlFreeArg -{ - uint32_t freeCallCounts; -} CtrlFreeArg; - -void *img_malloc(uint32_t size, void *a) -{ -#ifndef __PSL1GHT__ - CtrlMallocArg *arg; - arg = (CtrlMallocArg *) a; - arg->mallocCallCounts++; -#endif - - return malloc(size); -} - -static int img_free(void *ptr, void *a) -{ -#ifndef __PSL1GHT__ - CtrlFreeArg *arg; - arg = (CtrlFreeArg *) a; - arg->freeCallCounts++; -#endif - - free(ptr); - return 0; -} - -static bool ps3_load_png(const char *path, struct texture_image *out_img) -{ -#ifdef __PSL1GHT__ - uint64_t output_bytes_per_line; -#else - CtrlMallocArg MallocArg; - CtrlFreeArg FreeArg; - CellPngDecDataCtrlParam dCtrlParam; -#endif - CellPngDecThreadInParam InParam; - CellPngDecThreadOutParam OutParam; - CellPngDecSrc src; - CellPngDecOpnInfo opnInfo; - CellPngDecInfo info; - CellPngDecInParam inParam; - CellPngDecOutParam outParam; - CellPngDecDataOutInfo dOutInfo; - size_t img_size; - int ret_png, ret = -1; - CellPngDecMainHandle mHandle = PTR_NULL; - CellPngDecSubHandle sHandle = PTR_NULL; - - InParam.spu_enable = CELL_PNGDEC_SPU_THREAD_ENABLE; - InParam.ppu_prio = 512; - InParam.spu_prio = 200; -#ifdef __PSL1GHT__ - InParam.malloc_func = __get_addr32(__get_opd32(img_malloc)); - InParam.free_func = __get_addr32(__get_opd32(img_free)); - InParam.malloc_arg = 0; - InParam.free_arg = 0; -#else - MallocArg.mallocCallCounts = 0; - FreeArg.freeCallCounts = 0; - InParam.malloc_func = img_malloc; - InParam.malloc_arg = &MallocArg; - InParam.free_func = img_free; - InParam.free_arg = &FreeArg; -#endif - - ret_png = cellPngDecCreate(&mHandle, &InParam, &OutParam); - - if (ret_png != CELL_OK) - goto error; - - memset(&src, 0, sizeof(CellPngDecSrc)); - - src.stream_select = CELL_PNGDEC_FILE; -#ifdef __PSL1GHT__ - src.file_name = __get_addr32(path); -#else - src.file_name = path; -#endif - src.file_offset = 0; - src.file_size = 0; - src.stream_ptr = 0; - src.stream_size = 0; - src.spu_enable = CELL_PNGDEC_SPU_THREAD_ENABLE; - - ret = cellPngDecOpen(mHandle, &sHandle, &src, &opnInfo); - - if (ret != CELL_OK) - goto error; - - ret = cellPngDecReadHeader(mHandle, sHandle, &info); - - if (ret != CELL_OK) - goto error; - - inParam.cmd_ptr = PTR_NULL; - inParam.output_mode = CELL_PNGDEC_TOP_TO_BOTTOM; - inParam.color_space = CELL_PNGDEC_ARGB; - inParam.bit_depth = 8; - inParam.pack_flag = CELL_PNGDEC_1BYTE_PER_1PIXEL; - inParam.alpha_select = CELL_PNGDEC_STREAM_ALPHA; - - ret = cellPngDecSetParameter(mHandle, sHandle, &inParam, &outParam); - - if (ret != CELL_OK) - goto error; - - img_size = outParam.output_width * - outParam.output_height * sizeof(uint32_t); - out_img->pixels = (uint32_t*)malloc(img_size); - - if (!out_img->pixels) - goto error; - - memset(out_img->pixels, 0, img_size); - -#ifdef __PSL1GHT__ - output_bytes_per_line = outParam.output_width * 4; - ret = cellPngDecDecodeData(mHandle, sHandle, (uint8_t*) - out_img->pixels, &output_bytes_per_line, &dOutInfo); -#else - dCtrlParam.output_bytes_per_line = outParam.output_width * 4; - ret = cellPngDecDecodeData(mHandle, sHandle, (uint8_t*) - out_img->pixels, &dCtrlParam, &dOutInfo); -#endif - - if (ret != CELL_OK || dOutInfo.status != CELL_PNGDEC_DEC_STATUS_FINISH) - goto error; - - out_img->width = outParam.output_width; - out_img->height = outParam.output_height; - - cellPngDecClose(mHandle, sHandle); - cellPngDecDestroy(mHandle); - - return true; - -error: - if (out_img->pixels) - free(out_img->pixels); - out_img->pixels = 0; - if (mHandle && sHandle) - cellPngDecClose(mHandle, sHandle); - if (mHandle) - cellPngDecDestroy(mHandle); - - return false; -} - - -bool texture_image_load(struct texture_image *out_img, const char *path) -{ - if (!out_img) - return false; - - if (!ps3_load_png(path, out_img)) - return false; - - return true; -} #else bool texture_image_load(struct texture_image *out_img, const char *path) {