// Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef FLUTTER_IMPELLER_RENDERER_BLIT_COMMAND_H_ #define FLUTTER_IMPELLER_RENDERER_BLIT_COMMAND_H_ #include "impeller/core/device_buffer.h" #include "impeller/core/texture.h" #include "impeller/geometry/rect.h" namespace impeller { struct BlitCommand { std::string label; }; struct BlitCopyTextureToTextureCommand : public BlitCommand { std::shared_ptr source; std::shared_ptr destination; IRect source_region; IPoint destination_origin; }; struct BlitResizeTextureCommand : public BlitCommand { std::shared_ptr source; std::shared_ptr destination; }; struct BlitCopyTextureToBufferCommand : public BlitCommand { std::shared_ptr source; std::shared_ptr destination; IRect source_region; size_t destination_offset; }; struct BlitCopyBufferToTextureCommand : public BlitCommand { BufferView source; std::shared_ptr destination; IRect destination_region; uint32_t slice = 0; }; struct BlitGenerateMipmapCommand : public BlitCommand { std::shared_ptr texture; }; } // namespace impeller #endif // FLUTTER_IMPELLER_RENDERER_BLIT_COMMAND_H_