forked from len0rd/rockbox
quake: enable PQ_OPT5 (a fixed-point DrawSpans8)
This boosts performance to 13.0FPS on ipod6g for `timedemo demo1'. That's a +34% increase from baseline. Change-Id: I50bae7783ff2fce46e8257c251c6b639c069e7cb
This commit is contained in:
parent
f5bb7fddec
commit
4397194110
3 changed files with 53 additions and 3 deletions
|
|
@ -66,11 +66,41 @@ extern float d_sdivzstepu, d_tdivzstepu, d_zistepu;
|
|||
extern float d_sdivzstepv, d_tdivzstepv, d_zistepv;
|
||||
extern float d_sdivzorigin, d_tdivzorigin, d_ziorigin;
|
||||
|
||||
fixed16_t sadjust, tadjust;
|
||||
fixed16_t bbextents, bbextentt;
|
||||
extern int d_zistepu_fxp, d_zistepv_fxp, d_ziorigin_fxp;
|
||||
|
||||
#ifdef USE_PQ_OPT3
|
||||
extern int d_sdivzstepu_fxp, d_tdivzstepu_fxp, d_zistepu_fxp;
|
||||
extern int d_sdivzstepv_fxp, d_tdivzstepv_fxp, d_zistepv_fxp;
|
||||
extern int d_sdivzorigin_fxp, d_tdivzorigin_fxp, d_ziorigin_fxp;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef USE_PQ_OPT
|
||||
//JB:Optimization
|
||||
//FW: disable
|
||||
//extern int sdivzstepu, tdivzstepu, zistepu;
|
||||
//extern int sdivzstepv, tdivzstepv, zistepv;
|
||||
//extern int sdivzorigin, tdivzorigin, ziorigin;
|
||||
#endif
|
||||
|
||||
extern fixedpoint_t d_sdivzstepuFPM, d_tdivzstepuFPM, d_zistepuFPM;
|
||||
extern fixedpoint_t d_sdivzstepvFPM, d_tdivzstepvFPM, d_zistepvFPM;
|
||||
extern fixedpoint_t d_sdivzoriginFPM, d_tdivzoriginFPM, d_zioriginFPM;
|
||||
|
||||
//Dan: ID Software was already using a minute amount of fixed point. I duplicated
|
||||
//these just for consistancy in the conversion, and so the types would match.
|
||||
fixed16_t sadjust, tadjust;
|
||||
fixed16_t bbextents, bbextentt;
|
||||
fixedpoint_t sadjustFPM, tadjustFPM;
|
||||
fixedpoint_t bbextentsFPM, bbextenttFPM;
|
||||
|
||||
|
||||
void D_DrawSpans8 (espan_t *pspans);
|
||||
#ifdef USE_PQ_OPT
|
||||
//JB:Optimization
|
||||
void D_DrawSpans8WithZ (espan_t *pspans);
|
||||
#endif
|
||||
void D_DrawSpans8FPM (espan_t *pspans);
|
||||
void D_DrawSpans16 (espan_t *pspans);
|
||||
void D_DrawZSpans (espan_t *pspans);
|
||||
void Turbulent8 (espan_t *pspan);
|
||||
|
|
|
|||
|
|
@ -36,6 +36,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
float d_sdivzstepu, d_tdivzstepu, d_zistepu;
|
||||
float d_sdivzstepv, d_tdivzstepv, d_zistepv;
|
||||
float d_sdivzorigin, d_tdivzorigin, d_ziorigin;
|
||||
#ifdef USE_PQ_OPT3
|
||||
int d_sdivzstepu_fxp, d_tdivzstepu_fxp, d_zistepu_fxp;
|
||||
int d_sdivzstepv_fxp, d_tdivzstepv_fxp, d_zistepv_fxp;
|
||||
int d_sdivzorigin_fxp, d_tdivzorigin_fxp, d_ziorigin_fxp;
|
||||
#endif
|
||||
|
||||
int d_ziorigin_fxp, d_zistepv_fxp, d_zistepu_fxp;
|
||||
|
||||
#ifdef USE_PQ_OPT
|
||||
//JB: Optimization
|
||||
int sdivzstepu, tdivzstepu, zistepu;
|
||||
int sdivzstepv, tdivzstepv, zistepv;
|
||||
int sdivzorigin, tdivzorigin, ziorigin;
|
||||
#endif
|
||||
|
||||
#ifdef USEFPM
|
||||
fixedpoint_t d_sdivzstepuFPM, d_tdivzstepuFPM, d_zistepuFPM;
|
||||
fixedpoint_t d_sdivzstepvFPM, d_tdivzstepvFPM, d_zistepvFPM;
|
||||
fixedpoint_t d_sdivzoriginFPM, d_tdivzoriginFPM, d_zioriginFPM;
|
||||
#endif
|
||||
|
||||
fixed16_t sadjust, tadjust, bbextents, bbextentt;
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#define USE_PQ_OPT2
|
||||
//#define USE_PQ_OPT3 // don't use
|
||||
#define USE_PQ_OPT4
|
||||
//#define USE_PQ_OPT5
|
||||
#define USE_PQ_OPT5
|
||||
#endif
|
||||
|
||||
#define QUAKE_GAME // as opposed to utilities
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue