KhronosGroup / KhronosGroup/OpenGL-API

Clarification regarding binding on non-consecutive fragment output array locations

Open
#50 3 comments 0 reactions 1 assignee Claimed by @pdaniell-nv View on GitHub
OpenGL OpenGL ES Resolving inside Khronos
Dominant language
No language data
Stars
42
Forks
8
PR merge metrics
No merged PRs in 30d

Description

This mostly pertains to the ES specs. I haven't looked at desktop as closely.

EXT_blend_func_extended adds new entry points glBindFragDataLocation* for associating a fragment output with a particular output location. Is it expected for a program to link with non-consecutive locations for array elements? Or to fail link? Or is either result OK?

For example:

```
GLuint program = glCreateProgram();
// snip init program
glBindFragDataLocationEXT(program, 5, "arrayOutput[0]");
glBindFragDataLocationEXT(program, 3, "arrayOutput[1]");
glBindFragDataLocationEXT(program, 1, "arrayOutput[2]");
glLinkProgram(program); // should this succeed?
```

Shannon Woods looked into it in detail and concluded there may be spec ambiguity. I can perhaps share some of her digging if warranted. Also this is in context of Lee Salzman needing this functionality in ANGLE. Kimmo Kinnunnen from Nvidia has also added tests requiring this functionality to Chromium.

@pdaniell-nv FYI

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.