問題タブ [vulkan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
762 参照

graphics - vkCreateWin32SurfaceKHR がサーフェスに書き込んでいない

Vulkan の動作を簡単にテストしようとしています。vkCreateWin32SurfaceKHRLunarG のチュートリアルに従っていますが、何もしないように見える問題に遭遇しました。つまり、surface書き込まれていません。この関数vkCreateWin32SurfaceKHRは 0 を返すため、失敗を報告していません。どんな助けでも大歓迎です。

0 投票する
3 に答える
4785 参照

vulkan - バルカン構築エラー

Vulkan SDK に含まれるサンプルをビルドしたい。

http://vulkan.lunarg.comから SDK をダウンロードしてインストールします。

次に、Visual Studio を開き (2013 バージョンを使用しています)、次のパスからソリューションを開きます: ( C:\VulkanSDK\1.0.13.0\Demos)。ファイルを選択しDEMOS.slnます。次に、このメッセージをクリックすると、次のLocalWindowsDebuggerメッセージがポップアップ表示されます。

私は vulkan を使ったことはありませんが、「Demo」という名前のとおり、動作させるには内部のすべてを設定する必要があると思います。

Web を検索しましたが、新しいため、それについて言及されているリソースはほとんどありません。

ICDとは?それをインストールする方法は?(VulkanSDKのインストーラーとは違うのですか?) それとも、このエラーは全く別のプロパティに関するものですか? VisualStudio のプロパティの設定が好きですか?

0 投票する
2 に答える
1028 参照

c++ - Vulkan の R16_UINT-3D テクスチャからフラグメント シェーダーで値をサンプリングする

Sascha Willems のテクスチャ チュートリアルを使用していますが、問題なく動作します。次に、テクスチャを 2D テクスチャから符号なし 16 ビットの 3D テクスチャに変更します。

正しい深さを設定してから、これらの値を変更します。

シェーダーで:

しかし、 texture(volumeTexture, textPos).r から取得した値はすべてゼロになりました。私がやりたいことは、UINT16 画像をアップロードすることですが、フラグメント シェーダーから float としてサンプリングします。

RenderDoc を開くと、テクスチャがきれいに見えます。

pastie.org/private/i7dqw7pm0snkbf40eyywg

これは私がopenglで行ったことです:

0 投票する
2 に答える
4336 参照

c++ - Vulkan のコマンド バッファ間の同期

Vulkan で同期を処理するには、いくつかの方法があります。これは私がそれを理解する方法です:

  • フェンスは GPU から CPU への同期です。
  • セマフォは GPU から GPU への同期であり、(同じまたは異なるキューで) キューの送信を同期するために使用されます。
  • イベントはより一般的で、リセットされ、CPU と GPU の両方でチェックされます。
  • バリアは、コマンド バッファー内の同期に使用されます。

私の場合、2 つのコマンド バッファがあります。そして、最初のコマンド バッファの後に 2 番目のコマンド バッファを実行する必要があります。

これに最適な同期の種類は何ですか? 使用する場合vkQueueWaitIdle(queue)),は、フェンスを使用するのと同じことですか、それともイベントまたはセマフォを使用する必要がありますか?

複数のコマンドバッファを同時にキューに送信した場合:

1 つ目と 2 つ目を同期する方法はまだありますか?

0 投票する
2 に答える
3027 参照

framebuffer - 見栄えのする画像のレイアウトをどう扱うか?

見栄えのする画像は で始まりますが、一度提示された後になりますVK_IMAGE_LAYOUT_UNDEFINEDVK_IMAGE_LAYOUT_PRESENT_SRC_KHR

多くの例では、を作成した直後にすべてvkImagesを移行します。これにより、forを使用できます。ただし、スワップチェーンの作成直後に移行を行うことは許可されていません。VK_IMAGE_LAYOUT_PRESENT_SRC_KHRvkSwapchainVK_IMAGE_LAYOUT_PRESENT_SRC_KHRoldLayout

提示可能な画像の使用は、画像が によって返された後、 によってvkAcquireNextImageKHR提示される前にのみ行う必要がありますvkQueuePresentKHRこれには、イメージ レイアウトとレンダリング コマンドの遷移が含まれます。

スワップチェーンの画像レイアウトを正しく処理するためのオプションは何ですか?

0 投票する
2 に答える
896 参照

vulkan - VkDeviceQueueCreateInfo 内の queueCount の目的は何ですか?

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/VkDeviceQueueCreateInfo.html

私が現在していること:

グラフィックスとサーフェスをサポートするキューを持つデバイスを見つけます。

graphicsQueue次に、とのインデックスを見つけますsurfaceQueue。私の場合、それらは同じですが、異なる場合もあると思います。

今は常にqueueCount1 に設定しており、これまでのところ問題はありませんでしたが、おそらく to に設定する必要がありqueueCountますVkQueueFamilyProperties.queueCount

しかし今、私はそれが実際に何をしているのか疑問に思っています。高いほどパフォーマンスが高いqueueCountことを示しますか?