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

提供:MonoBook

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

準備[編集 | ソースを編集]

デバイス拡張の有効化

VK_KHR_fragment_shading_rate拡張を有効にします。

デバイス機能の確認

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

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

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

設定[編集 | ソースを編集]

パイプライン単位

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

コマンドバッファ単位

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

実行[編集 | ソースを編集]

レンダーパスの作成

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

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

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