mirror of
https://github.com/SysRay/psOff_public.git
synced 2024-12-14 09:39:09 +00:00
videoOut| + handle submitFlips without prev rendering
This commit is contained in:
parent
cf7df3e7a2
commit
8e11ebc3ae
@ -25,9 +25,9 @@ bool registerDisplayBuffer(uint64_t vaddr, VkExtent2D extent, uint32_t pitch, Vk
|
|||||||
return g_registerDisplayBuffer(vaddr, extent, pitch, format);
|
return g_registerDisplayBuffer(vaddr, extent, pitch, format);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool copyDisplayBuffer(uint64_t vaddr, VkCommandBuffer transferBuffer, VkImage dstImage) {
|
bool copyDisplayBuffer(uint64_t vaddr, VkCommandBuffer transferBuffer, VkImage dstImage, VkExtent2D dstExtent) {
|
||||||
assert(g_copyDisplayBuffer != nullptr);
|
assert(g_copyDisplayBuffer != nullptr);
|
||||||
return g_copyDisplayBuffer(vaddr, transferBuffer, dstImage);
|
return g_copyDisplayBuffer(vaddr, transferBuffer, dstImage, dstExtent);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<IGraphics> createGraphics(IEventsGraphics& listener, VkDevice device, VkPhysicalDevice physDev, VkInstance instance) {
|
std::unique_ptr<IGraphics> createGraphics(IEventsGraphics& listener, VkDevice device, VkPhysicalDevice physDev, VkInstance instance) {
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
using registerDisplayBuffer_t = bool (*)(uint64_t vaddr, VkExtent2D extent, uint32_t pitch, VkFormat format);
|
using registerDisplayBuffer_t = bool (*)(uint64_t vaddr, VkExtent2D extent, uint32_t pitch, VkFormat format);
|
||||||
|
|
||||||
using copyDisplayBuffer_t = bool (*)(uint64_t vaddr, VkCommandBuffer transferBuffer, VkImage dstImage);
|
using copyDisplayBuffer_t = bool (*)(uint64_t vaddr, VkCommandBuffer transferBuffer, VkImage dstImage, VkExtent2D dstExtent);
|
||||||
|
|
||||||
using createGraphics_t = std::unique_ptr<IGraphics> (*)(IEventsGraphics& listener, VkDevice device, VkPhysicalDevice physDev, VkInstance instance);
|
using createGraphics_t = std::unique_ptr<IGraphics> (*)(IEventsGraphics& listener, VkDevice device, VkPhysicalDevice physDev, VkInstance instance);
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ __APICALL bool registerDisplayBuffer(uint64_t vaddr, VkExtent2D extent, uint32_t
|
|||||||
* @return true
|
* @return true
|
||||||
* @return false
|
* @return false
|
||||||
*/
|
*/
|
||||||
__APICALL bool copyDisplayBuffer(uint64_t vaddr, VkCommandBuffer transferBuffer, VkImage dstImage);
|
__APICALL bool copyDisplayBuffer(uint64_t vaddr, VkCommandBuffer transferBuffer, VkImage dstImage, VkExtent2D dstExtent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create a Graphics object.
|
* @brief Create a Graphics object.
|
||||||
|
@ -243,7 +243,7 @@ void transfer2Display(VkCommandBuffer cmdBuffer, VulkanObj* obj, vulkan::Swapcha
|
|||||||
vkCmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, nullptr, 0, nullptr, 1, &barrier);
|
vkCmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, nullptr, 0, nullptr, 1, &barrier);
|
||||||
}
|
}
|
||||||
|
|
||||||
copyDisplayBuffer(vaddrDisplayBuffer, cmdBuffer, displayBuffer.image); // let gpumemorymanager decide
|
copyDisplayBuffer(vaddrDisplayBuffer, cmdBuffer, displayBuffer.image, swapchain.extent2d); // let gpumemorymanager decide
|
||||||
|
|
||||||
{
|
{
|
||||||
// Change to Present Layout
|
// Change to Present Layout
|
||||||
|
Loading…
Reference in New Issue
Block a user