00001 /* 00002 * PSP Software Development Kit - http://www.pspdev.org 00003 * ----------------------------------------------------------------------- 00004 * Licensed under the BSD license, see LICENSE in PSPSDK root for details. 00005 * 00006 * pspvfpu.h - Prototypes for the VFPU library 00007 * 00008 * Copyright (c) 2005 Jeremy Fitzhardinge <jeremy@goop.org> 00009 * 00010 * $Id: pspvfpu.h 1751 2006-01-26 01:42:38Z jsgf $ 00011 */ 00012 #ifndef __PSPVFPU_H__ 00013 #define __PSPVFPU_H__ 00014 00015 00016 #ifdef __cplusplus 00017 extern "C" { 00018 #endif 00019 00020 struct pspvfpu_context; 00021 typedef unsigned char vfpumatrixset_t; 00022 00023 #define VMAT0 (1<<0) 00024 #define VMAT1 (1<<1) 00025 #define VMAT2 (1<<2) 00026 #define VMAT3 (1<<3) 00027 #define VMAT4 (1<<4) 00028 #define VMAT5 (1<<5) 00029 #define VMAT6 (1<<6) 00030 #define VMAT7 (1<<7) 00031 00032 #define VFPU_ALIGNMENT (sizeof(float) * 4) /* alignment required for VFPU matrix loads and stores */ 00033 00041 struct pspvfpu_context *pspvfpu_initcontext(void); 00042 00049 void pspvfpu_deletecontext(struct pspvfpu_context *context); 00050 00069 void pspvfpu_use_matrices(struct pspvfpu_context *context, 00070 vfpumatrixset_t keepset, vfpumatrixset_t tempset); 00071 00072 #ifdef __cplusplus 00073 } 00074 #endif 00075 00076 #endif /* __PSPVFPU_H__ */