vulkan-validationlayers-devしろ結果Vulkan難しいOpenGLに疲れた最近OpenGLに疲れはて、Vulkanに乗り換えようかと思っています。メインスレッドからしか叩け無い制限。bindというグローバル変数より邪悪な概念。関数を呼び出した後にglGetError()を毎回叩かなけばならない苦痛(叩き忘れるといつエラーになったのか、わからん)。シェーダーへ変数へ渡すためのあの無限の関数群。OpenGLのバージョンによって今では利用が必須だったり、逆に使えなかったりする「拡張機能」。IndexBufferObjectだのElementArrayBufferだのVertexArrayObjectという意味不明な命名(これ...何だと思う?)。同じ関数でもOpenGLバージョンによってたまに意味が違ったりするあのややこしさ。出てきた情報の「今では使えなさ」(だいたいそのままコピペしても動かない)GLSLのバージョンごとの気まぐれさ。結局何が起こるのかよくわからん関数のドキュメント。Profileだの...ぼくもう疲れたよパトラッシュ。そんな感じで最近Vulkanでなんとかする方向でやってこうと思ってまして、で最近引っかかった問題の解放を備忘録代わりにメモっておきます。VulkanにはLayerなるものがあるらしいVulkanではある種の拡張機能を「Layer」といいます1。標準ではこんなLayerがあるんだってさ(LunarGのサイトから引用。presentedVK_LAYER_KHRONOS_validation、便利そうだなー使いたいなー。環境によってはこれ以外のLayerも使えるらしく、実際にどんなレイヤーが使えるか列挙して調べるためのvkEnumerateInstanceLayerPropertiesという関数があります。これを使って実際に列挙してみました。std::move(props);}が、これを動かしても空配列しか返ってこない。エラーではなく、成功した上で0個です。呼ぶタイミングを間違ったりはしてない。さっきの6つのレイヤーは、Vulkanの仕様上必ず入っているはずなのです。19.04ではLayerは入りません。vulkan-validationlayers-devしろ。Layerあれ、ちょっとまって、名前全然ちがくない?GOOGLEってなんや??今日のところはVK_LAYER_LUNARG_standard_validation使って勘弁しといたるわ。Vulkan難しいVulkanとの対話は続く...。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。それ故に...悔いの残らぬよう、やり遂げなさい。