Next attempt.
This commit is contained in:
parent
b9cdfb2e35
commit
c25a5cddcb
@ -11,7 +11,7 @@
|
|||||||
#define likely(x) __builtin_expect(!!(x), 1)
|
#define likely(x) __builtin_expect(!!(x), 1)
|
||||||
#define unlikely(x) __builtin_expect(!!(x), 0)
|
#define unlikely(x) __builtin_expect(!!(x), 0)
|
||||||
|
|
||||||
//#define SQ_BASE_ADDRESS (void*) 0xe0000000
|
#define SQ_BASE_ADDRESS (void*) 0xe0000000
|
||||||
|
|
||||||
|
|
||||||
GL_FORCE_INLINE bool glIsVertex(const float flags) {
|
GL_FORCE_INLINE bool glIsVertex(const float flags) {
|
||||||
@ -82,7 +82,7 @@ GL_FORCE_INLINE void _glPerspectiveDivideVertex(Vertex* vertex, const float h) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//volatile uint32_t *sq = SQ_BASE_ADDRESS;
|
volatile uint32_t *sq = SQ_BASE_ADDRESS;
|
||||||
|
|
||||||
static inline void _glFlushBuffer() {
|
static inline void _glFlushBuffer() {
|
||||||
TRACE();
|
TRACE();
|
||||||
@ -105,7 +105,7 @@ static inline void _glPushHeaderOrVertex(Vertex* v) {
|
|||||||
__asm__("pref @%0" : : "r"(sq));
|
__asm__("pref @%0" : : "r"(sq));
|
||||||
sq += 8;
|
sq += 8;
|
||||||
#endif
|
#endif
|
||||||
pvr_sq_load(NULL, v, sizeof(Vertex), PVR_DMA_TA);
|
sq_fast_cpy(SQ_MASK_DEST(PVR_TA_INPUT), v, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void _glClipEdge(const Vertex* const v1, const Vertex* const v2, Vertex* vout) {
|
static inline void _glClipEdge(const Vertex* const v1, const Vertex* const v2, Vertex* vout) {
|
||||||
@ -136,7 +136,7 @@ static inline void _glClipEdge(const Vertex* const v1, const Vertex* const v2, V
|
|||||||
#define SPAN_SORT_CFG 0x005F8030
|
#define SPAN_SORT_CFG 0x005F8030
|
||||||
static volatile uint32_t* PVR_LMMODE0 = (uint32_t*) 0xA05F6884;
|
static volatile uint32_t* PVR_LMMODE0 = (uint32_t*) 0xA05F6884;
|
||||||
static volatile uint32_t *PVR_LMMODE1 = (uint32_t*) 0xA05F6888;
|
static volatile uint32_t *PVR_LMMODE1 = (uint32_t*) 0xA05F6888;
|
||||||
//static volatile uint32_t *QACR = (uint32_t*) 0xFF000038;
|
static volatile uint32_t *QACR = (uint32_t*) 0xFF000038;
|
||||||
|
|
||||||
void SceneListSubmit(Vertex* v2, int n) {
|
void SceneListSubmit(Vertex* v2, int n) {
|
||||||
TRACE();
|
TRACE();
|
||||||
@ -155,7 +155,7 @@ void SceneListSubmit(Vertex* v2, int n) {
|
|||||||
*PVR_LMMODE1 = 0;
|
*PVR_LMMODE1 = 0;
|
||||||
|
|
||||||
//Set QACR registers
|
//Set QACR registers
|
||||||
// QACR[1] = QACR[0] = 0x11;
|
QACR[1] = QACR[0] = 0x11;
|
||||||
|
|
||||||
#if CLIP_DEBUG
|
#if CLIP_DEBUG
|
||||||
Vertex* vertex = (Vertex*) src;
|
Vertex* vertex = (Vertex*) src;
|
||||||
@ -168,7 +168,8 @@ void SceneListSubmit(Vertex* v2, int n) {
|
|||||||
uint8_t visible_mask = 0;
|
uint8_t visible_mask = 0;
|
||||||
uint8_t counter = 0;
|
uint8_t counter = 0;
|
||||||
|
|
||||||
//sq = SQ_BASE_ADDRESS;
|
sq = SQ_BASE_ADDRESS;
|
||||||
|
sq_lock();
|
||||||
|
|
||||||
for(int i = 0; i < n; ++i, ++v2) {
|
for(int i = 0; i < n; ++i, ++v2) {
|
||||||
PREFETCH(v2 + 1);
|
PREFETCH(v2 + 1);
|
||||||
@ -454,6 +455,8 @@ void SceneListSubmit(Vertex* v2, int n) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_glFlushBuffer();
|
_glFlushBuffer();
|
||||||
|
|
||||||
|
sq_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneListFinish() {
|
void SceneListFinish() {
|
||||||
|
Loading…
Reference in New Issue
Block a user