Flutter Engine
The Flutter Engine
Functions
GrVkCommandBuffer.cpp File Reference
#include "src/gpu/ganesh/vk/GrVkCommandBuffer.h"
#include "include/core/SkRect.h"
#include "src/core/SkTraceEvent.h"
#include "src/gpu/ganesh/vk/GrVkBuffer.h"
#include "src/gpu/ganesh/vk/GrVkCommandPool.h"
#include "src/gpu/ganesh/vk/GrVkFramebuffer.h"
#include "src/gpu/ganesh/vk/GrVkGpu.h"
#include "src/gpu/ganesh/vk/GrVkImage.h"
#include "src/gpu/ganesh/vk/GrVkImageView.h"
#include "src/gpu/ganesh/vk/GrVkPipeline.h"
#include "src/gpu/ganesh/vk/GrVkPipelineState.h"
#include "src/gpu/ganesh/vk/GrVkRenderPass.h"
#include "src/gpu/ganesh/vk/GrVkRenderTarget.h"
#include "src/gpu/ganesh/vk/GrVkUtil.h"

Go to the source code of this file.

Functions

static bool submit_to_queue (GrVkGpu *gpu, VkQueue queue, VkFence fence, uint32_t waitCount, const VkSemaphore *waitSemaphores, const VkPipelineStageFlags *waitStages, uint32_t commandBufferCount, const VkCommandBuffer *commandBuffers, uint32_t signalCount, const VkSemaphore *signalSemaphores, GrProtected protectedContext)
 

Function Documentation

◆ submit_to_queue()

static bool submit_to_queue ( GrVkGpu gpu,
VkQueue  queue,
VkFence  fence,
uint32_t  waitCount,
const VkSemaphore *  waitSemaphores,
const VkPipelineStageFlags waitStages,
uint32_t  commandBufferCount,
const VkCommandBuffer *  commandBuffers,
uint32_t  signalCount,
const VkSemaphore *  signalSemaphores,
GrProtected  protectedContext 
)
static

Definition at line 542 of file GrVkCommandBuffer.cpp.

552 {
553 VkProtectedSubmitInfo protectedSubmitInfo;
554 if (protectedContext == GrProtected::kYes) {
555 memset(&protectedSubmitInfo, 0, sizeof(VkProtectedSubmitInfo));
557 protectedSubmitInfo.pNext = nullptr;
558 protectedSubmitInfo.protectedSubmit = VK_TRUE;
559 }
560
561 VkSubmitInfo submitInfo;
562 memset(&submitInfo, 0, sizeof(VkSubmitInfo));
564 submitInfo.pNext = protectedContext == GrProtected::kYes ? &protectedSubmitInfo : nullptr;
565 submitInfo.waitSemaphoreCount = waitCount;
566 submitInfo.pWaitSemaphores = waitSemaphores;
567 submitInfo.pWaitDstStageMask = waitStages;
568 submitInfo.commandBufferCount = commandBufferCount;
569 submitInfo.pCommandBuffers = commandBuffers;
570 submitInfo.signalSemaphoreCount = signalCount;
571 submitInfo.pSignalSemaphores = signalSemaphores;
573 GR_VK_CALL_RESULT(gpu, result, QueueSubmit(queue, 1, &submitInfo, fence));
574 return result == VK_SUCCESS;
575}
#define GR_VK_CALL_RESULT(GPU, RESULT, X)
Definition: GrVkUtil.h:35
VkQueue queue
Definition: main.cc:55
GAsyncResult * result
VkStructureType sType
Definition: vulkan_core.h:5417
uint32_t waitSemaphoreCount
Definition: vulkan_core.h:3285
const VkPipelineStageFlags * pWaitDstStageMask
Definition: vulkan_core.h:3287
uint32_t commandBufferCount
Definition: vulkan_core.h:3288
const VkSemaphore * pWaitSemaphores
Definition: vulkan_core.h:3286
uint32_t signalSemaphoreCount
Definition: vulkan_core.h:3290
const VkCommandBuffer * pCommandBuffers
Definition: vulkan_core.h:3289
const void * pNext
Definition: vulkan_core.h:3284
const VkSemaphore * pSignalSemaphores
Definition: vulkan_core.h:3291
VkStructureType sType
Definition: vulkan_core.h:3283
#define VK_TRUE
Definition: vulkan_core.h:131
VkResult
Definition: vulkan_core.h:140
@ VK_SUCCESS
Definition: vulkan_core.h:141
@ VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO
Definition: vulkan_core.h:288
@ VK_STRUCTURE_TYPE_SUBMIT_INFO
Definition: vulkan_core.h:206