mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-06 01:45:36 +00:00
gpu: Merge GPU.Collect and GPU.Frame
There's no meaningful reason to have them separate. The intention was to enable rendering concurrent with other processing, but that's gaining framerate at the expense of input latency and complicating ImageOp semantics. Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
+7
-2
@@ -559,7 +559,12 @@ func newShaders(ctx driver.Device, vsrc, fsrc shader.Sources) (vert driver.Verte
|
||||
return
|
||||
}
|
||||
|
||||
func (g *compute) Collect(viewport image.Point, ops *op.Ops) {
|
||||
func (g *compute) Frame(frameOps *op.Ops, target RenderTarget, viewport image.Point) error {
|
||||
g.collect(viewport, frameOps)
|
||||
return g.frame(target)
|
||||
}
|
||||
|
||||
func (g *compute) collect(viewport image.Point, ops *op.Ops) {
|
||||
g.viewport = viewport
|
||||
g.collector.reset()
|
||||
for i := range g.output.layerAtlases {
|
||||
@@ -575,7 +580,7 @@ func (g *compute) Clear(col color.NRGBA) {
|
||||
g.collector.clearColor = f32color.LinearFromSRGB(col)
|
||||
}
|
||||
|
||||
func (g *compute) Frame(target RenderTarget) error {
|
||||
func (g *compute) frame(target RenderTarget) error {
|
||||
viewport := g.viewport
|
||||
defFBO := g.ctx.BeginFrame(target, g.collector.clear, viewport)
|
||||
defer g.ctx.EndFrame()
|
||||
|
||||
Reference in New Issue
Block a user