mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Centralize ClearCacheNextFrame
This commit is contained in:
parent
cf44adbf5d
commit
cbfa4bfc8e
13 changed files with 1 additions and 30 deletions
|
@ -1200,6 +1200,7 @@ bool TextureCacheCommon::GetCurrentFramebufferTextureDebug(GPUDebugBuffer &buffe
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextureCacheCommon::NotifyConfigChanged() {
|
void TextureCacheCommon::NotifyConfigChanged() {
|
||||||
|
clearCacheNextFrame_ = true;
|
||||||
int scaleFactor = g_Config.iTexScalingLevel;
|
int scaleFactor = g_Config.iTexScalingLevel;
|
||||||
|
|
||||||
if (!gstate_c.Use(GPU_USE_TEXTURE_NPOT)) {
|
if (!gstate_c.Use(GPU_USE_TEXTURE_NPOT)) {
|
||||||
|
@ -2554,10 +2555,6 @@ void TextureCacheCommon::InvalidateAll(GPUInvalidationType /*unused*/) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextureCacheCommon::ClearNextFrame() {
|
|
||||||
clearCacheNextFrame_ = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string AttachCandidate::ToString() const {
|
std::string AttachCandidate::ToString() const {
|
||||||
return StringFromFormat("[%s seq:%d rel:%d C:%08x/%d(%s) Z:%08x/%d X:%d Y:%d reint: %s]",
|
return StringFromFormat("[%s seq:%d rel:%d C:%08x/%d(%s) Z:%08x/%d X:%d Y:%d reint: %s]",
|
||||||
this->channel == RASTER_COLOR ? "COLOR" : "DEPTH",
|
this->channel == RASTER_COLOR ? "COLOR" : "DEPTH",
|
||||||
|
|
|
@ -323,7 +323,6 @@ public:
|
||||||
bool SetOffsetTexture(u32 yOffset);
|
bool SetOffsetTexture(u32 yOffset);
|
||||||
void Invalidate(u32 addr, int size, GPUInvalidationType type);
|
void Invalidate(u32 addr, int size, GPUInvalidationType type);
|
||||||
void InvalidateAll(GPUInvalidationType type);
|
void InvalidateAll(GPUInvalidationType type);
|
||||||
void ClearNextFrame();
|
|
||||||
|
|
||||||
TextureShaderCache *GetTextureShaderCache() { return textureShaderCache_; }
|
TextureShaderCache *GetTextureShaderCache() { return textureShaderCache_; }
|
||||||
|
|
||||||
|
|
|
@ -228,10 +228,6 @@ void GPU_D3D11::GetStats(char *buffer, size_t bufsize) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPU_D3D11::ClearCacheNextFrame() {
|
|
||||||
textureCacheD3D11_->ClearNextFrame();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GPU_D3D11::ClearShaderCache() {
|
void GPU_D3D11::ClearShaderCache() {
|
||||||
shaderManagerD3D11_->ClearShaders();
|
shaderManagerD3D11_->ClearShaders();
|
||||||
drawEngine_.ClearInputLayoutMap();
|
drawEngine_.ClearInputLayoutMap();
|
||||||
|
|
|
@ -41,7 +41,6 @@ public:
|
||||||
void ExecuteOp(u32 op, u32 diff) override;
|
void ExecuteOp(u32 op, u32 diff) override;
|
||||||
|
|
||||||
void GetStats(char *buffer, size_t bufsize) override;
|
void GetStats(char *buffer, size_t bufsize) override;
|
||||||
void ClearCacheNextFrame() override;
|
|
||||||
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
||||||
void DeviceRestore() override;
|
void DeviceRestore() override;
|
||||||
|
|
||||||
|
|
|
@ -220,10 +220,6 @@ void GPU_DX9::GetStats(char *buffer, size_t bufsize) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPU_DX9::ClearCacheNextFrame() {
|
|
||||||
textureCacheDX9_->ClearNextFrame();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GPU_DX9::ClearShaderCache() {
|
void GPU_DX9::ClearShaderCache() {
|
||||||
shaderManagerDX9_->ClearCache(true);
|
shaderManagerDX9_->ClearCache(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,6 @@ public:
|
||||||
|
|
||||||
void ReapplyGfxState() override;
|
void ReapplyGfxState() override;
|
||||||
void GetStats(char *buffer, size_t bufsize) override;
|
void GetStats(char *buffer, size_t bufsize) override;
|
||||||
void ClearCacheNextFrame() override;
|
|
||||||
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
||||||
void DeviceRestore() override;
|
void DeviceRestore() override;
|
||||||
|
|
||||||
|
|
|
@ -353,10 +353,6 @@ void GPU_GLES::GetStats(char *buffer, size_t bufsize) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPU_GLES::ClearCacheNextFrame() {
|
|
||||||
textureCacheGL_->ClearNextFrame();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GPU_GLES::ClearShaderCache() {
|
void GPU_GLES::ClearShaderCache() {
|
||||||
shaderManagerGL_->ClearCache(true);
|
shaderManagerGL_->ClearCache(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,6 @@ public:
|
||||||
void ReapplyGfxState() override;
|
void ReapplyGfxState() override;
|
||||||
void GetStats(char *buffer, size_t bufsize) override;
|
void GetStats(char *buffer, size_t bufsize) override;
|
||||||
|
|
||||||
void ClearCacheNextFrame() override;
|
|
||||||
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
||||||
void DeviceRestore() override;
|
void DeviceRestore() override;
|
||||||
|
|
||||||
|
|
|
@ -629,7 +629,6 @@ void GPUCommon::NotifyDisplayResized() {
|
||||||
// if "transparent".
|
// if "transparent".
|
||||||
void GPUCommon::CheckConfigChanged() {
|
void GPUCommon::CheckConfigChanged() {
|
||||||
if (configChanged_) {
|
if (configChanged_) {
|
||||||
ClearCacheNextFrame();
|
|
||||||
gstate_c.useFlags = CheckGPUFeatures();
|
gstate_c.useFlags = CheckGPUFeatures();
|
||||||
drawEngineCommon_->NotifyConfigChanged();
|
drawEngineCommon_->NotifyConfigChanged();
|
||||||
shaderManager_->DirtyLastShader(); // Don't think this is needed, at all.
|
shaderManager_->DirtyLastShader(); // Don't think this is needed, at all.
|
||||||
|
|
|
@ -244,9 +244,6 @@ public:
|
||||||
virtual bool PerformWriteColorFromMemory(u32 dest, int size) = 0;
|
virtual bool PerformWriteColorFromMemory(u32 dest, int size) = 0;
|
||||||
virtual bool PerformWriteStencilFromMemory(u32 dest, int size, WriteStencil flags = WriteStencil::NEEDS_CLEAR) = 0;
|
virtual bool PerformWriteStencilFromMemory(u32 dest, int size, WriteStencil flags = WriteStencil::NEEDS_CLEAR) = 0;
|
||||||
|
|
||||||
// Will cause the texture cache to be cleared at the start of the next frame.
|
|
||||||
virtual void ClearCacheNextFrame() = 0;
|
|
||||||
|
|
||||||
// Internal hack to avoid interrupts from "PPGe" drawing (utility UI, etc)
|
// Internal hack to avoid interrupts from "PPGe" drawing (utility UI, etc)
|
||||||
virtual void EnableInterrupts(bool enable) = 0;
|
virtual void EnableInterrupts(bool enable) = 0;
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,6 @@ public:
|
||||||
bool PerformReadbackToMemory(u32 dest, int size) override;
|
bool PerformReadbackToMemory(u32 dest, int size) override;
|
||||||
bool PerformWriteColorFromMemory(u32 dest, int size) override;
|
bool PerformWriteColorFromMemory(u32 dest, int size) override;
|
||||||
bool PerformWriteStencilFromMemory(u32 dest, int size, WriteStencil flags) override;
|
bool PerformWriteStencilFromMemory(u32 dest, int size, WriteStencil flags) override;
|
||||||
void ClearCacheNextFrame() override {}
|
|
||||||
|
|
||||||
void DeviceLost() override;
|
void DeviceLost() override;
|
||||||
void DeviceRestore() override;
|
void DeviceRestore() override;
|
||||||
|
|
|
@ -513,10 +513,6 @@ void GPU_Vulkan::GetStats(char *buffer, size_t bufsize) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPU_Vulkan::ClearCacheNextFrame() {
|
|
||||||
textureCacheVulkan_->ClearNextFrame();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GPU_Vulkan::ClearShaderCache() {
|
void GPU_Vulkan::ClearShaderCache() {
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,6 @@ public:
|
||||||
void ExecuteOp(u32 op, u32 diff) override;
|
void ExecuteOp(u32 op, u32 diff) override;
|
||||||
|
|
||||||
void GetStats(char *buffer, size_t bufsize) override;
|
void GetStats(char *buffer, size_t bufsize) override;
|
||||||
void ClearCacheNextFrame() override;
|
|
||||||
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
void DeviceLost() override; // Only happens on Android. Drop all textures and shaders.
|
||||||
void DeviceRestore() override;
|
void DeviceRestore() override;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue