Index: gpu/command_buffer/service/shader_manager.cc |
diff --git a/gpu/command_buffer/service/shader_manager.cc b/gpu/command_buffer/service/shader_manager.cc |
index d88a628874ab44fd25e9cc844e60d3ce48a8e884..5b735ac3e78ac453499eec8c8a3790a979f8799a 100644 |
--- a/gpu/command_buffer/service/shader_manager.cc |
+++ b/gpu/command_buffer/service/shader_manager.cc |
@@ -134,6 +134,10 @@ void Shader::DecUseCount() { |
} |
void Shader::MarkAsDeleted() { |
+ if (use_count_ > 0) { |
+ // If attached, compile the shader before we delete it. |
+ DoCompile(); |
+ } |
DCHECK_NE(service_id_, 0u); |
service_id_ = 0; |
} |