initial commit

This commit is contained in:
Johanness
2026-05-18 00:03:06 +03:00
commit ea7e73d6a4
183 changed files with 34479 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#pragma once
#include "VideoFrame.hpp"
#include <vulkan/vulkan.h>
struct FeedTexture
{
VkBuffer stagingBuffer = VK_NULL_HANDLE;
VkDeviceMemory stagingBufferMemory = VK_NULL_HANDLE;
void* mappedData = nullptr;
VkImage image = VK_NULL_HANDLE;
VkDeviceMemory imageMemory = VK_NULL_HANDLE;
VkImageView imageView = VK_NULL_HANDLE;
VkSampler sampler = VK_NULL_HANDLE;
VkDescriptorSet descriptorSet = VK_NULL_HANDLE;
};
void createFeedTexture(
VkDevice device,
VkPhysicalDevice physicalDevice,
VkCommandPool commandPool,
VkQueue graphicsQueue,
const VideoFrame& initialFrame,
VkDeviceSize imageSize,
FeedTexture& texture);
void updateFeedDescriptorSet(
VkDevice device,
const FeedTexture& texture);
void updateSampledImageDescriptorSet(
VkDevice device,
VkDescriptorSet descriptorSet,
VkImageView imageView,
VkSampler sampler,
VkImageLayout imageLayout);
void copyFrameToFeedTextureStaging(
const VideoFrame& frame,
VkDeviceSize imageSize,
FeedTexture& texture);
void recordFeedTextureUpload(
VkCommandBuffer commandBuffer,
const FeedTexture& texture,
uint32_t width,
uint32_t height);
void destroyFeedTexture(
VkDevice device,
FeedTexture& texture);