Giovanni Mascellani (@giomasce) commented about libs/vkd3d/resource.c:
}
- WARN("Ignoring read range %p.\n", read_range); - - if (FAILED(hr = d3d12_heap_map(resource->heap, resource->heap_offset, resource, data))) - WARN("Failed to map resource %p, hr %#x.\n", resource, hr); - if (data) + { + *data = d3d12_resource_get_map_ptr(resource); TRACE("Returning pointer %p.\n", *data); + }
- return hr; + if (read_range) + d3d12_resource_invalidate(resource, read_range->Begin, read_range->End - read_range->Begin);
MSDN hints that `End` might be (strictly) smaller than `Begin`. Maybe it would be better to prevent an underflow in that case? -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/131#note_27416