KhronosGroup / KhronosGroup/GLSL

Defining Interface Matching in GLSL without any API dependencies

Open
#278 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
458
Forks
114
Avg merge
4m
Merged PRs (30d)
1

Description

GLSL is used both with OpenGL API and is lowered to SPIRV and used with Vulkan API

Vulkan interface matching requirements are at SPIRV level
https://docs.vulkan.org/spec/latest/chapters/interfaces.html

OpenGL Spec section **7.4.1 Shader Interface Matching** spells out the GLSL requirements for shader interface matching.

GL_KHR_vulkan_glsl introduced some language for Vulkan, but it's not clear on whether location matching is permitted. What are the requirements for name matching?

It's better to clearly define the interface matching requirements in GLSL spec without any API dependencies. This will make interface matching language less ambiguous on Vulkan.

This bug is created to clarify the interface matching requirements when using GLSL for any API.
As part of the bug, we should define interface matching requirements in the language without referring to API environment specs.

Contributor guide

Open the contributing guide

Research direction

Read the Vulkan interface matching specification linked in the issue alongside OpenGL Spec section 7.4.1, Shader Interface Matching. Determine how name and location matching should be defined in the GLSL specification without API-dependent wording. Done means the GLSL specification clearly states the interface matching requirements for any API.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.