Explorar el Código

Merge pull request #11169 from GPUCode/desc-stuff

vk_descriptor_pool: Disallow descriptor set free
liamwhite hace 3 años
padre
commit
06fa13a014

+ 2 - 2
src/video_core/renderer_vulkan/vk_blit_screen.cpp

@@ -566,7 +566,7 @@ void BlitScreen::CreateDescriptorPool() {
     const VkDescriptorPoolCreateInfo ci{
     const VkDescriptorPoolCreateInfo ci{
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = nullptr,
         .pNext = nullptr,
-        .flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
+        .flags = 0,
         .maxSets = static_cast<u32>(image_count),
         .maxSets = static_cast<u32>(image_count),
         .poolSizeCount = static_cast<u32>(pool_sizes.size()),
         .poolSizeCount = static_cast<u32>(pool_sizes.size()),
         .pPoolSizes = pool_sizes.data(),
         .pPoolSizes = pool_sizes.data(),
@@ -576,7 +576,7 @@ void BlitScreen::CreateDescriptorPool() {
     const VkDescriptorPoolCreateInfo ci_aa{
     const VkDescriptorPoolCreateInfo ci_aa{
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = nullptr,
         .pNext = nullptr,
-        .flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
+        .flags = 0,
         .maxSets = static_cast<u32>(image_count),
         .maxSets = static_cast<u32>(image_count),
         .poolSizeCount = static_cast<u32>(pool_sizes_aa.size()),
         .poolSizeCount = static_cast<u32>(pool_sizes_aa.size()),
         .pPoolSizes = pool_sizes_aa.data(),
         .pPoolSizes = pool_sizes_aa.data(),

+ 1 - 1
src/video_core/renderer_vulkan/vk_descriptor_pool.cpp

@@ -77,7 +77,7 @@ static void AllocatePool(const Device& device, DescriptorBank& bank) {
     bank.pools.push_back(device.GetLogical().CreateDescriptorPool({
     bank.pools.push_back(device.GetLogical().CreateDescriptorPool({
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = nullptr,
         .pNext = nullptr,
-        .flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
+        .flags = 0,
         .maxSets = sets_per_pool,
         .maxSets = sets_per_pool,
         .poolSizeCount = static_cast<u32>(pool_cursor),
         .poolSizeCount = static_cast<u32>(pool_cursor),
         .pPoolSizes = std::data(pool_sizes),
         .pPoolSizes = std::data(pool_sizes),

+ 1 - 1
src/video_core/renderer_vulkan/vk_fsr.cpp

@@ -150,7 +150,7 @@ void FSR::CreateDescriptorPool() {
     const VkDescriptorPoolCreateInfo ci{
     const VkDescriptorPoolCreateInfo ci{
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = nullptr,
         .pNext = nullptr,
-        .flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
+        .flags = 0,
         .maxSets = static_cast<u32>(image_count * 2),
         .maxSets = static_cast<u32>(image_count * 2),
         .poolSizeCount = static_cast<u32>(pool_sizes.size()),
         .poolSizeCount = static_cast<u32>(pool_sizes.size()),
         .pPoolSizes = pool_sizes.data(),
         .pPoolSizes = pool_sizes.data(),

+ 1 - 1
src/video_core/renderer_vulkan/vk_turbo_mode.cpp

@@ -62,7 +62,7 @@ void TurboMode::Run(std::stop_token stop_token) {
     auto descriptor_pool = dld.CreateDescriptorPool(VkDescriptorPoolCreateInfo{
     auto descriptor_pool = dld.CreateDescriptorPool(VkDescriptorPoolCreateInfo{
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = nullptr,
         .pNext = nullptr,
-        .flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
+        .flags = 0,
         .maxSets = 1,
         .maxSets = 1,
         .poolSizeCount = 1,
         .poolSizeCount = 1,
         .pPoolSizes = &pool_size,
         .pPoolSizes = &pool_size,