Skip to content

ext: Add GL_EXT_opacity_micromap_ray_query_mode#336

Open
dgkoch wants to merge 1 commit into
mainfrom
GL_EXT_opacity_micromap_ray_query_mode
Open

ext: Add GL_EXT_opacity_micromap_ray_query_mode#336
dgkoch wants to merge 1 commit into
mainfrom
GL_EXT_opacity_micromap_ray_query_mode

Conversation

@dgkoch

@dgkoch dgkoch commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds GLSL_EXT_opacity_micromap_ray_query_mode.txt, a new GLSL extension spec exposing the OpacityMicromapIdKHR execution mode from SPV_KHR_opacity_micromap
  • Introduces gl_EnableOpacityMicromapEXT, a bool built-in constant (default false) declaring whether the shader may perform ray query traversal against acceleration structures containing opacity micromaps
  • The built-in may be redeclared as true for unconditional enablement, or with layout(constant_id = N) for API-controlled pipelines without recompilation
  • Adds the entry to README.adoc

Notes

This specification was developed as a clean-room implementation using Claude Code (claude-sonnet-4-6), referencing SPV_KHR_opacity_micromap and existing sibling GLSL extensions for format and context, but no prior draft of this specific extension.

🤖 Generated with Claude Code

Adds a GLSL extension to expose the OpacityMicromapIdKHR execution
mode from SPV_KHR_opacity_micromap. Introduces gl_EnableOpacityMicromapEXT,
a bool built-in constant (default false) that declares whether the shader
may perform ray query traversal against acceleration structures containing
opacity micromaps. The built-in may be redeclared as true for unconditional
enablement, or with layout(constant_id = N) for API-controlled pipelines.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@wooyoungqcom

Copy link
Copy Markdown
Contributor

what exactly do you mean by "a clean-room implementation" ?

@dgkoch

dgkoch commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

what exactly do you mean by "a clean-room implementation" ?

It means - I provided the desired name of the extension, the name of the built-in variable, and a pointer to the SPV extension this should map to. The rest was derived from standard GLSL behaviour and practices and prior art. It was forbidden to look for existing drafts or merge requests for this extension.
More detail is on the internal merge request.

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.

2 participants