mirror of
https://github.com/cemu-project/Cemu.git
synced 2024-11-29 12:34:17 +01:00
release texture upload buffer
This commit is contained in:
parent
27902009c6
commit
07c62d5f95
@ -14,7 +14,7 @@ MetalMemoryManager::~MetalMemoryManager()
|
||||
}
|
||||
}
|
||||
|
||||
void* MetalMemoryManager::GetTextureUploadBuffer(size_t size)
|
||||
void* MetalMemoryManager::AcquireTextureUploadBuffer(size_t size)
|
||||
{
|
||||
if (m_textureUploadBuffer.size() < size)
|
||||
{
|
||||
@ -24,6 +24,12 @@ void* MetalMemoryManager::GetTextureUploadBuffer(size_t size)
|
||||
return m_textureUploadBuffer.data();
|
||||
}
|
||||
|
||||
void MetalMemoryManager::ReleaseTextureUploadBuffer(uint8* mem)
|
||||
{
|
||||
cemu_assert_debug(m_textureUploadBuffer.data() == mem);
|
||||
m_textureUploadBuffer.clear();
|
||||
}
|
||||
|
||||
void MetalMemoryManager::InitBufferCache(size_t size)
|
||||
{
|
||||
cemu_assert_debug(!m_bufferCache);
|
||||
|
@ -30,7 +30,9 @@ public:
|
||||
return m_bufferCache;
|
||||
}
|
||||
|
||||
void* GetTextureUploadBuffer(size_t size);
|
||||
// Texture upload buffer
|
||||
void* AcquireTextureUploadBuffer(size_t size);
|
||||
void ReleaseTextureUploadBuffer(uint8* mem);
|
||||
|
||||
// Buffer cache
|
||||
void InitBufferCache(size_t size);
|
||||
|
@ -456,9 +456,10 @@ void MetalRenderer::AppendOverlayDebugInfo()
|
||||
ImGui::Text("Triangle fans %u", m_performanceMonitor.m_triangleFans);
|
||||
}
|
||||
|
||||
// TODO: halfZ
|
||||
void MetalRenderer::renderTarget_setViewport(float x, float y, float width, float height, float nearZ, float farZ, bool halfZ)
|
||||
{
|
||||
// halfZ is handled in the shader
|
||||
|
||||
m_state.m_viewport = MTL::Viewport{x, y, width, height, nearZ, farZ};
|
||||
}
|
||||
|
||||
@ -485,12 +486,12 @@ void MetalRenderer::rendertarget_bindFramebufferObject(LatteCachedFBO* cfbo)
|
||||
|
||||
void* MetalRenderer::texture_acquireTextureUploadBuffer(uint32 size)
|
||||
{
|
||||
return m_memoryManager->GetTextureUploadBuffer(size);
|
||||
return m_memoryManager->AcquireTextureUploadBuffer(size);
|
||||
}
|
||||
|
||||
void MetalRenderer::texture_releaseTextureUploadBuffer(uint8* mem)
|
||||
{
|
||||
// TODO: should the texture buffer get released?
|
||||
m_memoryManager->ReleaseTextureUploadBuffer(mem);
|
||||
}
|
||||
|
||||
TextureDecoder* MetalRenderer::texture_chooseDecodedFormat(Latte::E_GX2SURFFMT format, bool isDepth, Latte::E_DIM dim, uint32 width, uint32 height)
|
||||
|
Loading…
Reference in New Issue
Block a user