• Home
  • Raw
  • Download

Lines Matching full:gpu

8 #include "src/gpu/vk/GrVkCommandBuffer.h"
12 #include "src/gpu/vk/GrVkBuffer.h"
13 #include "src/gpu/vk/GrVkCommandPool.h"
14 #include "src/gpu/vk/GrVkFramebuffer.h"
15 #include "src/gpu/vk/GrVkGpu.h"
16 #include "src/gpu/vk/GrVkImage.h"
17 #include "src/gpu/vk/GrVkImageView.h"
18 #include "src/gpu/vk/GrVkPipeline.h"
19 #include "src/gpu/vk/GrVkPipelineState.h"
20 #include "src/gpu/vk/GrVkPipelineState.h"
21 #include "src/gpu/vk/GrVkRenderPass.h"
22 #include "src/gpu/vk/GrVkRenderTarget.h"
23 #include "src/gpu/vk/GrVkUtil.h"
25 #include "src/gpu/vk/GrVkDrawAreaManager.h"
26 #include "src/gpu/vk/vulkan_header_ext_huawei.h"
46 void GrVkCommandBuffer::freeGPUData(const GrGpu* gpu, VkCommandPool cmdPool) const { in freeGPUData() argument
47 TRACE_EVENT0("skia.gpu", TRACE_FUNC); in freeGPUData()
56 GrVkGpu* vkGpu = (GrVkGpu*)gpu; in freeGPUData()
63 TRACE_EVENT0("skia.gpu", TRACE_FUNC); in releaseResources()
80 void GrVkCommandBuffer::pipelineBarrier(const GrVkGpu* gpu, in pipelineBarrier() argument
130 this->submitPipelineBarriers(gpu); in pipelineBarrier()
146 this->submitPipelineBarriers(gpu, true); in pipelineBarrier()
150 void GrVkCommandBuffer::submitPipelineBarriers(const GrVkGpu* gpu, bool forSelfDependency) { in submitPipelineBarriers() argument
164 GR_VK_CALL(gpu->vkInterface(), CmdPipelineBarrier( in submitPipelineBarriers()
181 void GrVkCommandBuffer::bindInputBuffer(GrVkGpu* gpu, uint32_t binding, in bindInputBuffer() argument
190 GR_VK_CALL(gpu->vkInterface(), CmdBindVertexBuffers(fCmdBuffer, in bindInputBuffer()
200 void GrVkCommandBuffer::bindIndexBuffer(GrVkGpu* gpu, sk_sp<const GrBuffer> buffer) { in bindIndexBuffer() argument
206 GR_VK_CALL(gpu->vkInterface(), CmdBindIndexBuffer(fCmdBuffer, in bindIndexBuffer()
214 void GrVkCommandBuffer::clearAttachments(const GrVkGpu* gpu, in clearAttachments() argument
224 this->addingWork(gpu); in clearAttachments()
235 GR_VK_CALL(gpu->vkInterface(), CmdClearAttachments(fCmdBuffer, in clearAttachments()
240 if (gpu->vkCaps().mustInvalidatePrimaryCmdBufferStateAfterClearAttachments()) { in clearAttachments()
245 void GrVkCommandBuffer::bindDescriptorSets(const GrVkGpu* gpu, in bindDescriptorSets() argument
253 GR_VK_CALL(gpu->vkInterface(), CmdBindDescriptorSets(fCmdBuffer, in bindDescriptorSets()
263 void GrVkCommandBuffer::bindPipeline(const GrVkGpu* gpu, sk_sp<const GrVkPipeline> pipeline) { in bindPipeline() argument
265 GR_VK_CALL(gpu->vkInterface(), CmdBindPipeline(fCmdBuffer, in bindPipeline()
271 void GrVkCommandBuffer::pushConstants(const GrVkGpu* gpu, VkPipelineLayout layout, in pushConstants() argument
278 GR_VK_CALL(gpu->vkInterface(), CmdPushConstants(fCmdBuffer, in pushConstants()
286 void GrVkCommandBuffer::drawIndexed(const GrVkGpu* gpu, in drawIndexed() argument
294 this->addingWork(gpu); in drawIndexed()
295 GR_VK_CALL(gpu->vkInterface(), CmdDrawIndexed(fCmdBuffer, in drawIndexed()
303 void GrVkCommandBuffer::draw(const GrVkGpu* gpu, in draw() argument
310 this->addingWork(gpu); in draw()
311 GR_VK_CALL(gpu->vkInterface(), CmdDraw(fCmdBuffer, in draw()
318 void GrVkCommandBuffer::drawIndirect(const GrVkGpu* gpu, in drawIndirect() argument
326 this->addingWork(gpu); in drawIndirect()
328 GR_VK_CALL(gpu->vkInterface(), CmdDrawIndirect(fCmdBuffer, in drawIndirect()
336 void GrVkCommandBuffer::drawIndexedIndirect(const GrVkGpu* gpu, in drawIndexedIndirect() argument
344 this->addingWork(gpu); in drawIndexedIndirect()
346 GR_VK_CALL(gpu->vkInterface(), CmdDrawIndexedIndirect(fCmdBuffer, in drawIndexedIndirect()
354 void GrVkCommandBuffer::setViewport(const GrVkGpu* gpu, in setViewport() argument
361 GR_VK_CALL(gpu->vkInterface(), CmdSetViewport(fCmdBuffer, in setViewport()
369 void GrVkCommandBuffer::setScissor(const GrVkGpu* gpu, in setScissor() argument
376 GR_VK_CALL(gpu->vkInterface(), CmdSetScissor(fCmdBuffer, in setScissor()
384 void GrVkCommandBuffer::setBlendConstants(const GrVkGpu* gpu, in setBlendConstants() argument
388 GR_VK_CALL(gpu->vkInterface(), CmdSetBlendConstants(fCmdBuffer, blendConstants)); in setBlendConstants()
393 void GrVkCommandBuffer::addingWork(const GrVkGpu* gpu) { in addingWork() argument
394 this->submitPipelineBarriers(gpu); in addingWork()
406 GrVkPrimaryCommandBuffer* GrVkPrimaryCommandBuffer::Create(GrVkGpu* gpu, in Create() argument
418 GR_VK_CALL_RESULT(gpu, err, AllocateCommandBuffers(gpu->device(), &cmdInfo, &cmdBuffer)); in Create()
425 void GrVkPrimaryCommandBuffer::begin(GrVkGpu* gpu) { in begin() argument
434 GR_VK_CALL_ERRCHECK(gpu, BeginCommandBuffer(fCmdBuffer, &cmdBufferBeginInfo)); in begin()
438 void GrVkPrimaryCommandBuffer::end(GrVkGpu* gpu, bool abandoningBuffer) { in end() argument
449 this->submitPipelineBarriers(gpu); in end()
451 GR_VK_CALL_ERRCHECK(gpu, EndCommandBuffer(fCmdBuffer)); in end()
458 bool GrVkPrimaryCommandBuffer::beginRenderPass(GrVkGpu* gpu, in beginRenderPass() argument
470 this->addingWork(gpu); in beginRenderPass()
512 GR_VK_CALL(gpu->vkInterface(), CmdBeginRenderPass(fCmdBuffer, &beginInfo, contents)); in beginRenderPass()
520 void GrVkPrimaryCommandBuffer::endRenderPass(const GrVkGpu* gpu) { in endRenderPass() argument
523 this->addingWork(gpu); in endRenderPass()
524 GR_VK_CALL(gpu->vkInterface(), CmdEndRenderPass(fCmdBuffer)); in endRenderPass()
529 void GrVkPrimaryCommandBuffer::nexSubpass(GrVkGpu* gpu, bool forSecondaryCB) { in nexSubpass() argument
534 GR_VK_CALL(gpu->vkInterface(), CmdNextSubpass(fCmdBuffer, contents)); in nexSubpass()
537 void GrVkPrimaryCommandBuffer::executeCommands(const GrVkGpu* gpu, in executeCommands() argument
547 this->addingWork(gpu); in executeCommands()
549 GR_VK_CALL(gpu->vkInterface(), CmdExecuteCommands(fCmdBuffer, 1, &buffer->fCmdBuffer)); in executeCommands()
566 static bool submit_to_queue(GrVkGpu* gpu, in submit_to_queue() argument
597 GR_VK_CALL_RESULT(gpu, result, QueueSubmit(queue, 1, &submitInfo, fence)); in submit_to_queue()
600 if (nullptr != gpu->vkInterface()->fFunctions.fGetPerFrameLoad) { in submit_to_queue()
602 … GR_VK_CALL(gpu->vkInterface(), GetPerFrameLoad(commandBufferCount, commandBuffers, &frameLoad)); in submit_to_queue()
612 GrVkGpu* gpu, in submitToQueue() argument
623 GR_VK_CALL_RESULT(gpu, err, CreateFence(gpu->device(), &fenceInfo, nullptr, in submitToQueue()
631 GR_VK_CALL_RESULT(gpu, err, ResetFences(gpu->device(), 1, &fSubmitFence)); in submitToQueue()
644 gpu, queue, fSubmitFence, 0, nullptr, nullptr, 1, &fCmdBuffer, 0, nullptr, in submitToQueue()
645 gpu->protectedContext() ? GrProtected::kYes : GrProtected::kNo); in submitToQueue()
664 submitted = submit_to_queue(gpu, queue, fSubmitFence, vkWaitSems.count(), in submitToQueue()
667 gpu->protectedContext() ? GrProtected::kYes : GrProtected::kNo); in submitToQueue()
680 GR_VK_CALL(gpu->vkInterface(), DestroyFence(gpu->device(), fSubmitFence, nullptr)); in submitToQueue()
687 void GrVkPrimaryCommandBuffer::forceSync(GrVkGpu* gpu) { in forceSync() argument
691 GR_VK_CALL_ERRCHECK(gpu, WaitForFences(gpu->device(), 1, &fSubmitFence, true, UINT64_MAX)); in forceSync()
694 bool GrVkPrimaryCommandBuffer::finished(GrVkGpu* gpu) { in finished() argument
701 GR_VK_CALL_RESULT_NOCHECK(gpu, err, GetFenceStatus(gpu->device(), fSubmitFence)); in finished()
735 void GrVkPrimaryCommandBuffer::copyImage(const GrVkGpu* gpu, in copyImage() argument
744 this->addingWork(gpu); in copyImage()
747 GR_VK_CALL(gpu->vkInterface(), CmdCopyImage(fCmdBuffer, in copyImage()
756 void GrVkPrimaryCommandBuffer::blitImage(const GrVkGpu* gpu, in blitImage() argument
768 this->addingWork(gpu); in blitImage()
771 GR_VK_CALL(gpu->vkInterface(), CmdBlitImage(fCmdBuffer, in blitImage()
781 void GrVkPrimaryCommandBuffer::blitImage(const GrVkGpu* gpu, in blitImage() argument
787 this->blitImage(gpu, in blitImage()
800 void GrVkPrimaryCommandBuffer::copyImageToBuffer(const GrVkGpu* gpu, in copyImageToBuffer() argument
808 this->addingWork(gpu); in copyImageToBuffer()
810 GR_VK_CALL(gpu->vkInterface(), CmdCopyImageToBuffer(fCmdBuffer, in copyImageToBuffer()
820 void GrVkPrimaryCommandBuffer::copyBufferToImage(const GrVkGpu* gpu, in copyBufferToImage() argument
828 this->addingWork(gpu); in copyBufferToImage()
830 GR_VK_CALL(gpu->vkInterface(), CmdCopyBufferToImage(fCmdBuffer, in copyBufferToImage()
839 void GrVkPrimaryCommandBuffer::copyBuffer(GrVkGpu* gpu, in copyBuffer() argument
846 this->addingWork(gpu); in copyBuffer()
861 GR_VK_CALL(gpu->vkInterface(), CmdCopyBuffer(fCmdBuffer, in copyBuffer()
870 void GrVkPrimaryCommandBuffer::updateBuffer(GrVkGpu* gpu, in updateBuffer() argument
881 this->addingWork(gpu); in updateBuffer()
883 gpu->vkInterface(), in updateBuffer()
889 void GrVkPrimaryCommandBuffer::clearColorImage(const GrVkGpu* gpu, in clearColorImage() argument
896 this->addingWork(gpu); in clearColorImage()
898 GR_VK_CALL(gpu->vkInterface(), CmdClearColorImage(fCmdBuffer, in clearColorImage()
906 void GrVkPrimaryCommandBuffer::clearDepthStencilImage(const GrVkGpu* gpu, in clearDepthStencilImage() argument
913 this->addingWork(gpu); in clearDepthStencilImage()
915 GR_VK_CALL(gpu->vkInterface(), CmdClearDepthStencilImage(fCmdBuffer, in clearDepthStencilImage()
923 void GrVkPrimaryCommandBuffer::resolveImage(GrVkGpu* gpu, in resolveImage() argument
931 this->addingWork(gpu); in resolveImage()
935 GR_VK_CALL(gpu->vkInterface(), CmdResolveImage(fCmdBuffer, in resolveImage()
944 void GrVkPrimaryCommandBuffer::onFreeGPUData(const GrVkGpu* gpu) const { in onFreeGPUData()
948 GR_VK_CALL(gpu->vkInterface(), DestroyFence(gpu->device(), fSubmitFence, nullptr)); in onFreeGPUData()
953 void GrVkPrimaryCommandBuffer::drawBlurImage(const GrVkGpu* gpu, in drawBlurImage() argument
959 if ((gpu == nullptr) || (image == nullptr)) { in drawBlurImage()
962 this->addingWork(gpu); in drawBlurImage()
999 GR_VK_CALL(gpu->vkInterface(), CmdDrawBlurImageHUAWEI(fCmdBuffer, &drawBlurImageInfo)); in drawBlurImage()
1003 void GrVkPrimaryCommandBuffer::setOpaqueRegion(const GrVkGpu* gpu, in setOpaqueRegion() argument
1007 if (gpu == nullptr) { in setOpaqueRegion()
1011 this->addingWork(gpu); in setOpaqueRegion()
1020 …GR_VK_CALL(gpu->vkInterface(), CmdSetOpaqueRegionHUAWEI(fCmdBuffer, opaqueRegionCount, dstRegions.… in setOpaqueRegion()
1028 GrVkSecondaryCommandBuffer* GrVkSecondaryCommandBuffer::Create(GrVkGpu* gpu, in Create() argument
1041 GR_VK_CALL_RESULT(gpu, err, AllocateCommandBuffers(gpu->device(), &cmdInfo, &cmdBuffer)); in Create()
1053 void GrVkSecondaryCommandBuffer::begin(GrVkGpu* gpu, const GrVkFramebuffer* framebuffer, in begin() argument
1079 GR_VK_CALL_ERRCHECK(gpu, BeginCommandBuffer(fCmdBuffer, &cmdBufferBeginInfo)); in begin()
1084 void GrVkSecondaryCommandBuffer::end(GrVkGpu* gpu) { in end() argument
1087 GR_VK_CALL_ERRCHECK(gpu, EndCommandBuffer(fCmdBuffer)); in end()