| 97 | } |
| 98 | |
| 99 | void DrawingManager::addRuntimeDrawTask(std::shared_ptr<RenderTargetProxy> renderTarget, |
| 100 | std::vector<std::shared_ptr<TextureProxy>> inputs, |
| 101 | std::shared_ptr<RuntimeEffect> effect, |
| 102 | const Point& offset) { |
| 103 | if (renderTarget == nullptr || inputs.empty() || effect == nullptr) { |
| 104 | return; |
| 105 | } |
| 106 | auto textureProxy = renderTarget->asTextureProxy(); |
| 107 | auto task = drawingBuffer->make<RuntimeDrawTask>(std::move(renderTarget), std::move(inputs), |
| 108 | std::move(effect), offset); |
| 109 | renderTasks.emplace_back(std::move(task)); |
| 110 | addGenerateMipmapsTask(std::move(textureProxy)); |
| 111 | } |
| 112 | |
| 113 | void DrawingManager::addGenerateMipmapsTask(std::shared_ptr<TextureProxy> textureProxy) { |
| 114 | if (textureProxy == nullptr || !textureProxy->hasMipmaps()) { |
no test coverage detected