mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-06-12 05:33:15 +00:00
vulkan: Add alternatives when nullDescriptor is not supported. (#1001)
* vulkan: Add alternatives when nullDescriptor is not supported. * vulkan: Set identifying name on null image/image view/buffer
This commit is contained in:
parent
eaa92b5a65
commit
4fe81231f6
8 changed files with 46 additions and 6 deletions
|
@ -29,10 +29,16 @@ TextureCache::TextureCache(const Vulkan::Instance& instance_, Vulkan::Scheduler&
|
|||
info.UpdateSize();
|
||||
const ImageId null_id = slot_images.insert(instance, scheduler, info);
|
||||
ASSERT(null_id.index == 0);
|
||||
const vk::Image& null_image = slot_images[null_id].image;
|
||||
Vulkan::SetObjectName(instance.GetDevice(), null_image, "Null Image");
|
||||
slot_images[null_id].flags = ImageFlagBits::Tracked;
|
||||
|
||||
ImageViewInfo view_info;
|
||||
void(slot_image_views.insert(instance, view_info, slot_images[null_id], null_id));
|
||||
const auto null_view_id =
|
||||
slot_image_views.insert(instance, view_info, slot_images[null_id], null_id);
|
||||
ASSERT(null_view_id.index == 0);
|
||||
const vk::ImageView& null_image_view = slot_image_views[null_view_id].image_view.get();
|
||||
Vulkan::SetObjectName(instance.GetDevice(), null_image_view, "Null Image View");
|
||||
}
|
||||
|
||||
TextureCache::~TextureCache() = default;
|
||||
|
|
|
@ -98,6 +98,11 @@ public:
|
|||
return slot_images[id];
|
||||
}
|
||||
|
||||
/// Retrieves the image view with the specified id.
|
||||
[[nodiscard]] ImageView& GetImageView(ImageId id) {
|
||||
return slot_image_views[id];
|
||||
}
|
||||
|
||||
bool IsMeta(VAddr address) const {
|
||||
return surface_metas.contains(address);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue