Linux 如何获取GPU输入以在着色器中用作Vulkan API中的变量?

Linux 如何获取GPU输入以在着色器中用作Vulkan API中的变量?,linux,gpu,shader,vulkan,Linux,Gpu,Shader,Vulkan,数据可以通过HDMI、显示端口、DVI、VGA等发送到GPU。我不知道接下来会发生什么,可能是GPU解码并发送到CPU,或者只是发送到CPU并进行解码。我怀疑GPU在发送到CPU之前会将输入数据保存到内存中,这样就可以从着色器访问数据。可能,在代码中,它应该像着色器中的变量结构一样,指向GPU内存的代码部分中的输入数据内存。您读取CPU上的数据(在CPU可以访问任何数据的范围内),并通过CPU的各种方式将数据传递给GPU,以向GPU提供数据。没有任何机制可以任意访问来自GPU的任何显示输出机制的

数据可以通过HDMI、显示端口、DVI、VGA等发送到GPU。我不知道接下来会发生什么,可能是GPU解码并发送到CPU,或者只是发送到CPU并进行解码。我怀疑GPU在发送到CPU之前会将输入数据保存到内存中,这样就可以从着色器访问数据。可能,在代码中,它应该像着色器中的变量结构一样,指向GPU内存的代码部分中的输入数据内存。

您读取CPU上的数据(在CPU可以访问任何数据的范围内),并通过CPU的各种方式将数据传递给GPU,以向GPU提供数据。没有任何机制可以任意访问来自GPU的任何显示输出机制的反馈数据。这些事情发生在幕后,主要对操作系统和驱动程序有价值。

您读取CPU上的数据(在CPU可以访问任何数据的范围内),并通过CPU向GPU提供数据的各种方式将数据传递给GPU。没有任何机制可以任意访问来自GPU的任何显示输出机制的反馈数据。这些事情发生在幕后,主要对操作系统和驱动程序有价值。

如果这是由操作系统和驱动程序完成的,那么它可以由GPU完成。@AlexJoel:GPU不是这样工作的。这当然不是GPU渲染API的工作方式。如果这是由操作系统和驱动程序完成的,那么它可以由GPU完成。@AlexJoel:GPU不是这样工作的。这当然不是GPU渲染API的工作方式。您似乎描述了一个称为视频捕获的过程,但您提到了Vulkan API,它通常用于处理视频渲染。@RomanR。有开源着色器编译器,它们可以扩展以向着色器提供一系列gpu输入。可能需要Vulkan API来分配GPU内存的输入部分,以便在着色器中使用,例如输出到显示器。我应该尝试使用CPU在GPU中使用机器代码编写着色器来访问内存。您似乎描述了一个称为视频捕获的过程,但您提到了Vulkan API,它通常用于处理视频渲染。@RomanR。有开源着色器编译器,它们可以扩展以向着色器提供一系列gpu输入。Vulkan API可能需要分配GPU内存的输入部分,以便在着色器中使用,例如输出到显示器。我应该尝试使用CPU在GPU中使用机器代码编写着色器以访问内存。