Add v210 staging memory probe

This commit is contained in:
Johanness
2026-05-19 20:41:02 +03:00
parent b096f32d75
commit e4724395f0
5 changed files with 124 additions and 2 deletions
+22 -2
View File
@@ -216,6 +216,7 @@ void V210ComputeDecoder::createFeedResources(
uint32_t srcStride,
uint32_t dstWidth,
uint32_t dstHeight,
V210StagingMemoryMode stagingMemoryMode,
V210ComputeFeed& feed)
{
feed.srcWidth = srcWidth;
@@ -224,15 +225,27 @@ void V210ComputeDecoder::createFeedResources(
VkDeviceSize v210Size = static_cast<VkDeviceSize>(srcStride) * srcHeight;
createBuffer(
VkMemoryPropertyFlags preferredProperties = 0;
if (stagingMemoryMode == V210StagingMemoryMode::Cached)
{
preferredProperties = VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
}
else if (stagingMemoryMode == V210StagingMemoryMode::DeviceLocal)
{
preferredProperties = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
}
createBufferWithPreferredMemory(
m_device,
physicalDevice,
v210Size,
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
preferredProperties,
feed.v210Buffer,
feed.v210BufferMemory);
feed.v210BufferMemory,
feed.v210MemoryProperties);
if (vkMapMemory(
m_device,
@@ -246,6 +259,13 @@ void V210ComputeDecoder::createFeedResources(
"Failed to map v210 buffer memory");
}
std::cout
<< "Feed " << (feedIndex + 1)
<< ": v210 staging memory mode="
<< v210StagingMemoryModeName(stagingMemoryMode)
<< " flags=0x" << std::hex << feed.v210MemoryProperties
<< std::dec << std::endl;
createImage(
m_device,
physicalDevice,