Files
MapLibreParticleLab/include/mbgl/webgpu/dynamic_texture.hpp
Alex Cristici 6a77854632 Add multithreaded upload to dynamic texture on Vulkan [Core feature] (#4028)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Adrian Cojocaru <adrian.cojocaru92@yahoo.com>
2026-01-20 16:04:34 +01:00

28 lines
709 B
C++

#pragma once
#include <mbgl/gfx/dynamic_texture.hpp>
namespace mbgl {
namespace webgpu {
class Context;
class DynamicTexture : public gfx::DynamicTexture {
public:
DynamicTexture(Context& context, Size size, gfx::TexturePixelType pixelType);
void uploadImage(const uint8_t* pixelData, gfx::TextureHandle& texHandle) override;
void uploadDeferredImages() override;
bool removeTexture(const gfx::TextureHandle& texHandle) override;
using ImagesToUpload =
std::unordered_map<gfx::TextureHandle, std::unique_ptr<uint8_t[]>, gfx::TextureHandle::Hasher>;
private:
bool deferredCreation = false;
ImagesToUpload imagesToUpload;
};
} // namespace webgpu
} // namespace mbgl