mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
gpu/internal/opengl: don't query FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING on GLES2
It's not supported in OpenGL ES 2. References: https://todo.sr.ht/~eliasnaur/gio/469 Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -245,13 +245,17 @@ func (b *Backend) BeginFrame(target driver.RenderTarget, clear bool, viewport im
|
|||||||
b.glstate.bindFramebuffer(b.funcs, gl.FRAMEBUFFER, renderFBO)
|
b.glstate.bindFramebuffer(b.funcs, gl.FRAMEBUFFER, renderFBO)
|
||||||
if b.gles {
|
if b.gles {
|
||||||
// If the output framebuffer is not in the sRGB colorspace already, emulate it.
|
// If the output framebuffer is not in the sRGB colorspace already, emulate it.
|
||||||
var fbEncoding int
|
fbSRGB := false
|
||||||
if !renderFBO.Valid() {
|
if !b.gles || b.glver[0] > 2 {
|
||||||
fbEncoding = b.funcs.GetFramebufferAttachmentParameteri(gl.FRAMEBUFFER, gl.BACK, gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)
|
var fbEncoding int
|
||||||
} else {
|
if !renderFBO.Valid() {
|
||||||
fbEncoding = b.funcs.GetFramebufferAttachmentParameteri(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)
|
fbEncoding = b.funcs.GetFramebufferAttachmentParameteri(gl.FRAMEBUFFER, gl.BACK, gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)
|
||||||
|
} else {
|
||||||
|
fbEncoding = b.funcs.GetFramebufferAttachmentParameteri(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)
|
||||||
|
}
|
||||||
|
fbSRGB = fbEncoding != gl.LINEAR
|
||||||
}
|
}
|
||||||
if fbEncoding == gl.LINEAR && viewport != (image.Point{}) {
|
if !fbSRGB && viewport != (image.Point{}) {
|
||||||
if b.sRGBFBO == nil {
|
if b.sRGBFBO == nil {
|
||||||
sfbo, err := NewSRGBFBO(b.funcs, &b.glstate)
|
sfbo, err := NewSRGBFBO(b.funcs, &b.glstate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user