instance之后要弄一个验证层,这个根据描述是用来调试的,release的时候就不需要他了,所以可以用宏来开关

vulkan管线学习2
vulkan管线学习2

呐 下面是教程获取可用验证层的方法,是同一个API,克洛罗斯API介绍第二个给NULL会返回可用的Layer的数量。

不给NULL就要指定一下要几个属性,然后会装到第二个传入参数里返回给你,如果你传入的数量less than可用数量,就应该是按你传入的数量填给你的第二个参数pProperties里,

API看起来会返回VK_SUCCESS,你传太大了就返回一个VK_INCOMPLETE,表示没有那么多验证层给你填充,还提到由于外面的原因,外面是啥就不懂了,会导致相同两个参数传入返回填充结果不一样。

还说一旦instance创建了且他的layer是启用状态,那么即使一些layer会在之后变成不可用的,但是在他生命周期内都是启用状态,听起来会报错一样囧。

vulkan管线学习2.

vulkan管线学习2

似乎有这个string的存在就支持这个Debug,"VK_LAYER_KHRONOS_validation"

所以这个教程文章里用了一个const std::vector<const char*> validationLayers = { "VK_LAYER_KHRONOS_validation" };

找到这个字符串就可以用validation layer来debug了。

vulkan管线学习2

 

相关文章:

  • 2021-09-17
  • 2021-11-29
  • 2021-11-21
  • 2022-12-23
  • 2021-07-14
  • 2021-05-11
  • 2021-12-25
  • 2021-05-15
猜你喜欢
  • 2021-06-26
  • 2021-11-23
  • 2021-11-20
  • 2021-09-02
  • 2022-12-23
  • 2021-08-30
  • 2021-10-12
相关资源
相似解决方案