Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(450)

Side by Side Diff: src/gpu/vk/GrVkCommandBuffer.cpp

Issue 2210383002: Implement Vulkan Resolve. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Add layout change Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/vk/GrVkCommandBuffer.h ('k') | src/gpu/vk/GrVkGpu.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "GrVkCommandBuffer.h" 8 #include "GrVkCommandBuffer.h"
9 9
10 #include "GrVkFramebuffer.h" 10 #include "GrVkFramebuffer.h"
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 SkASSERT(!fActiveRenderPass); 561 SkASSERT(!fActiveRenderPass);
562 this->addResource(image->resource()); 562 this->addResource(image->resource());
563 GR_VK_CALL(gpu->vkInterface(), CmdClearDepthStencilImage(fCmdBuffer, 563 GR_VK_CALL(gpu->vkInterface(), CmdClearDepthStencilImage(fCmdBuffer,
564 image->image(), 564 image->image(),
565 image->currentLayou t(), 565 image->currentLayou t(),
566 color, 566 color,
567 subRangeCount, 567 subRangeCount,
568 subRanges)); 568 subRanges));
569 } 569 }
570 570
571 void GrVkPrimaryCommandBuffer::resolveImage(GrVkGpu* gpu,
572 const GrVkImage& srcImage,
573 const GrVkImage& dstImage,
574 uint32_t regionCount,
575 const VkImageResolve* regions) {
576 SkASSERT(fIsActive);
577 SkASSERT(!fActiveRenderPass);
578
579 this->addResource(srcImage.resource());
580 this->addResource(dstImage.resource());
581
582 GR_VK_CALL(gpu->vkInterface(), CmdResolveImage(fCmdBuffer,
583 srcImage.image(),
584 srcImage.currentLayout(),
585 dstImage.image(),
586 dstImage.currentLayout(),
587 regionCount,
588 regions));
589 }
590
571 void GrVkPrimaryCommandBuffer::onFreeGPUData(const GrVkGpu* gpu) const { 591 void GrVkPrimaryCommandBuffer::onFreeGPUData(const GrVkGpu* gpu) const {
572 SkASSERT(!fActiveRenderPass); 592 SkASSERT(!fActiveRenderPass);
573 // Destroy the fence, if any 593 // Destroy the fence, if any
574 if (VK_NULL_HANDLE != fSubmitFence) { 594 if (VK_NULL_HANDLE != fSubmitFence) {
575 GR_VK_CALL(gpu->vkInterface(), DestroyFence(gpu->device(), fSubmitFence, nullptr)); 595 GR_VK_CALL(gpu->vkInterface(), DestroyFence(gpu->device(), fSubmitFence, nullptr));
576 } 596 }
577 } 597 }
578 598
579 /////////////////////////////////////////////////////////////////////////////// 599 ///////////////////////////////////////////////////////////////////////////////
580 // SecondaryCommandBuffer 600 // SecondaryCommandBuffer
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 fIsActive = true; 651 fIsActive = true;
632 } 652 }
633 653
634 void GrVkSecondaryCommandBuffer::end(const GrVkGpu* gpu) { 654 void GrVkSecondaryCommandBuffer::end(const GrVkGpu* gpu) {
635 SkASSERT(fIsActive); 655 SkASSERT(fIsActive);
636 GR_VK_CALL_ERRCHECK(gpu->vkInterface(), EndCommandBuffer(fCmdBuffer)); 656 GR_VK_CALL_ERRCHECK(gpu->vkInterface(), EndCommandBuffer(fCmdBuffer));
637 this->invalidateState(); 657 this->invalidateState();
638 fIsActive = false; 658 fIsActive = false;
639 } 659 }
640 660
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkCommandBuffer.h ('k') | src/gpu/vk/GrVkGpu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698