mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
GPU: Clear shaders on use flag change.
This commit is contained in:
parent
de3c2783f4
commit
5749b5a825
3 changed files with 24 additions and 0 deletions
|
@ -157,6 +157,14 @@ void GPU_D3D11::BeginFrame() {
|
|||
|
||||
framebufferManagerD3D11_->BeginFrame();
|
||||
gstate_c.Dirty(DIRTY_PROJTHROUGHMATRIX);
|
||||
|
||||
if (gstate_c.useFlagsChanged) {
|
||||
// TODO: It'd be better to recompile them in the background, probably?
|
||||
// This most likely means that saw equal depth changed.
|
||||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders");
|
||||
shaderManagerD3D11_->ClearShaders();
|
||||
gstate_c.useFlagsChanged = false;
|
||||
}
|
||||
}
|
||||
|
||||
void GPU_D3D11::CopyDisplayToOutput(bool reallyDirty) {
|
||||
|
|
|
@ -155,6 +155,14 @@ void GPU_DX9::BeginFrame() {
|
|||
shaderManagerDX9_->DirtyShader();
|
||||
|
||||
framebufferManager_->BeginFrame();
|
||||
|
||||
if (gstate_c.useFlagsChanged) {
|
||||
// TODO: It'd be better to recompile them in the background, probably?
|
||||
// This most likely means that saw equal depth changed.
|
||||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders");
|
||||
shaderManagerDX9_->ClearCache(true);
|
||||
gstate_c.useFlagsChanged = false;
|
||||
}
|
||||
}
|
||||
|
||||
void GPU_DX9::CopyDisplayToOutput(bool reallyDirty) {
|
||||
|
|
|
@ -271,6 +271,14 @@ void GPU_GLES::InitClear() {
|
|||
void GPU_GLES::BeginHostFrame() {
|
||||
GPUCommon::BeginHostFrame();
|
||||
drawEngine_.BeginFrame();
|
||||
|
||||
if (gstate_c.useFlagsChanged) {
|
||||
// TODO: It'd be better to recompile them in the background, probably?
|
||||
// This most likely means that saw equal depth changed.
|
||||
WARN_LOG(G3D, "Shader use flags changed, clearing all shaders");
|
||||
shaderManagerGL_->ClearCache(true);
|
||||
gstate_c.useFlagsChanged = false;
|
||||
}
|
||||
}
|
||||
|
||||
void GPU_GLES::EndHostFrame() {
|
||||
|
|
Loading…
Add table
Reference in a new issue