Add v210 staging memory probe
This commit is contained in:
+22
-2
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user