tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit a877d980789fe39f048d4117cbcb4d5233e5d9f2
parent 73cfd9fab81ba9d4e8a77d9ffca2cd27414562a2
Author: Nicolas Silva <nical@fastmail.com>
Date:   Fri, 14 Nov 2025 16:25:06 +0000

Bug 2000241 - Print the error name in gl error messages. r=gfx-reviewers,jrmuizel

Differential Revision: https://phabricator.services.mozilla.com/D272652

Diffstat:
Mgfx/wr/webrender/src/device/gl.rs | 19+++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gfx/wr/webrender/src/device/gl.rs b/gfx/wr/webrender/src/device/gl.rs @@ -1436,6 +1436,20 @@ fn is_mali_valhall(renderer_name: &str) -> bool { // Bifrost models (of which we don't expect any new ones to be released) renderer_name.starts_with("Mali-G") && !is_mali_bifrost(renderer_name) } +#[inline(never)] +fn gl_error_string(code: u32) -> &'static str { + match code { + gl::INVALID_ENUM => "GL_INVALID_ENUM", + gl::INVALID_VALUE => "GL_INVALID_VALUE", + gl::INVALID_OPERATION => "GL_INVALID_OPERATION", + gl::STACK_OVERFLOW => "GL_STACK_OVERFLOW", + gl::STACK_UNDERFLOW => "GL_STACK_UNDERFLOW", + gl::OUT_OF_MEMORY => "GL_OUT_OF_MEMORY", + gl::INVALID_FRAMEBUFFER_OPERATION => "GL_INVALID_FRAMEBUFFER_OPERATION", + 0x507 => "GL_CONTEXT_LOST", + _ => "(unknown error code)", + } +} impl Device { pub fn new( @@ -1491,8 +1505,9 @@ impl Device { if supports_khr_debug { Self::log_driver_messages(gl); } - error!("Caught GL error {:x} at {}", code, name); - panic!("Caught GL error {:x} at {}", code, name); + let err_name = gl_error_string(code); + error!("Caught GL error 0x{:x} {} at {}", code, err_name, name); + panic!("Caught GL error 0x{:x} {} at {}", code, err_name, name); }); }