Vulkan驱动程序和Vulkan SDK如何交互?

Hopobcn

我想知道Vulkan驱动程序如何与SDK交互。

例如,如果驱动程序和SDK中的VK_API_VERSION不同,我想知道是否存在某种不兼容性。

例如,在CUDA中,较新的CUDA驱动程序保持向后兼容性,但与较新的CUDA版本不向前兼容。有人知道这是否也会在Vulkan中发生吗?

CUDA驱动程序向后兼容但不向前兼容

尼科尔·波拉斯(Nicol Bolas)

Vulkan的兼容性在Vulkan规范中列出,并且基于版本号:XYZ

Z是“补丁”数字,主要表示对规范的编辑性更改或次要行为更改。不允许基于修补程序号更改面向用户的API。可以与XY(Z-1)一起使用的代码必须与XYZ一起使用,反之亦然。因此,如果SDK可以加载Vulkan版本XY,则可以Z为该版本中的每个版本加载

Y是次要版本号,表示对API的向后兼容更改。也就是说,如果您的代码使用X.(Y-1),那么它也将使用XY。但是,相反的情况不一定成立。所以,如果你正在使用的SDK装载机适用于1.0版本,它应该是功能性为1.1及以上版本。

显然,如果您使用1.0加载程序,则无法使用1.1+中添加的新API。

X代表主要版本号。如果情况发生变化,则所有投注均关闭可以删除,修改API,更改验证规则等。因此,如果您使用的是1.3版的SDK加载程序,而2.0版发布了,则不能保证1.3加载程序会加载它。最重要的是,即使确实加载正确,也永远不要使用它。

不应期望针对一个主要版本的Vulkan编写的应用程序可以在另一个主要版本上工作。


上面解释了Vulkan规范与用户之间的合同,无论是谁。如果您使用的是SDK,则SDK位于您和实施之间。它可以在上面添加规则。

但是,从文档中,我看不到任何证据表明加载程序试图阻止从先前的API版本加载更高版本的次要API版本。因此看来,SDK加载程序遵循Vulkan规范。如果加载程序是为Vulkan 1.1构建的,则它应适用于任何2.0版之前的Vulkan实施。此时,加载程序可能无法工作,因为不存在依赖它的API。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Ubuntu 16.04上安装Intel图形驱动程序以使用vulkan

来自分类Dev

安装适用于16.04的nvidia vulkan驱动程序

来自分类Dev

为vglrx AMD显卡安装vulkan驱动程序

来自分类Dev

在Ubuntu 17.10上安装Mesa Vulkan驱动程序

来自分类Dev

如何确定其他驱动程序安装的专有驱动程序的版本和来源?

来自分类Dev

Nvidia Vulkan驱动程序何时会送达“其他驱动程序”?

来自分类Dev

Proton使用的mesa + vulkan驱动程序版本与主机mesa驱动程序版本不匹配

来自分类Dev

如何使用两个不同的驱动程序(MongoDB Scala驱动程序和Salat)从MongoDb读取和写入

来自分类Dev

LPR和cupswrapper驱动程序有什么区别?如何安装打印机驱动程序?

来自分类Dev

如何启用驱动程序?

来自分类Dev

如何使用“ coproc”与另一个命令驱动程序进行交互

来自分类Dev

Bumblebee无法使用Nvidia-355-Vulkan Beta驱动程序

来自分类Dev

我怎么知道我的GPU卡驱动程序是否支持Vulkan?

来自分类Dev

如何在Spark中处理执行程序内存和驱动程序内存?

来自分类Dev

GeForce和Radeon:开源和专有驱动程序的现状如何?

来自分类Dev

GeForce和Radeon:开源和专有驱动程序的现状如何?

来自分类Dev

如何在18.04中为MYSQL和PostgreSQL安装和配置最新的ODBC驱动程序

来自分类Dev

如何围绕 JUnit 测试设置和拆除变量(和驱动程序)?

来自分类Dev

如何从ubuntu 16.04内核客户端和内核模块中删除nvidia驱动程序,或使内核clent和模块使用相同的nvidia驱动程序?

来自分类Dev

如何使用Appium驱动程序获取设备名称和App版本

来自分类Dev

如何找到Mac硬件上的macOS和linux wifi驱动程序之间的区别?

来自分类Dev

如何找到使用Selenium Web驱动程序(用于Chrome)从PHP下载的文件的路径和名称?

来自分类Dev

如何使PulseAudio和Ubuntu检测与Alsa驱动程序相同的音频设备

来自分类Dev

如何设置项目以使用odbc和mssql驱动程序?

来自分类Dev

如何设置YouCompleteMe进行内核和设备驱动程序开发?

来自分类Dev

如何在带有$ match和$ in的Mongo db Java驱动程序中使用聚合?

来自分类Dev

如何将NVIDIA和CUDA驱动程序安装到Ubuntu中?

来自分类Dev

如何使用tomcat,mysql和jdbc驱动程序在Internet上发布我的jsp项目

来自分类Dev

MSI安装后,如何使用Burn和DPInst安装驱动程序?

Related 相关文章

  1. 1

    如何在Ubuntu 16.04上安装Intel图形驱动程序以使用vulkan

  2. 2

    安装适用于16.04的nvidia vulkan驱动程序

  3. 3

    为vglrx AMD显卡安装vulkan驱动程序

  4. 4

    在Ubuntu 17.10上安装Mesa Vulkan驱动程序

  5. 5

    如何确定其他驱动程序安装的专有驱动程序的版本和来源?

  6. 6

    Nvidia Vulkan驱动程序何时会送达“其他驱动程序”?

  7. 7

    Proton使用的mesa + vulkan驱动程序版本与主机mesa驱动程序版本不匹配

  8. 8

    如何使用两个不同的驱动程序(MongoDB Scala驱动程序和Salat)从MongoDb读取和写入

  9. 9

    LPR和cupswrapper驱动程序有什么区别?如何安装打印机驱动程序?

  10. 10

    如何启用驱动程序?

  11. 11

    如何使用“ coproc”与另一个命令驱动程序进行交互

  12. 12

    Bumblebee无法使用Nvidia-355-Vulkan Beta驱动程序

  13. 13

    我怎么知道我的GPU卡驱动程序是否支持Vulkan?

  14. 14

    如何在Spark中处理执行程序内存和驱动程序内存?

  15. 15

    GeForce和Radeon:开源和专有驱动程序的现状如何?

  16. 16

    GeForce和Radeon:开源和专有驱动程序的现状如何?

  17. 17

    如何在18.04中为MYSQL和PostgreSQL安装和配置最新的ODBC驱动程序

  18. 18

    如何围绕 JUnit 测试设置和拆除变量(和驱动程序)?

  19. 19

    如何从ubuntu 16.04内核客户端和内核模块中删除nvidia驱动程序,或使内核clent和模块使用相同的nvidia驱动程序?

  20. 20

    如何使用Appium驱动程序获取设备名称和App版本

  21. 21

    如何找到Mac硬件上的macOS和linux wifi驱动程序之间的区别?

  22. 22

    如何找到使用Selenium Web驱动程序(用于Chrome)从PHP下载的文件的路径和名称?

  23. 23

    如何使PulseAudio和Ubuntu检测与Alsa驱动程序相同的音频设备

  24. 24

    如何设置项目以使用odbc和mssql驱动程序?

  25. 25

    如何设置YouCompleteMe进行内核和设备驱动程序开发?

  26. 26

    如何在带有$ match和$ in的Mongo db Java驱动程序中使用聚合?

  27. 27

    如何将NVIDIA和CUDA驱动程序安装到Ubuntu中?

  28. 28

    如何使用tomcat,mysql和jdbc驱动程序在Internet上发布我的jsp项目

  29. 29

    MSI安装后,如何使用Burn和DPInst安装驱动程序?

热门标签

归档