forked from joejulian/gio
gpu: don't validate uniform locations
Sufficiently smart GPU drivers can eliminate unused uniforms across shader types. Fixes gio#158 Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -65,7 +65,7 @@ func (s *FBO) Blit() {
|
||||
}
|
||||
s.prog = prog
|
||||
s.c.UseProgram(prog)
|
||||
s.c.Uniform1i(gl.GetUniformLocation(s.c, prog, "tex"), 0)
|
||||
s.c.Uniform1i(s.c.GetUniformLocation(prog, "tex"), 0)
|
||||
s.quad = s.c.CreateBuffer()
|
||||
s.c.BindBuffer(gl.ARRAY_BUFFER, s.quad)
|
||||
s.c.BufferData(gl.ARRAY_BUFFER,
|
||||
|
||||
+1
-1
@@ -488,7 +488,7 @@ func (b *Backend) NewProgram(vertShader, fragShader backend.ShaderSources) (back
|
||||
}
|
||||
|
||||
func lookupUniform(funcs Functions, p Program, loc backend.UniformLocation) uniformLocation {
|
||||
u := GetUniformLocation(funcs, p, loc.Name)
|
||||
u := funcs.GetUniformLocation(p, loc.Name)
|
||||
return uniformLocation{uniform: u, offset: loc.Offset, typ: loc.Type, size: loc.Size}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,14 +37,6 @@ func CreateProgram(ctx Functions, vsSrc, fsSrc string, attribs []string) (Progra
|
||||
return prog, nil
|
||||
}
|
||||
|
||||
func GetUniformLocation(ctx Functions, prog Program, name string) Uniform {
|
||||
loc := ctx.GetUniformLocation(prog, name)
|
||||
if !loc.valid() {
|
||||
panic(fmt.Errorf("uniform %s not found", name))
|
||||
}
|
||||
return loc
|
||||
}
|
||||
|
||||
func createShader(ctx Functions, typ Enum, src string) (Shader, error) {
|
||||
sh := ctx.CreateShader(typ)
|
||||
if !sh.valid() {
|
||||
|
||||
Reference in New Issue
Block a user