graphics: set the heap flag in ImageHeapResource

This commit is contained in:
nmzik
2026-10-23 07:09:41 +02:00
parent 38c884e8c1
commit f9e14084d6
2 changed files with 4 additions and 3 deletions
@@ -428,9 +428,9 @@ void ImageHeap::Rebind(RenderExecutor& executor) {
}
for (const auto index: view->pending) {
if (m_elements[index].refs == 0u) continue;
auto resource = IR::ImageHeapResource(view->profile, m_elements[index].kind);
resource.heap = true; // Resolves only mapped textures.
auto binding = executor.ResolveTexture(resource, m_elements[index].value);
auto binding = executor.ResolveTexture(
IR::ImageHeapResource(view->profile, m_elements[index].kind),
m_elements[index].value);
if (binding.image_id) {
auto& image = textures.GetImage(binding.image_id);
image.heap_refs.fetch_add(1u, std::memory_order_relaxed);
@@ -1800,6 +1800,7 @@ uint32_t ImageHeapKind(const ImageResource& root, DescriptorValue& value) {
ImageResource ImageHeapResource(const ImageResource& root, uint32_t kind) {
ImageResource resource;
resource.resource_class = ImageResourceClass::Sampled;
resource.heap = true;
resource.dimension = root.dimension;
resource.unfiltered_access_only = root.unfiltered_access_only;
resource.depth_compare = root.depth_compare;