diff --git a/internal/graphicsdriver/directx/graphics11_windows.go b/internal/graphicsdriver/directx/graphics11_windows.go index 23778bb0e..8f37a8831 100644 --- a/internal/graphicsdriver/directx/graphics11_windows.go +++ b/internal/graphicsdriver/directx/graphics11_windows.go @@ -518,30 +518,30 @@ func (g *graphics11) removeShader(s *shader11) { func (g *graphics11) setAsRenderTargets(dsts []*image11, useStencil bool) error { var rtvs []*_ID3D11RenderTargetView var dsv *_ID3D11DepthStencilView - for _, i := range dsts { + for _, dst := range dsts { // Ignore a nil image in case of MRT - if i == nil { + if dst == nil { rtvs = append(rtvs, nil) continue } - if i.renderTargetView == nil { - rtv, err := g.device.CreateRenderTargetView(unsafe.Pointer(i.texture), nil) + if dst.renderTargetView == nil { + rtv, err := g.device.CreateRenderTargetView(unsafe.Pointer(dst.texture), nil) if err != nil { return err } - i.renderTargetView = rtv + dst.renderTargetView = rtv } - rtvs = append(rtvs, i.renderTargetView) + rtvs = append(rtvs, dst.renderTargetView) if !useStencil || dsv != nil { continue } - if i.screen { + if dst.screen { return fmt.Errorf("directx: a stencil buffer is not available for a screen image") } - if i.stencil == nil { - w, h := i.internalSize() + if dst.stencil == nil { + w, h := dst.internalSize() s, err := g.device.CreateTexture2D(&_D3D11_TEXTURE2D_DESC{ Width: uint32(w), Height: uint32(h), @@ -560,16 +560,16 @@ func (g *graphics11) setAsRenderTargets(dsts []*image11, useStencil bool) error if err != nil { return err } - i.stencil = s + dst.stencil = s } - if i.stencilView == nil { - sv, err := g.device.CreateDepthStencilView(unsafe.Pointer(i.stencil), nil) + if dst.stencilView == nil { + sv, err := g.device.CreateDepthStencilView(unsafe.Pointer(dst.stencil), nil) if err != nil { return err } - i.stencilView = sv - dsv = sv + dst.stencilView = sv } + dsv = dst.stencilView } g.deviceContext.OMSetRenderTargets(rtvs, dsv) diff --git a/internal/graphicsdriver/directx/graphics12_windows.go b/internal/graphicsdriver/directx/graphics12_windows.go index 6a5d2eff3..e2670cf52 100644 --- a/internal/graphicsdriver/directx/graphics12_windows.go +++ b/internal/graphicsdriver/directx/graphics12_windows.go @@ -1084,7 +1084,7 @@ func (g *graphics12) NewShader(program *shaderir.Program) (graphicsdriver.Shader func (g *graphics12) setAsRenderTargets(dsts []*image12, useStencil bool) error { var rtvs []_D3D12_CPU_DESCRIPTOR_HANDLE - var dsvPtr *_D3D12_CPU_DESCRIPTOR_HANDLE + var dsv *_D3D12_CPU_DESCRIPTOR_HANDLE for i, img := range dsts { // Ignore a nil image in case of MRT @@ -1127,18 +1127,18 @@ func (g *graphics12) setAsRenderTargets(dsts []*image12, useStencil bool) error rtv := rtvBase rtvs = append(rtvs, rtv) - if !useStencil || dsvPtr != nil { + if !useStencil || dsv != nil { continue } if err := img.ensureDepthStencilView(g.device); err != nil { return err } - dsv, err := img.dsvDescriptorHeap.GetCPUDescriptorHandleForHeapStart() + sv, err := img.dsvDescriptorHeap.GetCPUDescriptorHandleForHeapStart() if err != nil { return err } - dsvPtr = &dsv + dsv = &sv } if !useStencil { @@ -1147,8 +1147,8 @@ func (g *graphics12) setAsRenderTargets(dsts []*image12, useStencil bool) error } g.drawCommandList.OMSetStencilRef(0) - g.drawCommandList.OMSetRenderTargets(rtvs, false, dsvPtr) - g.drawCommandList.ClearDepthStencilView(*dsvPtr, _D3D12_CLEAR_FLAG_STENCIL, 0, 0, nil) + g.drawCommandList.OMSetRenderTargets(rtvs, false, dsv) + g.drawCommandList.ClearDepthStencilView(*dsv, _D3D12_CLEAR_FLAG_STENCIL, 0, 0, nil) return nil }