diff --git a/internal/graphicsdriver/directx/api_windows.go b/internal/graphicsdriver/directx/api_windows.go index 064efa685..5f32e7029 100644 --- a/internal/graphicsdriver/directx/api_windows.go +++ b/internal/graphicsdriver/directx/api_windows.go @@ -1743,14 +1743,10 @@ func (i *iD3D12Resource1) Release() { syscall.Syscall(i.vtbl.Release, 1, uintptr(unsafe.Pointer(i)), 0, 0) } -func (i *iD3D12Resource1) Unmap(subresource uint32, pWrittenRange *_D3D12_RANGE) error { - r, _, _ := syscall.Syscall(i.vtbl.Unmap, 3, uintptr(unsafe.Pointer(i)), +func (i *iD3D12Resource1) Unmap(subresource uint32, pWrittenRange *_D3D12_RANGE) { + syscall.Syscall(i.vtbl.Unmap, 3, uintptr(unsafe.Pointer(i)), uintptr(subresource), uintptr(unsafe.Pointer(pWrittenRange))) runtime.KeepAlive(pWrittenRange) - if windows.Handle(r) != windows.S_OK { - return fmt.Errorf("directx: ID3D12Resource1::Unmap failed: %w", windows.Errno(r)) - } - return nil } type iD3DBlob struct { diff --git a/internal/graphicsdriver/directx/graphics_windows.go b/internal/graphicsdriver/directx/graphics_windows.go index 4d5b93a73..121be4a10 100644 --- a/internal/graphicsdriver/directx/graphics_windows.go +++ b/internal/graphicsdriver/directx/graphics_windows.go @@ -785,18 +785,14 @@ func (g *Graphics) SetVertices(vertices []float32, indices []uint16) (ferr error return err } copyFloat32s(m, vertices) - if err := g.vertices[g.frameIndex][vidx].Unmap(0, nil); err != nil { - return err - } + g.vertices[g.frameIndex][vidx].Unmap(0, nil) m, err = g.indices[g.frameIndex][iidx].Map(0, &_D3D12_RANGE{0, 0}) if err != nil { return err } copyUint16s(m, indices) - if err := g.indices[g.frameIndex][iidx].Unmap(0, nil); err != nil { - return err - } + g.indices[g.frameIndex][iidx].Unmap(0, nil) return nil } @@ -1330,9 +1326,7 @@ func (i *Image) ReadPixels(buf []byte) error { copy(buf[j*i.width*4:(j+1)*i.width*4], dstBytes[j*int(i.layouts.Footprint.RowPitch):]) } - if err := i.readingStagingBuffer.Unmap(0, nil); err != nil { - return err - } + i.readingStagingBuffer.Unmap(0, nil) return nil } @@ -1388,9 +1382,7 @@ func (i *Image) ReplacePixels(args []*graphicsdriver.ReplacePixelsArgs) error { }) } - if err := i.uploadingStagingBuffer.Unmap(0, nil); err != nil { - return err - } + i.uploadingStagingBuffer.Unmap(0, nil) return nil } diff --git a/internal/graphicsdriver/directx/pipeline_windows.go b/internal/graphicsdriver/directx/pipeline_windows.go index e5ef6e285..6c16da894 100644 --- a/internal/graphicsdriver/directx/pipeline_windows.go +++ b/internal/graphicsdriver/directx/pipeline_windows.go @@ -420,9 +420,7 @@ func (p *pipelineStates) useGraphicsPipelineState(device *iD3D12Device, commandL } copyFloat32s(m, uniforms) - if err := cb.Unmap(0, nil); err != nil { - return err - } + cb.Unmap(0, nil) commandList.SetPipelineState(pipelineState)