2017-06-27 6 views
1

有効な物理デバイス:m_physicalDevice[0]があります。私がいることを確認した物理デバイスがインスタンス層をゼロにすることはできますか?

uint32_t physicalLayerCount; 
    std::vector<VkLayerProperties> vkDeviceLP; 
    result = vkEnumerateDeviceLayerProperties(m_physicalDevice[0], &physicalLayerCount, nullptr); 
    if (physicalLayerCount > 0) 
    { 
     vkDeviceLP.resize(physicalLayerCount); 
     vkEnumerateDeviceLayerProperties(m_physicalDevice[0], &physicalLayerCount, vkDeviceLP.data()); 
    } 

::私は私の物理的なデバイスでサポートされているレイヤーをチェックしようとしています

物理デバイス•

result

有効ではVK_SUCCESSに等しく、

physicalLayerCountは= 0なので、コードではが実行されませんループ。それはハードウェアの問題か、私のコードに何か問題がありますか?

(R9 270Xは私のGPUである)

答えて

1

Device layers are deprecated、あなたは通常、それらを照会する必要はありません。互換性の理由から、インスタンスの作成時に作成したデバイスを作成するときに、同じレイヤーのリストを提供することが最善です。

これ以外にも、何らかのレイヤーが存在しないのは正常です。これは、Vulkan SDKやRenderDocなどがインストールされていないコンピュータでよく起こります。通常は開発者だけがそれらを持っています。

+0

ダン、私はVulkan Progamming Guideを購入したばかりですが、多すぎることは推奨されません。ありがとう –

+1

いいえ、これまでに推奨されていないのはデバイスレイヤーだけです。 –

関連する問題