Skip to content

Semantics of structure pointer chains in cl_khr_command_buffer_mutable_dispatch #990

@oddhack

Description

@oddhack

Noticed this in passing and wanted to make sure people were aware of some of the pitfalls we have encountered in Vulkan as a result of initially underspecifying how these behave, then later trying to resolve different implementation choices. A non-exhaustive list of things to consider:

  • Behavior when multiple instances of the same extending struct (possibly with different values) are included
  • Behavior when passing chained structures through layers which may not be aware of some of them, and which may need to modify others for their own purposes
  • Behavior when passing chained structures valid for extensions that are not enabled / supported in the context they are passed through

Not saying Vulkan has all the answers, but if this approach takes off in OpenCL too, it seems likely you will encounter some or all of the same issues downstream.

Metadata

Metadata

Assignees

Labels

cl_khr_command_bufferRelating to the command-buffer family of extension

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions