KhronosGroup / KhronosGroup/WebGL

Unsuccessful glLinkProgram call behaviour

Open
#3,331 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
2.9k
Forks
703
Avg merge
2d 9h
Merged PRs (30d)
4

Description

The GLES spec says:

```
If that program object that is in use is re-linked unsuccessfully, the link status
will be set to FALSE, but existing executable and associated state will remain part
of the current rendering state until a subsequent call to UseProgram removes it
from use. After such a program is removed from use, it can not be made part of the
current rendering state until it is successfully re-linked.
```

ANGLE has ran into security problems with unsuccessful links, where our state objects become partially rewritten and use outdated link information. We should fireproof ANGLE, but seeing as there's a risk we could leave multiple hard-to-discover and potentially dangerous security holes I suggest we alter this wording to make WebGL reset the current installed executable when a program that is in-use is re-linked unsuccessfully.

Contributor guide

Open the contributing guide

Research direction

Start by reading the GLES specification passage quoted in the issue and the surrounding WebGL specification text. Determine how unsuccessful relinking of an in-use program should be described, then update the relevant specification wording so the intended current executable behavior is unambiguous.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.