From af7afea5a3803c5579915ef44c23c984c018a4fc Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sat, 14 Jan 2023 09:59:55 -0600 Subject: [PATCH] gpu: don't allocate null materials buffer when running on the CPU References: https://todo.sr.ht/~eliasnaur/gio/469 Signed-off-by: Elias Naur --- gpu/compute.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gpu/compute.go b/gpu/compute.go index 242a8c5b..4819b9af 100644 --- a/gpu/compute.go +++ b/gpu/compute.go @@ -404,12 +404,6 @@ func newCompute(ctx driver.Device) (*compute, error) { conf: new(config), memHeader: new(memoryHeader), } - null, err := ctx.NewTexture(driver.TextureFormatRGBA8, 1, 1, driver.FilterNearest, driver.FilterNearest, driver.BufferBindingShaderStorageRead) - if err != nil { - g.Release() - return nil, err - } - g.output.nullMaterials = null shaders := []struct { prog *computeProgram src shader.Sources @@ -431,6 +425,13 @@ func newCompute(ctx driver.Device) (*compute, error) { } if g.useCPU { g.dispatcher = newDispatcher(runtime.NumCPU()) + } else { + null, err := ctx.NewTexture(driver.TextureFormatRGBA8, 1, 1, driver.FilterNearest, driver.FilterNearest, driver.BufferBindingShaderStorageRead) + if err != nil { + g.Release() + return nil, err + } + g.output.nullMaterials = null } copyVert, copyFrag, err := newShaders(ctx, gio.Shader_copy_vert, gio.Shader_copy_frag)