mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-02-03 12:12:06 +00:00
Only set uniform variables as dirty when there's a difference in value.
This commit is contained in:
parent
afb596f3c3
commit
f3c227041d
@ -510,22 +510,26 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
||||
|
||||
case GE_CMD_TEXSCALEU:
|
||||
gstate_c.uScale = getFloat24(data);
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXSCALEV:
|
||||
gstate_c.vScale = getFloat24(data);
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXOFFSETU:
|
||||
gstate_c.uOff = getFloat24(data);
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXOFFSETV:
|
||||
gstate_c.vOff = getFloat24(data);
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
|
||||
break;
|
||||
|
||||
case GE_CMD_SCISSOR1:
|
||||
@ -794,7 +798,8 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
||||
|
||||
case GE_CMD_COLORTEST:
|
||||
case GE_CMD_COLORTESTMASK:
|
||||
shaderManager_->DirtyUniform(DIRTY_COLORMASK);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_COLORMASK);
|
||||
break;
|
||||
|
||||
case GE_CMD_ALPHATEST:
|
||||
@ -803,11 +808,13 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
||||
WARN_LOG_REPORT_ONCE(alphatestmask, HLE, "Unsupported alphatest mask: %02x", (data >> 16) & 0xFF);
|
||||
#endif
|
||||
case GE_CMD_COLORREF:
|
||||
shaderManager_->DirtyUniform(DIRTY_ALPHACOLORREF);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_ALPHACOLORREF);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXENVCOLOR:
|
||||
shaderManager_->DirtyUniform(DIRTY_TEXENV);
|
||||
if (diff)
|
||||
shaderManager_->DirtyUniform(DIRTY_TEXENV);
|
||||
break;
|
||||
|
||||
case GE_CMD_TEXFUNC:
|
||||
|
Loading…
x
Reference in New Issue
Block a user