1
私は私のCの++コードでVkBool32を作成しようとしています:プッシュ定数としてVkBool32を使用することはできますか?
VkBool32 myBool = VK_FALSE;
とプッシュ定数を経由してGLSLするためにそれをプッシュする:
均一なストレージ・クラス内のブール値で受け取っているvkCmdPushConstants(..., sizeof(myBool), &myBool);
:
layout(push_constant) uniform PushConstants
{
bool myBool;
} pushConts;
最初のテストは機能しているように見え、意図された動作をしているようです。しかしこれはVulkan Specによって許可されていますか?
VkBool32は単なるuint32_tなので、間違いなく可能な32ビットのuintを渡すだけです。私はシェイダー側からどのように見えるのか覚えていないので、bool変数がSPIR-Vコード内でどのように変換されたかを見てみるとよいでしょう。多分それはちょうど32ビットのuintかもしれません。私はそれを徹底的に調べます。 – Ekzuzy