mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-08-03 18:57:27 -04:00
Slightly simplify ST calculation
This commit is contained in:
parent
3dc7b93eff
commit
34474b32aa
@ -43,4 +43,5 @@
|
|||||||
#define PRIM_VTX_TRCODE 40 // trivial-reject clipping flags (against -w/+w)
|
#define PRIM_VTX_TRCODE 40 // trivial-reject clipping flags (against -w/+w)
|
||||||
#define PRIM_VTX_SIZE 42
|
#define PRIM_VTX_SIZE 42
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -137,7 +137,7 @@ GPUCmd_UploadVertex:
|
|||||||
addi vtx, %lo(VERTEX_CACHE)
|
addi vtx, %lo(VERTEX_CACHE)
|
||||||
sdv vpos, PRIM_VTX_X ,vtx
|
sdv vpos, PRIM_VTX_X ,vtx
|
||||||
sdv vcol, PRIM_VTX_R ,vtx
|
sdv vcol, PRIM_VTX_R ,vtx
|
||||||
sdv vtex, PRIM_VTX_TEX_S ,vtx
|
slv vtex, PRIM_VTX_TEX_S ,vtx
|
||||||
|
|
||||||
# == matrix multiply ==
|
# == matrix multiply ==
|
||||||
li mtx_ptr, %lo(GL_MATRIX_MVP)
|
li mtx_ptr, %lo(GL_MATRIX_MVP)
|
||||||
@ -343,41 +343,36 @@ GL_TnL:
|
|||||||
|
|
||||||
#define vtexsize $v06
|
#define vtexsize $v06
|
||||||
#define vtexoffset $v07
|
#define vtexoffset $v07
|
||||||
#define vstrq $v08
|
#define vst $v08
|
||||||
|
|
||||||
ldv vstrq, PRIM_VTX_TEX_S,vtx # S + T + R + Q
|
llv vst, PRIM_VTX_TEX_S,vtx # S + T
|
||||||
suv vrgba, SCREEN_VTX_RGBA,vtx
|
suv vrgba, SCREEN_VTX_RGBA,vtx
|
||||||
|
|
||||||
li s1, %lo(GL_STATE_TEX_SIZE)
|
li s1, %lo(GL_STATE_TEX_SIZE)
|
||||||
llv vtexsize.s, 0,s1
|
llv vtexsize.s, 0,s1
|
||||||
llv vtexoffset.s, 4,s1
|
llv vtexoffset.s, 4,s1
|
||||||
|
|
||||||
#define vinvq_i $v26
|
#define vst_i $v28
|
||||||
#define vinvq_f $v27
|
#define vst_f $v29
|
||||||
#define vstrq_i $v28
|
|
||||||
#define vstrq_f $v29
|
|
||||||
#define q e3
|
|
||||||
|
|
||||||
# Scale texcoord by texsize and subtract offset (to correct for bilinear sampling if active)
|
# Scale texcoord by texsize and subtract offset (to correct for bilinear sampling if active)
|
||||||
#vmudn v___, vstrq, vtexsize
|
#vmudn v___, vst, vtexsize
|
||||||
# vmadh vstrq, vtexoffset, K1
|
# vmadh vst, vtexoffset, K1
|
||||||
|
|
||||||
#vmudn v___, vstrq, vtexsize
|
#vmudn v___, vst, vtexsize
|
||||||
#vmadh vstrq, vtexoffset, K1
|
#vmadh vst, vtexoffset, K1
|
||||||
#vmudl vstrq, vstrq, vtexsize
|
#vmudl vst, vst, vtexsize
|
||||||
|
|
||||||
vmudh v___, vstrq, vtexsize
|
vmudh v___, vst, vtexsize
|
||||||
vsar vstrq_i, COP2_ACC_HI
|
vsar vst_i, COP2_ACC_HI
|
||||||
vsar vstrq_f, COP2_ACC_MD
|
vsar vst_f, COP2_ACC_MD
|
||||||
|
|
||||||
vmudl vstrq_f, vstrq_f, K8192
|
vmudl vst_f, vst_f, K8192
|
||||||
vmadm vstrq_i, vstrq_i, K8192
|
vmadm vst_i, vst_i, K8192
|
||||||
vmadn vstrq, vzero, vzero
|
vmadn vst, vzero, vzero
|
||||||
|
|
||||||
#undef vinvq_i
|
#undef vst_i
|
||||||
#undef vinvq_f
|
#undef vst_f
|
||||||
#undef vstrq_i
|
|
||||||
#undef vstrq_f
|
|
||||||
#undef q
|
#undef q
|
||||||
|
|
||||||
lbu t0, PRIM_VTX_TRCODE(vtx)
|
lbu t0, PRIM_VTX_TRCODE(vtx)
|
||||||
@ -393,7 +388,7 @@ GL_TnL:
|
|||||||
sb t0, PRIM_VTX_TRCODE(vtx)
|
sb t0, PRIM_VTX_TRCODE(vtx)
|
||||||
|
|
||||||
jal GL_CalcScreenSpace
|
jal GL_CalcScreenSpace
|
||||||
slv vstrq.s, SCREEN_VTX_S,vtx
|
slv vst.s, SCREEN_VTX_S,vtx
|
||||||
|
|
||||||
j GL_CalcClipCodes
|
j GL_CalcClipCodes
|
||||||
move ra, ra2
|
move ra, ra2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user