forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

pspgl freezes
Goto page Previous  1, 2
 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Wed Dec 07, 2005 12:43 pm    Post subject: Reply with quote

I don't think the code in pspgl_ge_init() is the same as Holger's original version. In your implementation, you set the registers which are "lazy", so they aren't written until all pending changes are flushed. For starters, you don't set the ge_reg_touched bitmap for the registers in the init table, so it seems like only registers that are updated elsewhere in the API will ever be sent during a flush. I tried doing this, and it still didn't work. I think the problem here was that some of the registers used during init were either being overwritten by other OGL calls or they weren't being sent in the correct order. Holger's version of pspgl_ge_init.c just queued the entire init list as sceGuInit() does.

Here's a fix:
Code:
Index: pspgl_ge_init.c
===================================================================
--- pspgl_ge_init.c     (revision 1527)
+++ pspgl_ge_init.c     (working copy)
@@ -94,7 +94,7 @@
 
        for (i=0; i<sizeof(ge_init_state)/sizeof(ge_init_state[0]); i++) {
                unsigned long cmd = ge_init_state[i];
-               c->ge_reg[cmd >> 24] = cmd;
+               __pspgl_dlist_enqueue_cmd(c->dlist_current, cmd);
        }
 
        glScissor(0, 0, c->draw->width, c->draw->height);


I've checked it in... I would've rather just sent the list all at once, but there didn't seem to be a non-trivial way to do it :).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group