/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
py-modules-0.2.6
drape/gpu_buffer.hpp
42 строки
818 B
r.kuznetsov
[drape][metal] Added implementation of vertex array buffer for Metal.
25 сен 2018, 12:33
25 сен 2018, 12:33
16de024
Код
Авторство
О чём код?
#pragma once #include "drape/buffer_base.hpp" #include "drape/pointers.hpp" namespace dp { class GPUBuffer : public BufferBase { using TBase = BufferBase; public: enum Target { ElementBuffer, IndexBuffer }; GPUBuffer(Target t, void const * data, uint8_t elementSize, uint32_t capacity); ~GPUBuffer() override; void UploadData(void const * data, uint32_t elementCount); void Bind(); void * Map(uint32_t elementOffset, uint32_t elementCount); void UpdateData(void * gpuPtr, void const * data, uint32_t elementOffset, uint32_t elementCount); void Unmap(); protected: // Discard old data. void Resize(void const * data, uint32_t elementCount); private: Target m_t; uint32_t m_bufferID; uint32_t m_mappingOffset; #ifdef DEBUG bool m_isMapped; #endif }; } // namespace dp