mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
gpu/internal/opengl: avoid UNPACK_ROW_LENGTH/PACK_ROW_LENGTH on GLES2
Similarly to WebGL1, they're not supported in OpenGL ES 2.0. References: https://todo.sr.ht/~eliasnaur/gio/469 Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -303,14 +303,16 @@ func (b *Backend) EndFrame() {
|
||||
|
||||
func (b *Backend) queryState() glState {
|
||||
s := glState{
|
||||
prog: gl.Program(b.funcs.GetBinding(gl.CURRENT_PROGRAM)),
|
||||
arrayBuf: gl.Buffer(b.funcs.GetBinding(gl.ARRAY_BUFFER_BINDING)),
|
||||
elemBuf: gl.Buffer(b.funcs.GetBinding(gl.ELEMENT_ARRAY_BUFFER_BINDING)),
|
||||
drawFBO: gl.Framebuffer(b.funcs.GetBinding(gl.FRAMEBUFFER_BINDING)),
|
||||
clearColor: b.funcs.GetFloat4(gl.COLOR_CLEAR_VALUE),
|
||||
viewport: b.funcs.GetInteger4(gl.VIEWPORT),
|
||||
unpack_row_length: b.funcs.GetInteger(gl.UNPACK_ROW_LENGTH),
|
||||
pack_row_length: b.funcs.GetInteger(gl.PACK_ROW_LENGTH),
|
||||
prog: gl.Program(b.funcs.GetBinding(gl.CURRENT_PROGRAM)),
|
||||
arrayBuf: gl.Buffer(b.funcs.GetBinding(gl.ARRAY_BUFFER_BINDING)),
|
||||
elemBuf: gl.Buffer(b.funcs.GetBinding(gl.ELEMENT_ARRAY_BUFFER_BINDING)),
|
||||
drawFBO: gl.Framebuffer(b.funcs.GetBinding(gl.FRAMEBUFFER_BINDING)),
|
||||
clearColor: b.funcs.GetFloat4(gl.COLOR_CLEAR_VALUE),
|
||||
viewport: b.funcs.GetInteger4(gl.VIEWPORT),
|
||||
}
|
||||
if !b.gles || b.glver[0] > 2 {
|
||||
s.unpack_row_length = b.funcs.GetInteger(gl.UNPACK_ROW_LENGTH)
|
||||
s.pack_row_length = b.funcs.GetInteger(gl.PACK_ROW_LENGTH)
|
||||
}
|
||||
s.blend.enable = b.funcs.IsEnabled(gl.BLEND)
|
||||
s.blend.srcRGB = gl.Enum(b.funcs.GetInteger(gl.BLEND_SRC_RGB))
|
||||
|
||||
Reference in New Issue
Block a user