Vulkan参数标记为“externally synchronized”。

huangapple go评论56阅读模式
英文:

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.

huangapple
  • 本文由 发表于 2023年6月15日 01:17:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/76476077.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定