VulkanでVariable Rate Shading (VRS)を使用する

2025年2月26日 (水) 07:25時点におけるAdministrator (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

VulkanVariable Rate Shading (VRS)を使用するための大まかな手順。

準備 編集

デバイス拡張の有効化

VK_KHR_fragment_shading_rate拡張を有効にします。

デバイス機能の確認

デバイスがVRSをサポートしているかを確認します。 vkGetPhysicalDeviceFeatures2を使用して、VkPhysicalDeviceFragmentShadingRateFeaturesKHRを確認します。

デバイスプロパティの確認

デバイスのVRSの特性や能力を取得します。 vkGetPhysicalDeviceProperties2を使用して、VkPhysicalDeviceFragmentShadingRatePropertiesKHRを確認します。

設定 編集

パイプライン単位

パイプライン全体に対してフラグメントシェーディングレートを設定するには、 VkPipelineFragmentShadingRateStateCreateInfoKHRを使用して、フラグメントシェーディングレートの設定を行います。

コマンドバッファ単位

一般的なコマンドバッファごとにフラグメントシェーディングレートを変更する場合は、 vkCmdSetFragmentShadingRateKHRを使用して、シェーディングレートを設定します。

実行 編集

レンダーパスの作成

vkCreateRenderPass2KHRを使用して、レンダーパスを作成します。

シェーディングレートイメージの準備

シェーディングレートイメージを作成し、アタッチメントとして設定します。