forked from len0rd/rockbox
quake: add a bunch more yield calls
Probably a bit too many, but good for making sound not skip. Change-Id: I6657dcb4e8e7bb32c6550e2c5e3cee74d79b9ebe
This commit is contained in:
parent
54b3b6f797
commit
655d201cf3
2 changed files with 12 additions and 0 deletions
|
@ -1018,12 +1018,15 @@ void R_RenderView_ (void)
|
||||||
|
|
||||||
R_SetupFrame ();
|
R_SetupFrame ();
|
||||||
|
|
||||||
|
rb->yield(); // let sound run
|
||||||
#ifdef PASSAGES
|
#ifdef PASSAGES
|
||||||
SetVisibilityByPassages ();
|
SetVisibilityByPassages ();
|
||||||
#else
|
#else
|
||||||
R_MarkLeaves (); // done here so we know if we're in water
|
R_MarkLeaves (); // done here so we know if we're in water
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
rb->yield(); // let sound run
|
||||||
|
|
||||||
// make FDIV fast. This reduces timing precision after we've been running for a
|
// make FDIV fast. This reduces timing precision after we've been running for a
|
||||||
// while, so we don't do it globally. This also sets chop mode, and we do it
|
// while, so we don't do it globally. This also sets chop mode, and we do it
|
||||||
// here so that setup stuff like the refresh area calculations match what's
|
// here so that setup stuff like the refresh area calculations match what's
|
||||||
|
@ -1057,6 +1060,7 @@ SetVisibilityByPassages ();
|
||||||
de_time1 = se_time2;
|
de_time1 = se_time2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rb->yield(); // let sound run
|
||||||
R_DrawEntitiesOnList ();
|
R_DrawEntitiesOnList ();
|
||||||
|
|
||||||
if (r_dspeeds.value)
|
if (r_dspeeds.value)
|
||||||
|
@ -1065,6 +1069,7 @@ SetVisibilityByPassages ();
|
||||||
dv_time1 = de_time2;
|
dv_time1 = de_time2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rb->yield(); // let sound run
|
||||||
R_DrawViewModel ();
|
R_DrawViewModel ();
|
||||||
|
|
||||||
if (r_dspeeds.value)
|
if (r_dspeeds.value)
|
||||||
|
@ -1072,6 +1077,7 @@ SetVisibilityByPassages ();
|
||||||
dv_time2 = Sys_FloatTime ();
|
dv_time2 = Sys_FloatTime ();
|
||||||
dp_time1 = Sys_FloatTime ();
|
dp_time1 = Sys_FloatTime ();
|
||||||
}
|
}
|
||||||
|
rb->yield(); // let sound run
|
||||||
|
|
||||||
R_DrawParticles ();
|
R_DrawParticles ();
|
||||||
|
|
||||||
|
|
|
@ -696,8 +696,14 @@ void R_DrawParticles (void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rb->yield();
|
||||||
|
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
for (p=active_particles ; p ; p=p->next)
|
for (p=active_particles ; p ; p=p->next)
|
||||||
{
|
{
|
||||||
|
if(!(++cnt%50))
|
||||||
|
rb->yield();
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
kill = p->next;
|
kill = p->next;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue