mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Some microoptimization
This commit is contained in:
parent
16e4482052
commit
8e2c485373
4 changed files with 17 additions and 16 deletions
|
@ -921,7 +921,7 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
|||
shaderManager_->DirtyUniform(DIRTY_WORLDMATRIX);
|
||||
}
|
||||
num++;
|
||||
gstate.worldmtxnum = (gstate.worldmtxnum & 0xFF000000) | (num & 0xF);
|
||||
gstate.worldmtxnum = (GE_CMD_WORLDMATRIXNUMBER << 24) | (num & 0xF);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -939,7 +939,7 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
|||
shaderManager_->DirtyUniform(DIRTY_VIEWMATRIX);
|
||||
}
|
||||
num++;
|
||||
gstate.viewmtxnum = (gstate.viewmtxnum & 0xFF000000) | (num & 0xF);
|
||||
gstate.viewmtxnum = (GE_CMD_VIEWMATRIXNUMBER << 24) | (num & 0xF);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -957,7 +957,7 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
|||
shaderManager_->DirtyUniform(DIRTY_PROJMATRIX | DIRTY_PROJTHROUGHMATRIX);
|
||||
}
|
||||
num++;
|
||||
gstate.projmtxnum = (gstate.projmtxnum & 0xFF000000) | (num & 0xF);
|
||||
gstate.projmtxnum = (GE_CMD_PROJMATRIXNUMBER << 24) | (num & 0xF);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -975,7 +975,7 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
|||
shaderManager_->DirtyUniform(DIRTY_TEXMATRIX);
|
||||
}
|
||||
num++;
|
||||
gstate.texmtxnum = (gstate.texmtxnum & 0xFF000000) | (num & 0xF);
|
||||
gstate.texmtxnum = (GE_CMD_TGENMATRIXNUMBER << 24) | (num & 0xF);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -993,7 +993,7 @@ void GLES_GPU::ExecuteOp(u32 op, u32 diff) {
|
|||
shaderManager_->DirtyUniform(DIRTY_BONEMATRIX0 << (num / 12));
|
||||
}
|
||||
num++;
|
||||
gstate.boneMatrixNumber = (gstate.boneMatrixNumber & 0xFF000000) | (num & 0x7F);
|
||||
gstate.boneMatrixNumber = (GE_CMD_BONEMATRIXNUMBER << 24) | (num & 0x7F);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1120,11 +1120,6 @@ void GLES_GPU::ClearCacheNextFrame() {
|
|||
textureCache_.ClearNextFrame();
|
||||
}
|
||||
|
||||
|
||||
inline void GLES_GPU::Flush() {
|
||||
transformDraw_.Flush();
|
||||
}
|
||||
|
||||
void GLES_GPU::Resized() {
|
||||
framebufferManager_.Resized();
|
||||
}
|
||||
|
|
|
@ -69,7 +69,9 @@ protected:
|
|||
virtual void ProcessEvent(GPUEvent ev);
|
||||
|
||||
private:
|
||||
void Flush();
|
||||
void Flush() {
|
||||
transformDraw_.Flush();
|
||||
}
|
||||
void DoBlockTransfer();
|
||||
void ApplyDrawState(int prim);
|
||||
void CheckFlushOp(int cmd, u32 diff);
|
||||
|
|
|
@ -1109,10 +1109,7 @@ VertexArrayInfo::~VertexArrayInfo() {
|
|||
glDeleteBuffers(1, &ebo);
|
||||
}
|
||||
|
||||
void TransformDrawEngine::Flush() {
|
||||
if (!numDrawCalls)
|
||||
return;
|
||||
|
||||
void TransformDrawEngine::DoFlush() {
|
||||
gpuStats.numFlushes++;
|
||||
|
||||
gpuStats.numTrackedVertexArrays = (int)vai_.size();
|
||||
|
|
|
@ -100,7 +100,6 @@ public:
|
|||
void DrawBezier(int ucount, int vcount);
|
||||
void DrawSpline(int ucount, int vcount, int utype, int vtype);
|
||||
void DecodeVerts();
|
||||
void Flush();
|
||||
void SetShaderManager(ShaderManager *shaderManager) {
|
||||
shaderManager_ = shaderManager;
|
||||
}
|
||||
|
@ -122,7 +121,15 @@ public:
|
|||
// This requires a SetupVertexDecoder call first.
|
||||
int EstimatePerVertexCost();
|
||||
|
||||
// So that this can be inlined
|
||||
void Flush() {
|
||||
if (!numDrawCalls)
|
||||
return;
|
||||
DoFlush();
|
||||
}
|
||||
|
||||
private:
|
||||
void DoFlush();
|
||||
void SoftwareTransformAndDraw(int prim, u8 *decoded, LinkedShader *program, int vertexCount, u32 vertexType, void *inds, int indexType, const DecVtxFormat &decVtxFormat, int maxIndex);
|
||||
void ApplyDrawState(int prim);
|
||||
bool IsReallyAClear(int numVerts) const;
|
||||
|
|
Loading…
Add table
Reference in a new issue