Files
XCEngine/docs/api/XCEngine/Rendering/Caches/RenderResourceCache/GetOrCreateBufferView.md

1.1 KiB
Raw Blame History

RenderResourceCache::GetOrCreateBufferView

命名空间: XCEngine::Rendering

类型: method

头文件: XCEngine/Rendering/Caches/RenderResourceCache.h

签名

const CachedBufferView* GetOrCreateBufferView(
    RHI::RHIDevice* device,
    RHI::RHIBuffer* buffer,
    RHI::ResourceViewType viewType,
    const RHI::ResourceViewDesc& viewDesc);

作用

为任意 buffer 描述获取或创建可复用的 resource view 缓存。

当前实现行为

  • device == nullptrbuffer == nullptr 时直接返回 nullptr
  • buffer + viewType + viewDesc 组合构建缓存 key
  • 命中时直接返回已有 CachedBufferView
  • 未命中时按 viewType 创建 SRV 或 UAV其他 view 类型当前直接失败

关键语义

  • 这个接口解决的是“同一 buffer 上相同 view 反复创建”的重复开销,而不是 buffer 本身的上传。
  • 当前只缓存 view不接管 buffer 的生命周期。

相关文档