From 5e973ab4199f95d0b99e93927cbadc743646a33c Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Mon, 21 Mar 2022 21:57:59 +0900 Subject: [PATCH] Revert "internal/graphicscommand: clear the queue regardless of an error" This reverts commit e21636fbb9f050290490929ff4cd63c51e75172f. Reason: Simply this is no longer needed. We gave up testing when an error occurs in a graphics command queue. --- internal/graphicscommand/command.go | 32 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/internal/graphicscommand/command.go b/internal/graphicscommand/command.go index 845303e11..ff6b04305 100644 --- a/internal/graphicscommand/command.go +++ b/internal/graphicscommand/command.go @@ -224,23 +224,6 @@ func (q *commandQueue) flush(graphicsDriver graphicsdriver.Graphics) error { return nil } - defer func() { - // Release the commands explicitly (#1803). - // Apparently, the part of a slice between len and cap-1 still holds references. - // Then, resetting the length by [:0] doesn't release the references. - for i, c := range q.commands { - if c, ok := c.(*drawTrianglesCommand); ok { - q.drawTrianglesCommandPool.put(c) - } - q.commands[i] = nil - } - q.commands = q.commands[:0] - q.nvertices = 0 - q.nindices = 0 - q.tmpNumVertexFloats = 0 - q.tmpNumIndices = 0 - }() - es := q.indices vs := q.vertices debug.Logf("Graphics commands:\n") @@ -340,6 +323,21 @@ func (q *commandQueue) flush(graphicsDriver graphicsdriver.Graphics) error { cs = cs[nc:] } graphicsDriver.End(present) + + // Release the commands explicitly (#1803). + // Apparently, the part of a slice between len and cap-1 still holds references. + // Then, resetting the length by [:0] doesn't release the references. + for i, c := range q.commands { + if c, ok := c.(*drawTrianglesCommand); ok { + q.drawTrianglesCommandPool.put(c) + } + q.commands[i] = nil + } + q.commands = q.commands[:0] + q.nvertices = 0 + q.nindices = 0 + q.tmpNumVertexFloats = 0 + q.tmpNumIndices = 0 return nil }