SuperTuxKart 1.5 upstream source (from official release tarball)
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#ifndef HEADER_GE_VULKAN_DYNAMIC_SPM_BUFFER_HPP
|
||||
#define HEADER_GE_VULKAN_DYNAMIC_SPM_BUFFER_HPP
|
||||
|
||||
#include "ge_spm_buffer.hpp"
|
||||
|
||||
namespace GE
|
||||
{
|
||||
class GEVulkanDriver;
|
||||
class GEVulkanDynamicBuffer;
|
||||
|
||||
class GEVulkanDynamicSPMBuffer : public GESPMBuffer
|
||||
{
|
||||
private:
|
||||
GEVulkanDynamicBuffer* m_vertex_buffer;
|
||||
|
||||
GEVulkanDynamicBuffer* m_index_buffer;
|
||||
|
||||
GEVulkanDriver* m_vk;
|
||||
|
||||
uint32_t* m_vertex_update_offsets;
|
||||
|
||||
uint32_t* m_index_update_offsets;
|
||||
public:
|
||||
// ------------------------------------------------------------------------
|
||||
GEVulkanDynamicSPMBuffer();
|
||||
// ------------------------------------------------------------------------
|
||||
~GEVulkanDynamicSPMBuffer();
|
||||
// ------------------------------------------------------------------------
|
||||
virtual irr::scene::E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const
|
||||
{ return irr::scene::EHM_STREAM; }
|
||||
// ------------------------------------------------------------------------
|
||||
virtual irr::scene::E_HARDWARE_MAPPING getHardwareMappingHint_Index() const
|
||||
{ return irr::scene::EHM_STREAM; }
|
||||
// ------------------------------------------------------------------------
|
||||
virtual void bindVertexIndexBuffer(VkCommandBuffer cmd) {}
|
||||
// ------------------------------------------------------------------------
|
||||
virtual void createVertexIndexBuffer() {}
|
||||
// ------------------------------------------------------------------------
|
||||
virtual void destroyVertexIndexBuffer() {}
|
||||
// ------------------------------------------------------------------------
|
||||
void updateVertexIndexBuffer(int buffer_index);
|
||||
// ------------------------------------------------------------------------
|
||||
void drawDynamicVertexIndexBuffer(VkCommandBuffer cmd, int buffer_index);
|
||||
// ------------------------------------------------------------------------
|
||||
void setDirtyOffset(irr::u32 offset,
|
||||
irr::scene::E_BUFFER_TYPE buffer = irr::scene::EBT_VERTEX_AND_INDEX);
|
||||
};
|
||||
|
||||
} // end namespace GE
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user