KhronosGroup / KhronosGroup/KSCAF_DocRequirements

Parallel execution of threads: specific, verifiable requirements shall replace "threadsafe"

Open
#30 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
CSS
Stars
4
Forks
2
PR merge metrics
No merged PRs in 30d

Description

API specification usually has requirement that the API should be “threadsafe” without defining or discussing this term. Instead of this requirement, there should be a set of specific and verifiable requirements related to using specific API data structures and functions in parallel threads. For example, there could be requirement that when ‘eglMakeCurrent’ is called and passed the same parameter values approximately simultaneously by two threads, then the later call will always fail, regardless of shortness of the time interval between the two calls. This kind of requirement would express absence of race conditions. An example of a more detailed discussion of some functions in parallel usage can be found in section 2.6, “Threading Behavior,” of Vulkan 1.1.78 - A Specification.

For reference, general issue "Parallel execution of thread" is defined as issue #29.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with issue #29 and the referenced Vulkan 1.1.78 specification, section 2.6, “Threading Behavior,” then review the API operations discussed here, including eglMakeCurrent. Done means replacing the generic “threadsafe” requirement with specific, verifiable parallel-use requirements for the relevant data structures and functions.

Written by the indexing model from the issue text.

Assessment

Domain
api, 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.