Use invalidatecachehint in dcachewritebackinvalidateall too. Count invalidations.

This commit is contained in:
Henrik Rydgard 2013-01-06 12:27:01 +01:00
parent 66a098c863
commit 88e921b074
4 changed files with 10 additions and 3 deletions

View file

@ -216,6 +216,7 @@ void hleEnterVblank(u64 userdata, int cyclesLate) {
"Vertices Transformed: %i\n"
"Textures active: %i\n"
"Textures decoded: %i\n"
"Texture invalidations: %i\n"
"Vertex shaders loaded: %i\n"
"Fragment shaders loaded: %i\n"
"Combined shaders loaded: %i\n",
@ -225,12 +226,13 @@ void hleEnterVblank(u64 userdata, int cyclesLate) {
gpuStats.numVertsTransformed,
gpuStats.numTextures,
gpuStats.numTexturesDecoded,
gpuStats.numTextureInvalidations,
gpuStats.numVertexShaders,
gpuStats.numFragmentShaders,
gpuStats.numShaders
);
float zoom = 0.7f; /// g_Config.iWindowZoom;
float zoom = 0.5f; /// g_Config.iWindowZoom;
PPGeBegin();
PPGeDrawText(stats, 0, 0, 0, zoom, 0xFFc0c0c0);
PPGeEnd();

View file

@ -291,7 +291,7 @@ int sceKernelDcacheWritebackInvalidateRange(u32 addr, int size)
}
int sceKernelDcacheWritebackInvalidateAll()
{
gpu->InvalidateCache(0, -1);
gpu->InvalidateCacheHint(0, -1);
return 0;
}

View file

@ -108,6 +108,7 @@ void TextureCache_Invalidate(u32 addr, int size, bool force) {
if (invalidate) {
if (force) {
gpuStats.numTextureInvalidations++;
glDeleteTextures(1, &iter->second.texture);
cache.erase(iter++);
} else {
@ -121,8 +122,10 @@ void TextureCache_Invalidate(u32 addr, int size, bool force) {
}
void TextureCache_InvalidateAll(bool force) {
if (force)
if (force) {
gpuStats.numTextureInvalidations += 1000;
TextureCache_Clear(true);
}
else
TextureCache_Invalidate(0, 0xFFFFFFFF, force);
}

View file

@ -258,6 +258,7 @@ struct GPUStatistics
numJoins = 0;
numDrawCalls = 0;
numVertsTransformed = 0;
numTextureInvalidations = 0;
numTextureSwitches = 0;
numShaderSwitches = 0;
numFlushes = 0;
@ -269,6 +270,7 @@ struct GPUStatistics
int numDrawCalls;
int numFlushes;
int numVertsTransformed;
int numTextureInvalidations;
int numTextureSwitches;
int numShaderSwitches;
int numTexturesDecoded;