metal: fix Buffers, fix shader cleanup

This commit is contained in:
Alex Szpakowski
2021-03-27 22:21:00 -03:00
parent 326dfe2632
commit 1e85e1b414
3 changed files with 6 additions and 1 deletions
+2
View File
@@ -116,6 +116,7 @@ void *Buffer::map(MapType /*map*/, size_t offset, size_t size)
if (mapBuffer != nil) if (mapBuffer != nil)
{ {
mappedRange = r; mappedRange = r;
mapped = true;
return mapBuffer.contents; return mapBuffer.contents;
} }
@@ -142,6 +143,7 @@ void Buffer::unmap(size_t usedoffset, size_t usedsize)
size:usedsize]; size:usedsize];
mapBuffer = nil; mapBuffer = nil;
mapped = false;
}} }}
void Buffer::fill(size_t offset, size_t size, const void *data) void Buffer::fill(size_t offset, size_t size, const void *data)
+1
View File
@@ -1637,6 +1637,7 @@ void Graphics::initCapabilities()
void Graphics::getAPIStats(int &shaderswitches) const void Graphics::getAPIStats(int &shaderswitches) const
{ {
// TODO
shaderswitches = 0; shaderswitches = 0;
} }
+3 -1
View File
@@ -427,9 +427,11 @@ Shader::~Shader()
for (const auto &it : uniforms) for (const auto &it : uniforms)
{ {
free(it.second.data);
if (it.second.textures != nullptr) if (it.second.textures != nullptr)
{
free(it.second.data);
delete[] it.second.textures; delete[] it.second.textures;
}
} }
delete[] localUniformBufferData; delete[] localUniformBufferData;