feat(framework): bump OpenGL 3.3 → 4.3 core context
Cierra 0049b. El context de fn::run_app pide ahora GL 4.3 core con forward-compat global, habilitando compute shaders, SSBOs, image load/store y atomic counters — bloques esenciales del graph_renderer GPU del proyecto osint_graph (issues 0049f y 0049h). Cambios: - cpp/framework/app_base.cpp: 4.3 core + forward-compat. Comentario marcando que es backward-compatible con shaders #version 330. - cpp/apps/primitives_gallery/capture.cpp: deja explicitamente 3.3 core porque WSL Mesa no entrega 4.3 offscreen (GLXBadFBConfig); ImGui + ImPlot funcionan igual en 3.3 para los goldens. - primitives_gallery: nuevo demo Gfx > gl_info que muestra Vendor/Renderer/Version/GLSL en runtime + status 4.3 (verde) + limites (MAX_TEXTURE_SIZE, MAX_VERTEX_ATTRIBS, MAX_UNIFORM_BLOCK_SIZE y, si 4.3+, MAX_SHADER_STORAGE_BUFFER_BINDINGS y compute shared mem). Solo glGetString/glGetIntegerv — sin loader extra. - About bumped a 0.4.0 con la nota del nuevo demo y de GL 4.3. - cpp/tests/test_visual.cpp: usa LIBGL_ALWAYS_SOFTWARE=1 al lanzar el capture para alinear el driver con update_goldens.sh; sin esto las diferencias de strings (llvmpipe vs d3d12) hacen que gl_info supere el 1% de tolerancia. - cpp/tests/golden/gl_info.png: nuevo golden. Build verificado en Linux (cmake build OK) + Windows cross-compile (cmake build OK). Las 27 pruebas pasan (incluida test_visual con 42 demos comparadas).
This commit is contained in:
@@ -33,13 +33,13 @@ int run_app(AppConfig config, std::function<void()> render_fn) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// OpenGL 3.3 core
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
// OpenGL 4.3 core (issue 0049b) — habilita compute shaders, SSBOs, image
|
||||
// load/store, atomic counters y debug output. Backward-compatible con
|
||||
// shaders #version 330 y con todo lo escrito para 3.3 core.
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
#ifdef __APPLE__
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
|
||||
#endif
|
||||
|
||||
GLFWwindow* window = glfwCreateWindow(config.width, config.height, config.title, nullptr, nullptr);
|
||||
if (!window) {
|
||||
|
||||
Reference in New Issue
Block a user