Skip to content

rendering: make shared GL infrastructure profile-safe - #15

Closed
tritao wants to merge 2 commits into
stack/shader-diagnosticsfrom
stack/shared-gl-paths
Closed

rendering: make shared GL infrastructure profile-safe#15
tritao wants to merge 2 commits into
stack/shader-diagnosticsfrom
stack/shared-gl-paths

Conversation

@tritao

@tritao tritao commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Keep shared OpenGL infrastructure profile-safe without turning legacy resource helpers into a second modern backend.

  • Select shared texture formats from the active context through GL glue.
  • Preserve offscreen readback state without compatibility-only pixel transfer operations.
  • Keep the legacy texture resource path and SoVertexArrayIndexer outside this shared layer.

Progressive validation

The inherited core EGL and GLSL checks are extended with a focused CoinOffscreenGLCanvas::readPixels() test. It creates a core surfaceless context, clears a known color, reads RGBA pixels, and verifies the result.

Scope

This layer contains only shared GL glue, offscreen readback changes, and their focused validation. It does not add a core-profile EBO path to SoVertexArrayIndexer or modern texture swizzles and mipmap handling to SoGLImage. The compatibility boundary owns legacy traversal and those legacy helpers.

Stack

Layer 5/9, based on PR #22.

@tritao tritao changed the title stack/shared gl paths rendering: make shared GL paths profile-aware Aug 8, 2026
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 27dc5aa to a9afb3d Compare August 8, 2026 00:17
@tritao
tritao force-pushed the stack/profile-neutral-shaders branch from b23f376 to 431c5ba Compare August 8, 2026 00:17
@tritao
tritao force-pushed the stack/shared-gl-paths branch from a9afb3d to 7700012 Compare August 8, 2026 00:42
@tritao
tritao force-pushed the stack/profile-neutral-shaders branch 2 times, most recently from f5553c1 to 2fe3d9f Compare August 8, 2026 01:07
@tritao
tritao force-pushed the stack/shared-gl-paths branch 3 times, most recently from 3bad944 to b2a9ffc Compare August 8, 2026 01:22
@tritao
tritao force-pushed the stack/profile-neutral-shaders branch 2 times, most recently from 9320737 to bd05d5c Compare August 8, 2026 01:24
@tritao
tritao force-pushed the stack/shared-gl-paths branch 2 times, most recently from 3358ad3 to 91c41a1 Compare August 8, 2026 01:30
@tritao
tritao force-pushed the stack/profile-neutral-shaders branch from bd05d5c to 0eb81d6 Compare August 8, 2026 01:30
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 91c41a1 to a2f6a79 Compare August 8, 2026 01:51
@tritao
tritao force-pushed the stack/profile-neutral-shaders branch 2 times, most recently from 9dcdd77 to c87b65d Compare August 8, 2026 01:57
@tritao
tritao force-pushed the stack/shared-gl-paths branch from a2f6a79 to 4aa73d6 Compare August 8, 2026 01:57
@tritao
tritao force-pushed the stack/profile-neutral-shaders branch from c87b65d to 786c928 Compare August 8, 2026 02:04
@tritao
tritao force-pushed the stack/shared-gl-paths branch 2 times, most recently from 6f9c692 to 41465e0 Compare August 8, 2026 02:32
@tritao
tritao changed the base branch from stack/profile-neutral-shaders to stack/shader-diagnostics August 8, 2026 02:36
@tritao
tritao marked this pull request as ready for review August 8, 2026 02:36
@tritao tritao changed the title rendering: make shared GL paths profile-aware rendering: make shared GL infrastructure profile-safe Aug 8, 2026
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 41465e0 to 6d6559f Compare August 8, 2026 02:54
@tritao
tritao force-pushed the stack/shader-diagnostics branch from 2de6681 to 1f27e2c Compare August 8, 2026 10:27
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 6d6559f to 48084b6 Compare August 8, 2026 10:27
@tritao
tritao force-pushed the stack/shader-diagnostics branch from 1f27e2c to 130303e Compare August 8, 2026 11:06
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 48084b6 to 7d75b3a Compare August 8, 2026 11:06
@tritao
tritao force-pushed the stack/shader-diagnostics branch from 130303e to b5eebe2 Compare August 8, 2026 11:41
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 7d75b3a to 4b38aae Compare August 8, 2026 11:41
@tritao
tritao force-pushed the stack/shader-diagnostics branch from b5eebe2 to bd689d5 Compare August 8, 2026 12:06
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 4b38aae to ca13128 Compare August 8, 2026 12:06
@tritao
tritao force-pushed the stack/shader-diagnostics branch from bd689d5 to d4d9d02 Compare August 8, 2026 13:43
@tritao
tritao force-pushed the stack/shared-gl-paths branch 3 times, most recently from ad78dae to 759d789 Compare August 8, 2026 20:31
@tritao
tritao force-pushed the stack/shader-diagnostics branch from d4d9d02 to 0523569 Compare August 8, 2026 20:31
tritao added 2 commits August 8, 2026 21:43
Keep runtime profile detection and offscreen readback changes in the shared rendering layer. Select texture formats through the GL glue based on the active context, and preserve readback state without issuing compatibility-only pixel transfer operations in core contexts. Legacy texture and index-buffer helpers stay outside this layer so the compatibility boundary remains the owner of fixed-function resource behavior.
@tritao
tritao force-pushed the stack/shader-diagnostics branch from 0523569 to e1be85f Compare August 8, 2026 20:44
@tritao
tritao force-pushed the stack/shared-gl-paths branch from 759d789 to 8378d36 Compare August 8, 2026 20:44
@tritao

tritao commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by PR #16, which now contains the shared GL profile-safety and offscreen readback changes together with the LegacyGL boundary.

@tritao tritao closed this Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant