diff --git a/src/graphics/host_gpu/renderer/cache/textureCache.cpp b/src/graphics/host_gpu/renderer/cache/textureCache.cpp index e5c28610..638078e7 100644 --- a/src/graphics/host_gpu/renderer/cache/textureCache.cpp +++ b/src/graphics/host_gpu/renderer/cache/textureCache.cpp @@ -107,36 +107,6 @@ constexpr uint64_t NumFramesBeforeRemoval = 32; return true; } -[[nodiscard]] const char* BindingTypeName(TextureCache::BindingType type) { - switch (type) { - case TextureCache::BindingType::Texture: return "Texture"; - case TextureCache::BindingType::Storage: return "StorageTexture"; - case TextureCache::BindingType::RenderTarget: return "ColorTarget"; - case TextureCache::BindingType::DepthTarget: return "DepthTarget"; - case TextureCache::BindingType::VideoOut: return "VideoOut"; - } - return "Image"; -} - -void NameImageBinding(GraphicContext& graphics, Image& image, vk::ImageView view, - TextureCache::BindingType type, const ImageViewInfo& view_info) { - const auto* role = BindingTypeName(type); - SetVulkanObjectNameF( - graphics.device, image.backing.image, - "Kyty.{}.Image[guest=0x{:016x} size=0x{:x} extent={}x{}x{} format={} mips={} layers={} " - "samples={}]", - role, image.info.data.address, image.info.data.size, image.info.extent.width, - image.info.extent.height, image.info.extent.depth, - static_cast(image.info.pixel_format), image.info.resources.levels, - image.info.resources.layers, image.info.samples); - SetVulkanObjectNameF( - graphics.device, view, - "Kyty.{}.View[guest=0x{:016x} format={} aspect=0x{:x} mip={}+{} layer={}+{}]", role, - image.info.data.address, static_cast(view_info.format), - static_cast(view_info.aspect), view_info.base_level, - view_info.level_count, view_info.base_layer, view_info.layer_count); -} - [[nodiscard]] std::vector BuildDepthCopies(const ImageInfo& info, uint64_t slice_stride, vk::ImageAspectFlags aspect) { @@ -1443,9 +1413,7 @@ vk::ImageView TextureCache::FindTexture(ImageId id, const ImageDesc& desc) { break; default: EXIT("TextureCache: invalid texture binding\n"); } - const auto view = image.FindView(desc.view_info); - NameImageBinding(m_graphics, image, view, desc.type, desc.view_info); - return view; + return image.FindView(desc.view_info); } vk::ImageView TextureCache::FindRenderTarget(ImageId id, const ImageDesc& desc) { @@ -1463,9 +1431,7 @@ vk::ImageView TextureCache::FindRenderTarget(ImageId id, const ImageDesc& desc) RefreshImage(id); CommitGpuWrite(image); TrackImageDownload(id, image); - const auto view = image.FindView(desc.view_info); - NameImageBinding(m_graphics, image, view, desc.type, desc.view_info); - return view; + return image.FindView(desc.view_info); } vk::ImageView TextureCache::FindDepthTarget(ImageId id, const ImageDesc& desc) { @@ -1492,9 +1458,7 @@ vk::ImageView TextureCache::FindDepthTarget(ImageId id, const ImageDesc& desc) { if (desc.info.HasStencil()) { RefreshImage(AssociateStencil(id, desc.info.stencil)); } - const auto view = image.FindView(desc.view_info); - NameImageBinding(m_graphics, image, view, desc.type, desc.view_info); - return view; + return image.FindView(desc.view_info); } void TextureCache::MarkGpuWritten(ImageId id) { diff --git a/src/graphics/host_gpu/renderer/image/image.cpp b/src/graphics/host_gpu/renderer/image/image.cpp index 96b27e1e..e1db0de2 100644 --- a/src/graphics/host_gpu/renderer/image/image.cpp +++ b/src/graphics/host_gpu/renderer/image/image.cpp @@ -690,6 +690,12 @@ Image::Image(GraphicContext& graphics, CommandScheduler& scheduler, const ImageI create.extent.width, create.extent.height, create.extent.depth, static_cast(create.format), create.arrayLayers, create.mipLevels); } + SetVulkanObjectNameF( + graphics.device, backing.image, + "Kyty.Image[guest=0x{:016x} size=0x{:x} extent={}x{}x{} format={} mips={} layers={} samples={}]", + info.data.address, info.data.size, info.extent.width, info.extent.height, info.extent.depth, + static_cast(info.pixel_format), info.resources.levels, info.resources.layers, + info.samples); } uint64_t Image::HashGuestEdges() const { diff --git a/src/graphics/host_gpu/renderer/image/imageView.cpp b/src/graphics/host_gpu/renderer/image/imageView.cpp index fa6f972e..b662523b 100644 --- a/src/graphics/host_gpu/renderer/image/imageView.cpp +++ b/src/graphics/host_gpu/renderer/image/imageView.cpp @@ -391,6 +391,12 @@ vk::ImageView Image::FindView(const ImageViewInfo& view_info) { view_info.level_count, view_info.base_layer, view_info.layer_count, static_cast(view_info.usage)); } + SetVulkanObjectNameF( + m_graphics.device, view, + "Kyty.ImageView[guest=0x{:016x} format={} aspect=0x{:x} mip={}+{} layer={}+{}]", + info.data.address, static_cast(normalized.format), + static_cast(normalized.aspect), normalized.base_level, + normalized.level_count, normalized.base_layer, normalized.layer_count); views.push_back({normalized, view}); return view; } diff --git a/src/graphics/host_gpu/renderer/renderDraw.cpp b/src/graphics/host_gpu/renderer/renderDraw.cpp index e08be150..879d315a 100644 --- a/src/graphics/host_gpu/renderer/renderDraw.cpp +++ b/src/graphics/host_gpu/renderer/renderDraw.cpp @@ -473,15 +473,6 @@ RenderState RenderExecutor::AcquireRenderTargets(CommandBuffer& buffer, RenderCo } const auto image_view = cache.FindRenderTarget(target.image_id, target.desc); auto& image = cache.GetImage(target.image_id); - SetVulkanObjectNameF(m_context.GetGraphics().device, image.backing.image, - "Kyty.MRT{}.Image[guest=0x{:016x} size=0x{:x} format={}]", - target.target_slot, image.info.data.address, image.info.data.size, - static_cast(image.info.pixel_format)); - SetVulkanObjectNameF(m_context.GetGraphics().device, image_view, - "Kyty.MRT{}.View[guest=0x{:016x} mip={} layer={}+{}]", - target.target_slot, image.info.data.address, - target.desc.view_info.base_level, target.desc.view_info.base_layer, - target.desc.view_info.layer_count); EXIT_IF(image.backing.samples != target.desc.info.samples || image_view == nullptr); const auto& view = target.desc.view_info; const auto layout = image.binding.is_bound ? vk::ImageLayout::eGeneral @@ -522,14 +513,6 @@ RenderState RenderExecutor::AcquireRenderTargets(CommandBuffer& buffer, RenderCo EXIT("failed to consume HTile clear state\n"); } auto& image = cache.GetImage(depth.image_id); - SetVulkanObjectNameF(m_context.GetGraphics().device, image.backing.image, - "Kyty.DepthTarget.Image[guest=0x{:016x} size=0x{:x} format={}]", - image.info.data.address, image.info.data.size, - static_cast(image.info.pixel_format)); - SetVulkanObjectNameF(m_context.GetGraphics().device, image_view, - "Kyty.DepthTarget.View[guest=0x{:016x} layer={}+{}]", - image.info.data.address, depth.desc.view_info.base_layer, - depth.desc.view_info.layer_count); EXIT_IF(image_view == nullptr || image.backing.samples != depth.desc.info.samples); const auto draw_writes = depth.AttachmentWriteAspects(); vk::ImageAspectFlags sampled_aspects;