Make sure framebuffer is flushed/reinitialized before changing program
This commit is contained in:
parent
8d8979947e
commit
ebf41b6436
@ -168,12 +168,6 @@ void C3Di_UpdateContext(void)
|
|||||||
int i;
|
int i;
|
||||||
C3D_Context* ctx = C3Di_GetContext();
|
C3D_Context* ctx = C3Di_GetContext();
|
||||||
|
|
||||||
if (ctx->flags & C3DiF_Program)
|
|
||||||
{
|
|
||||||
shaderProgramConfigure(ctx->program, (ctx->flags & C3DiF_VshCode) != 0, (ctx->flags & C3DiF_GshCode) != 0);
|
|
||||||
ctx->flags &= ~(C3DiF_Program | C3DiF_VshCode | C3DiF_GshCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx->flags & C3DiF_FrameBuf)
|
if (ctx->flags & C3DiF_FrameBuf)
|
||||||
{
|
{
|
||||||
ctx->flags &= ~C3DiF_FrameBuf;
|
ctx->flags &= ~C3DiF_FrameBuf;
|
||||||
@ -199,6 +193,12 @@ void C3Di_UpdateContext(void)
|
|||||||
GPUCMD_AddIncrementalWrites(GPUREG_SCISSORTEST_MODE, ctx->scissor, 3);
|
GPUCMD_AddIncrementalWrites(GPUREG_SCISSORTEST_MODE, ctx->scissor, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ctx->flags & C3DiF_Program)
|
||||||
|
{
|
||||||
|
shaderProgramConfigure(ctx->program, (ctx->flags & C3DiF_VshCode) != 0, (ctx->flags & C3DiF_GshCode) != 0);
|
||||||
|
ctx->flags &= ~(C3DiF_Program | C3DiF_VshCode | C3DiF_GshCode);
|
||||||
|
}
|
||||||
|
|
||||||
if (ctx->flags & C3DiF_AttrInfo)
|
if (ctx->flags & C3DiF_AttrInfo)
|
||||||
{
|
{
|
||||||
ctx->flags &= ~C3DiF_AttrInfo;
|
ctx->flags &= ~C3DiF_AttrInfo;
|
||||||
|
Loading…
Reference in New Issue
Block a user