From 42d5d91829bcd6dfc559ef53d7fa546f3119daa2 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Thu, 14 Jul 2022 01:54:31 +0900 Subject: [PATCH] internal/graphicsdriver/directx: unmap constant buffers appropriately Updates #2198 --- internal/graphicsdriver/directx/pipeline_windows.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/graphicsdriver/directx/pipeline_windows.go b/internal/graphicsdriver/directx/pipeline_windows.go index e03b8a0dc..fa6860d4e 100644 --- a/internal/graphicsdriver/directx/pipeline_windows.go +++ b/internal/graphicsdriver/directx/pipeline_windows.go @@ -705,12 +705,16 @@ func (p *pipelineStates) newPipelineState(device *_ID3D12Device, vsh, psh *_ID3D func (p *pipelineStates) releaseConstantBuffers(frameIndex int) { for i := range p.constantBuffers[frameIndex] { + p.constantBuffers[frameIndex][i].Unmap(0, nil) p.constantBuffers[frameIndex][i].Release() p.constantBuffers[frameIndex][i] = nil + p.constantBufferMaps[frameIndex][i] = 0 } p.constantBuffers[frameIndex] = p.constantBuffers[frameIndex][:0] + p.constantBufferMaps[frameIndex] = p.constantBufferMaps[frameIndex][:0] } func (p *pipelineStates) resetConstantBuffers(frameIndex int) { p.constantBuffers[frameIndex] = p.constantBuffers[frameIndex][:0] + p.constantBufferMaps[frameIndex] = p.constantBufferMaps[frameIndex][:0] }