From d227f9e8bf0085eb86a831d0ce6cb31198028bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Mon, 12 Mar 2018 18:56:27 -0700 Subject: [PATCH] Fixed memory leak. --- src/bgfx.cpp | 14 +++++++------- src/bgfx_p.h | 18 ++++++++++++------ src/dxgi.cpp | 11 ++++++----- src/renderer_d3d11.cpp | 12 ++++++------ src/renderer_d3d12.cpp | 12 ++++++------ src/renderer_d3d9.cpp | 12 ++++++------ src/renderer_gl.cpp | 14 +++++++------- src/renderer_gl.h | 2 +- src/renderer_mtl.mm | 12 ++++++------ src/renderer_noop.cpp | 12 ++++++------ src/renderer_vk.cpp | 8 ++++---- 11 files changed, 67 insertions(+), 60 deletions(-) diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 034c6c860..b16871199 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -1951,7 +1951,7 @@ namespace bgfx uint16_t pitch; _cmdbuf.read(pitch); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); uint32_t key = m_textureUpdateBatch.m_keys[ii]; @@ -2249,7 +2249,7 @@ namespace bgfx IndexBufferHandle handle; _cmdbuf.read(handle); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); uint16_t flags; @@ -2296,7 +2296,7 @@ namespace bgfx VertexBufferHandle handle; _cmdbuf.read(handle); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); VertexDeclHandle declHandle; @@ -2346,7 +2346,7 @@ namespace bgfx uint32_t size; _cmdbuf.read(size); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); m_renderCtx->updateDynamicIndexBuffer(handle, offset, size, mem); @@ -2390,7 +2390,7 @@ namespace bgfx uint32_t size; _cmdbuf.read(size); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); m_renderCtx->updateDynamicVertexBuffer(handle, offset, size, mem); @@ -2413,7 +2413,7 @@ namespace bgfx ShaderHandle handle; _cmdbuf.read(handle); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); m_renderCtx->createShader(handle, mem); @@ -2460,7 +2460,7 @@ namespace bgfx TextureHandle handle; _cmdbuf.read(handle); - Memory* mem; + const Memory* mem; _cmdbuf.read(mem); uint32_t flags; diff --git a/src/bgfx_p.h b/src/bgfx_p.h index daef70e69..72d3cb339 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -416,6 +416,12 @@ namespace bgfx { } + template<> + inline void release(Memory* _mem) + { + release( (const Memory*)_mem); + } + void setGraphicsDebuggerPresent(bool _present); bool isGraphicsDebuggerPresent(); void release(const Memory* _mem); @@ -2554,23 +2560,23 @@ namespace bgfx virtual const char* getRendererName() const = 0; virtual bool isDeviceRemoved() = 0; virtual void flip(HMD& _hmd) = 0; - virtual void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) = 0; + virtual void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) = 0; virtual void destroyIndexBuffer(IndexBufferHandle _handle) = 0; virtual void createVertexDecl(VertexDeclHandle _handle, const VertexDecl& _decl) = 0; virtual void destroyVertexDecl(VertexDeclHandle _handle) = 0; - virtual void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) = 0; + virtual void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) = 0; virtual void destroyVertexBuffer(VertexBufferHandle _handle) = 0; virtual void createDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _size, uint16_t _flags) = 0; - virtual void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) = 0; + virtual void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) = 0; virtual void destroyDynamicIndexBuffer(IndexBufferHandle _handle) = 0; virtual void createDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _size, uint16_t _flags) = 0; - virtual void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) = 0; + virtual void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) = 0; virtual void destroyDynamicVertexBuffer(VertexBufferHandle _handle) = 0; - virtual void createShader(ShaderHandle _handle, Memory* _mem) = 0; + virtual void createShader(ShaderHandle _handle, const Memory* _mem) = 0; virtual void destroyShader(ShaderHandle _handle) = 0; virtual void createProgram(ProgramHandle _handle, ShaderHandle _vsh, ShaderHandle _fsh) = 0; virtual void destroyProgram(ProgramHandle _handle) = 0; - virtual void* createTexture(TextureHandle _handle, Memory* _mem, uint32_t _flags, uint8_t _skip) = 0; + virtual void* createTexture(TextureHandle _handle, const Memory* _mem, uint32_t _flags, uint8_t _skip) = 0; virtual void updateTextureBegin(TextureHandle _handle, uint8_t _side, uint8_t _mip) = 0; virtual void updateTexture(TextureHandle _handle, uint8_t _side, uint8_t _mip, const Rect& _rect, uint16_t _z, uint16_t _depth, uint16_t _pitch, const Memory* _mem) = 0; virtual void updateTextureEnd() = 0; diff --git a/src/dxgi.cpp b/src/dxgi.cpp index 995950d26..8e2526d1b 100644 --- a/src/dxgi.cpp +++ b/src/dxgi.cpp @@ -19,16 +19,17 @@ namespace bgfx { + BX_PRAGMA_DIAGNOSTIC_PUSH(); + BX_PRAGMA_DIAGNOSTIC_IGNORED_GCC("-Wunused-variable"); + BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Wunused-const-variable"); + BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Wunneeded-internal-declaration"); + #if BX_PLATFORM_WINDOWS static PFN_CREATE_DXGI_FACTORY CreateDXGIFactory; static PFN_GET_DEBUG_INTERFACE DXGIGetDebugInterface; static PFN_GET_DEBUG_INTERFACE1 DXGIGetDebugInterface1; #endif // BX_PLATFORM_WINDOWS - BX_PRAGMA_DIAGNOSTIC_PUSH(); - BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Wunused-const-variable"); - BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Wunneeded-internal-declaration"); - static const GUID IID_IDXGIFactory = { 0x7b7166ec, 0x21c7, 0x44ae, { 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69 } }; static const GUID IID_IDXGIFactory2 = { 0x50c83a1c, 0xe072, 0x4c48, { 0x87, 0xb0, 0x36, 0x30, 0xfa, 0x36, 0xa6, 0xd0 } }; static const GUID IID_IDXGIFactory3 = { 0x25483823, 0xcd46, 0x4c7d, { 0x86, 0xca, 0x47, 0xaa, 0x95, 0xb8, 0x37, 0xbd } }; @@ -309,7 +310,7 @@ namespace bgfx } BX_PRAGMA_DIAGNOSTIC_POP(); #else - hr = device->GetAdapter(&adapter); + hr = dxgiDevice->GetAdapter(reinterpret_cast(&adapter) ); #endif // BX_COMPILER_MSVC } } diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 9d0aac68b..282bbeb22 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -1626,7 +1626,7 @@ namespace bgfx { namespace d3d11 return BGFX_RENDERER_DIRECT3D11_NAME; } - void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) override + void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) override { m_indexBuffers[_handle.idx].create(_mem->size, _mem->data, _flags); } @@ -1647,7 +1647,7 @@ namespace bgfx { namespace d3d11 { } - void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override + void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override { m_vertexBuffers[_handle.idx].create(_mem->size, _mem->data, _declHandle, _flags); } @@ -1662,7 +1662,7 @@ namespace bgfx { namespace d3d11 m_indexBuffers[_handle.idx].create(_size, NULL, _flags); } - void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_indexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -1678,7 +1678,7 @@ namespace bgfx { namespace d3d11 m_vertexBuffers[_handle.idx].create(_size, NULL, decl, _flags); } - void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_vertexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -1688,7 +1688,7 @@ namespace bgfx { namespace d3d11 m_vertexBuffers[_handle.idx].destroy(); } - void createShader(ShaderHandle _handle, Memory* _mem) override + void createShader(ShaderHandle _handle, const Memory* _mem) override { m_shaders[_handle.idx].create(_mem); } @@ -1708,7 +1708,7 @@ namespace bgfx { namespace d3d11 m_program[_handle.idx].destroy(); } - void* createTexture(TextureHandle _handle, Memory* _mem, uint32_t _flags, uint8_t _skip) override + void* createTexture(TextureHandle _handle, const Memory* _mem, uint32_t _flags, uint8_t _skip) override { return m_textures[_handle.idx].create(_mem, _flags, _skip); } diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index bd51c7ee6..bb9a2c0cb 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -1356,7 +1356,7 @@ namespace bgfx { namespace d3d12 } } - void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) override + void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) override { m_indexBuffers[_handle.idx].create(_mem->size, _mem->data, _flags, false); } @@ -1377,7 +1377,7 @@ namespace bgfx { namespace d3d12 { } - void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override + void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override { m_vertexBuffers[_handle.idx].create(_mem->size, _mem->data, _declHandle, _flags); } @@ -1392,7 +1392,7 @@ namespace bgfx { namespace d3d12 m_indexBuffers[_handle.idx].create(_size, NULL, _flags, false); } - void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_indexBuffers[_handle.idx].update(m_commandList, _offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -1408,7 +1408,7 @@ namespace bgfx { namespace d3d12 m_vertexBuffers[_handle.idx].create(_size, NULL, decl, _flags); } - void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_vertexBuffers[_handle.idx].update(m_commandList, _offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -1418,7 +1418,7 @@ namespace bgfx { namespace d3d12 m_vertexBuffers[_handle.idx].destroy(); } - void createShader(ShaderHandle _handle, Memory* _mem) override + void createShader(ShaderHandle _handle, const Memory* _mem) override { m_shaders[_handle.idx].create(_mem); } @@ -1438,7 +1438,7 @@ namespace bgfx { namespace d3d12 m_program[_handle.idx].destroy(); } - void* createTexture(TextureHandle _handle, Memory* _mem, uint32_t _flags, uint8_t _skip) override + void* createTexture(TextureHandle _handle, const Memory* _mem, uint32_t _flags, uint8_t _skip) override { return m_textures[_handle.idx].create(_mem, _flags, _skip); } diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index f506a572d..289f7e485 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -953,7 +953,7 @@ namespace bgfx { namespace d3d9 return BGFX_RENDERER_DIRECT3D9_NAME; } - void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) override + void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) override { m_indexBuffers[_handle.idx].create(_mem->size, _mem->data, _flags); } @@ -974,7 +974,7 @@ namespace bgfx { namespace d3d9 { } - void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t /*_flags*/) override + void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t /*_flags*/) override { m_vertexBuffers[_handle.idx].create(_mem->size, _mem->data, _declHandle); } @@ -989,7 +989,7 @@ namespace bgfx { namespace d3d9 m_indexBuffers[_handle.idx].create(_size, NULL, _flags); } - void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_indexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -1005,7 +1005,7 @@ namespace bgfx { namespace d3d9 m_vertexBuffers[_handle.idx].create(_size, NULL, decl); } - void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_vertexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -1015,7 +1015,7 @@ namespace bgfx { namespace d3d9 m_vertexBuffers[_handle.idx].destroy(); } - void createShader(ShaderHandle _handle, Memory* _mem) override + void createShader(ShaderHandle _handle, const Memory* _mem) override { m_shaders[_handle.idx].create(_mem); } @@ -1035,7 +1035,7 @@ namespace bgfx { namespace d3d9 m_program[_handle.idx].destroy(); } - void* createTexture(TextureHandle _handle, Memory* _mem, uint32_t _flags, uint8_t _skip) override + void* createTexture(TextureHandle _handle, const Memory* _mem, uint32_t _flags, uint8_t _skip) override { m_textures[_handle.idx].create(_mem, _flags, _skip); return NULL; diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index e924c0ea9..258eeadda 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -2660,7 +2660,7 @@ namespace bgfx { namespace gl } } - void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) override + void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) override { m_indexBuffers[_handle.idx].create(_mem->size, _mem->data, _flags); } @@ -2681,7 +2681,7 @@ namespace bgfx { namespace gl { } - void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override + void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override { m_vertexBuffers[_handle.idx].create(_mem->size, _mem->data, _declHandle, _flags); } @@ -2696,7 +2696,7 @@ namespace bgfx { namespace gl m_indexBuffers[_handle.idx].create(_size, NULL, _flags); } - void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_indexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -2712,7 +2712,7 @@ namespace bgfx { namespace gl m_vertexBuffers[_handle.idx].create(_size, NULL, decl, _flags); } - void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_vertexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -2722,7 +2722,7 @@ namespace bgfx { namespace gl m_vertexBuffers[_handle.idx].destroy(); } - void createShader(ShaderHandle _handle, Memory* _mem) override + void createShader(ShaderHandle _handle, const Memory* _mem) override { m_shaders[_handle.idx].create(_mem); } @@ -2743,7 +2743,7 @@ namespace bgfx { namespace gl m_program[_handle.idx].destroy(); } - void* createTexture(TextureHandle _handle, Memory* _mem, uint32_t _flags, uint8_t _skip) override + void* createTexture(TextureHandle _handle, const Memory* _mem, uint32_t _flags, uint8_t _skip) override { m_textures[_handle.idx].create(_mem, _flags, _skip); return NULL; @@ -5542,7 +5542,7 @@ namespace bgfx { namespace gl bx::memCopy(_str, _insert, len); } - void ShaderGL::create(Memory* _mem) + void ShaderGL::create(const Memory* _mem) { bx::MemoryReader reader(_mem->data, _mem->size); m_hash = bx::hash(_mem->data, _mem->size); diff --git a/src/renderer_gl.h b/src/renderer_gl.h index eaaa076ba..60d0f9dca 100644 --- a/src/renderer_gl.h +++ b/src/renderer_gl.h @@ -1221,7 +1221,7 @@ namespace bgfx { namespace gl { } - void create(Memory* _mem); + void create(const Memory* _mem); void destroy(); GLuint m_id; diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 4bba38282..64e30a689 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -703,7 +703,7 @@ namespace bgfx { namespace mtl return BGFX_RENDERER_METAL_NAME; } - void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) override + void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) override { m_indexBuffers[_handle.idx].create(_mem->size, _mem->data, _flags); } @@ -724,7 +724,7 @@ namespace bgfx { namespace mtl { } - void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override + void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override { m_vertexBuffers[_handle.idx].create(_mem->size, _mem->data, _declHandle, _flags); } @@ -739,7 +739,7 @@ namespace bgfx { namespace mtl m_indexBuffers[_handle.idx].create(_size, NULL, _flags); } - void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicIndexBuffer(IndexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_indexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -755,7 +755,7 @@ namespace bgfx { namespace mtl m_vertexBuffers[_handle.idx].create(_size, NULL, decl, _flags); } - void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { m_vertexBuffers[_handle.idx].update(_offset, bx::uint32_min(_size, _mem->size), _mem->data); } @@ -765,7 +765,7 @@ namespace bgfx { namespace mtl m_vertexBuffers[_handle.idx].destroy(); } - void createShader(ShaderHandle _handle, Memory* _mem) override + void createShader(ShaderHandle _handle, const Memory* _mem) override { m_shaders[_handle.idx].create(_mem); } @@ -785,7 +785,7 @@ namespace bgfx { namespace mtl m_program[_handle.idx].destroy(); } - void* createTexture(TextureHandle _handle, Memory* _mem, uint32_t _flags, uint8_t _skip) override + void* createTexture(TextureHandle _handle, const Memory* _mem, uint32_t _flags, uint8_t _skip) override { m_textures[_handle.idx].create(_mem, _flags, _skip); return NULL; diff --git a/src/renderer_noop.cpp b/src/renderer_noop.cpp index cfbb08048..32d4bde96 100644 --- a/src/renderer_noop.cpp +++ b/src/renderer_noop.cpp @@ -92,7 +92,7 @@ namespace bgfx { namespace noop { } - void createIndexBuffer(IndexBufferHandle /*_handle*/, Memory* /*_mem*/, uint16_t /*_flags*/) override + void createIndexBuffer(IndexBufferHandle /*_handle*/, const Memory* /*_mem*/, uint16_t /*_flags*/) override { } @@ -108,7 +108,7 @@ namespace bgfx { namespace noop { } - void createVertexBuffer(VertexBufferHandle /*_handle*/, Memory* /*_mem*/, VertexDeclHandle /*_declHandle*/, uint16_t /*_flags*/) override + void createVertexBuffer(VertexBufferHandle /*_handle*/, const Memory* /*_mem*/, VertexDeclHandle /*_declHandle*/, uint16_t /*_flags*/) override { } @@ -120,7 +120,7 @@ namespace bgfx { namespace noop { } - void updateDynamicIndexBuffer(IndexBufferHandle /*_handle*/, uint32_t /*_offset*/, uint32_t /*_size*/, Memory* /*_mem*/) override + void updateDynamicIndexBuffer(IndexBufferHandle /*_handle*/, uint32_t /*_offset*/, uint32_t /*_size*/, const Memory* /*_mem*/) override { } @@ -132,7 +132,7 @@ namespace bgfx { namespace noop { } - void updateDynamicVertexBuffer(VertexBufferHandle /*_handle*/, uint32_t /*_offset*/, uint32_t /*_size*/, Memory* /*_mem*/) override + void updateDynamicVertexBuffer(VertexBufferHandle /*_handle*/, uint32_t /*_offset*/, uint32_t /*_size*/, const Memory* /*_mem*/) override { } @@ -140,7 +140,7 @@ namespace bgfx { namespace noop { } - void createShader(ShaderHandle /*_handle*/, Memory* /*_mem*/) override + void createShader(ShaderHandle /*_handle*/, const Memory* /*_mem*/) override { } @@ -156,7 +156,7 @@ namespace bgfx { namespace noop { } - void* createTexture(TextureHandle /*_handle*/, Memory* /*_mem*/, uint32_t /*_flags*/, uint8_t /*_skip*/) override + void* createTexture(TextureHandle /*_handle*/, const Memory* /*_mem*/, uint32_t /*_flags*/, uint8_t /*_skip*/) override { return NULL; } diff --git a/src/renderer_vk.cpp b/src/renderer_vk.cpp index a4a227a8e..d49e4eadd 100644 --- a/src/renderer_vk.cpp +++ b/src/renderer_vk.cpp @@ -1951,7 +1951,7 @@ VK_IMPORT_DEVICE } } - void createIndexBuffer(IndexBufferHandle _handle, Memory* _mem, uint16_t _flags) override + void createIndexBuffer(IndexBufferHandle _handle, const Memory* _mem, uint16_t _flags) override { m_indexBuffers[_handle.idx].create(_mem->size, _mem->data, _flags, false); } @@ -1972,7 +1972,7 @@ VK_IMPORT_DEVICE { } - void createVertexBuffer(VertexBufferHandle _handle, Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override + void createVertexBuffer(VertexBufferHandle _handle, const Memory* _mem, VertexDeclHandle _declHandle, uint16_t _flags) override { m_vertexBuffers[_handle.idx].create(_mem->size, _mem->data, _declHandle, _flags); } @@ -2004,7 +2004,7 @@ VK_IMPORT_DEVICE m_vertexBuffers[_handle.idx].create(_size, NULL, decl, _flags); } - void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, Memory* _mem) override + void updateDynamicVertexBuffer(VertexBufferHandle _handle, uint32_t _offset, uint32_t _size, const Memory* _mem) override { BX_UNUSED(_handle, _offset, _size, _mem); // m_vertexBuffers[_handle.idx].update(m_commandBuffer, _offset, bx::uint32_min(_size, _mem->size), _mem->data); @@ -2015,7 +2015,7 @@ VK_IMPORT_DEVICE m_vertexBuffers[_handle.idx].destroy(); } - void createShader(ShaderHandle _handle, Memory* _mem) override + void createShader(ShaderHandle _handle, const Memory* _mem) override { m_shaders[_handle.idx].create(_mem); }