test+usage: device-local geometry readback + isolate #67 staging count
- Add TRANSFER_SRC to RT geometry usage so device-local geometry (now in VRAM, no longer host-mappable) stays copyable/inspectable. - MeshDecompressStagingRelease: read decompressed vertex/index back via a device->host copy instead of the removed host-mapped .value/FlushHost, and build the mesh with allowUpdate=true so the retained per-mesh scratch (#66) doesn't also land in the deletion queue — isolating the assertion to the released compressed staging (#67). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
aafa458d41
commit
ed9b3f67a7
2 changed files with 41 additions and 10 deletions
|
|
@ -32,10 +32,16 @@ using namespace Crafter;
|
|||
|
||||
namespace {
|
||||
// Buffer-usage flag set shared by both Build paths. The compressed path
|
||||
// appends VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT.
|
||||
// appends VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT, and the staged
|
||||
// upload path appends VK_BUFFER_USAGE_TRANSFER_DST_BIT. TRANSFER_SRC is in
|
||||
// the base because the geometry is now device-local (#73): once it no longer
|
||||
// lives in host-mappable memory, a transfer copy is the only way to read it
|
||||
// back (debugging, GPU-driven workflows, decompression validation) — a free
|
||||
// usage flag that keeps device-local geometry inspectable.
|
||||
constexpr VkBufferUsageFlags2 kVertexUsageBase =
|
||||
VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT
|
||||
| VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR;
|
||||
| VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
|
||||
| VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
|
||||
constexpr VkBufferUsageFlags2 kIndexUsageBase =
|
||||
kVertexUsageBase | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue