diff --git a/gpu/internal/rendertest/refs/TestDeferredPaint.png b/gpu/internal/rendertest/refs/TestDeferredPaint.png index b562f12a..1ebcbae3 100644 Binary files a/gpu/internal/rendertest/refs/TestDeferredPaint.png and b/gpu/internal/rendertest/refs/TestDeferredPaint.png differ diff --git a/gpu/internal/rendertest/render_test.go b/gpu/internal/rendertest/render_test.go index 524b88a2..f4beeb58 100644 --- a/gpu/internal/rendertest/render_test.go +++ b/gpu/internal/rendertest/render_test.go @@ -107,13 +107,13 @@ func TestDeferredPaint(t *testing.T) { run(t, func(o *op.Ops) { state := op.Save(o) clip.Rect(image.Rect(0, 0, 80, 80)).Op().Add(o) - paint.ColorOp{Color: color.NRGBA{A: 0xff, G: 0xff}}.Add(o) + paint.ColorOp{Color: color.NRGBA{A: 0x60, G: 0xff}}.Add(o) paint.PaintOp{}.Add(o) op.Affine(f32.Affine2D{}.Offset(f32.Pt(20, 20))).Add(o) m := op.Record(o) clip.Rect(image.Rect(0, 0, 80, 80)).Op().Add(o) - paint.ColorOp{Color: color.NRGBA{A: 0xff, R: 0xff, G: 0xff}}.Add(o) + paint.ColorOp{Color: color.NRGBA{A: 0x60, R: 0xff, G: 0xff}}.Add(o) paint.PaintOp{}.Add(o) paintMacro := m.Stop() op.Defer(o, paintMacro) @@ -121,7 +121,7 @@ func TestDeferredPaint(t *testing.T) { state.Load() op.Affine(f32.Affine2D{}.Offset(f32.Pt(10, 10))).Add(o) clip.Rect(image.Rect(0, 0, 80, 80)).Op().Add(o) - paint.ColorOp{Color: color.NRGBA{A: 0xff, B: 0xff}}.Add(o) + paint.ColorOp{Color: color.NRGBA{A: 0x60, B: 0xff}}.Add(o) paint.PaintOp{}.Add(o) }, func(r result) { }) diff --git a/internal/ops/reader.go b/internal/ops/reader.go index 146ffa63..402458da 100644 --- a/internal/ops/reader.go +++ b/internal/ops/reader.go @@ -134,6 +134,8 @@ func (r *Reader) Decode() (EncodedOp, bool) { } deferData := r.deferOps.Write1(t.Size(), refs[0]) copy(deferData, data) + r.pc.data += n + r.pc.refs += nrefs continue } var op macroOp