英文:
Vulkan parameters labeled/marked as "externally synchronized"
问题
根据Vulkan规范:
"任何未被标记为外部同步的命令参数..."
还有根据Vulkan编程指南:
为了明确定义各种Vulkan命令的线程要求,必须受主机并发访问保护的每个参数都会被标记为外部同步。
我一直在查看Vulkan SDK的头文件,但没有找到任何关于Vulkan函数及其参数的“外部同步”特性的信息注释或DEFs。
我应该如何知道传递给Vulkan函数作为参数的哪些对象需要在线程之间进行外部同步?
换句话说,这些"标签/标记"存放在哪里?
英文:
According to Vulkan Specification:
> "Any command parameters that are not labeled as externally
> synchronized..."
and also from Vulkan Programming Guide:
> In order to concretely define the threading requirements of various
> Vulkan commands, each parameter that must be protected from concurrent
> access by the host is marked as externally synchronized.
I've been going through Vulkan SDK headers, but found no such thing as any kind of informative annotation or DEFs to hint about "externally synchronized" characteristics of a Vulkan function and their parameters.
How am I supposed to know which objects passed to Vulkan functions as parameters need to be externally synchronized across threads?
In other words, where do these LABELS/MARKS live?
答案1
得分: 3
"I've been going through Vulkan SDK headers"
- 我一直在查阅Vulkan SDK的头文件
Header files are not the Vulkan specification. The Vulkan specification is talking about how it documents the behavior and requirements of these functions. That information is not in header files; it's in specification of what those functions do.
- 头文件不是Vulkan规范。Vulkan规范是关于它如何记录这些函数的行为和要求的。这些信息不在头文件中,而是在这些函数的规范中。
"How am I supposed to know which objects passed to Vulkan functions as parameters need to be externally synchronized across threads?"
- 我应该如何知道传递给Vulkan函数作为参数的哪些对象需要在线程之间进行外部同步?
The same way you learn what those functions actually do: read the specification section on that function. You can even search for the words "externally synchronized" and find every parameter of any function so marked.
- 你可以通过阅读有关该函数的规范部分来了解这些函数实际上是如何工作的。你甚至可以搜索包含"externally synchronized"这些词语的内容,以找到被标记为需要外部同步的任何函数的参数。
英文:
> I've been going through Vulkan SDK headers
Header files are not the Vulkan specification. The Vulkan specification is talking about how it documents the behavior and requirements of these functions. That information is not in header files; it's in specification of what those functions do.
> How am I supposed to know which objects passed to Vulkan functions as parameters need to be externally synchronized across threads?
The same way you learn what those functions actually do: read the specification section on that function. You can even search for the words "externally synchronized" and find every parameter of any function so marked.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论