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

Unified Diff: src/gpu/vk/GrVkCommandBuffer.h

Issue 1723503002: Revert of Add vulkan files into skia repo. (Closed) Base URL: https://skia.googlesource.com/skia.git@merge
Patch Set: Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/vk/GrVkCaps.cpp ('k') | src/gpu/vk/GrVkCommandBuffer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/vk/GrVkCommandBuffer.h
diff --git a/src/gpu/vk/GrVkCommandBuffer.h b/src/gpu/vk/GrVkCommandBuffer.h
deleted file mode 100644
index 33867abc5acc23c09af4087c17393ed5f26d8974..0000000000000000000000000000000000000000
--- a/src/gpu/vk/GrVkCommandBuffer.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
-* Copyright 2015 Google Inc.
-*
-* Use of this source code is governed by a BSD-style license that can be
-* found in the LICENSE file.
-*/
-
-#ifndef GrVkCommandBuffer_DEFINED
-#define GrVkCommandBuffer_DEFINED
-
-#include "GrVkGpu.h"
-#include "GrVkPipeline.h"
-#include "GrVkResource.h"
-#include "GrVkUtil.h"
-#include "vulkan/vulkan.h"
-
-class GrVkRenderPass;
-class GrVkRenderTarget;
-class GrVkTransferBuffer;
-
-class GrVkCommandBuffer : public GrVkResource {
-public:
- static GrVkCommandBuffer* Create(const GrVkGpu* gpu, VkCommandPool cmdPool);
- ~GrVkCommandBuffer() override;
-
- void begin(const GrVkGpu* gpu);
- void end(const GrVkGpu* gpu);
-
- void invalidateState();
-
- // Begins render pass on this command buffer. The framebuffer from GrVkRenderTarget will be used
- // in the render pass.
- void beginRenderPass(const GrVkGpu* gpu,
- const GrVkRenderPass* renderPass,
- const GrVkRenderTarget& target);
- void endRenderPass(const GrVkGpu* gpu);
-
- void submitToQueue(const GrVkGpu* gpu, VkQueue queue, GrVkGpu::SyncQueue sync);
- bool finished(const GrVkGpu* gpu) const;
-
- ////////////////////////////////////////////////////////////////////////////
- // CommandBuffer State/Object bindings
- ////////////////////////////////////////////////////////////////////////////
-#if 0
- void bindPipeline(const GrVkGpu* gpu) const;
- void bindDynamicState(const GrVkGpu* gpu) const;
- void bindDescriptorSet(const GrVkGpu* gpu) const;
-#endif
-
- ////////////////////////////////////////////////////////////////////////////
- // CommandBuffer commands
- ////////////////////////////////////////////////////////////////////////////
- enum BarrierType {
- kMemory_BarrierType,
- kBufferMemory_BarrierType,
- kImageMemory_BarrierType
- };
-
- void pipelineBarrier(const GrVkGpu* gpu,
- VkPipelineStageFlags srcStageMask,
- VkPipelineStageFlags dstStageMask,
- bool byRegion,
- BarrierType barrierType,
- void* barrier) const;
-
- void bindVertexBuffer(GrVkGpu* gpu, GrVkVertexBuffer* vbuffer) {
- VkBuffer vkBuffer = vbuffer->buffer();
- if (!fBoundVertexBufferIsValid || vkBuffer != fBoundVertexBuffer) {
- VkDeviceSize offset = 0;
- GR_VK_CALL(gpu->vkInterface(), CmdBindVertexBuffers(fCmdBuffer,
- 0,
- 1,
- &vkBuffer,
- &offset));
- fBoundVertexBufferIsValid = true;
- fBoundVertexBuffer = vkBuffer;
- addResource(vbuffer->resource());
- }
- }
-
- void bindIndexBuffer(GrVkGpu* gpu, GrVkIndexBuffer* ibuffer) {
- VkBuffer vkBuffer = ibuffer->buffer();
- if (!fBoundIndexBufferIsValid || vkBuffer != fBoundIndexBuffer) {
- GR_VK_CALL(gpu->vkInterface(), CmdBindIndexBuffer(fCmdBuffer,
- vkBuffer,
- 0,
- VK_INDEX_TYPE_UINT16));
- fBoundIndexBufferIsValid = true;
- fBoundIndexBuffer = vkBuffer;
- addResource(ibuffer->resource());
- }
- }
-
- void bindPipeline(const GrVkGpu* gpu, const GrVkPipeline* pipeline) {
- GR_VK_CALL(gpu->vkInterface(), CmdBindPipeline(fCmdBuffer,
- VK_PIPELINE_BIND_POINT_GRAPHICS,
- pipeline->pipeline()));
- addResource(pipeline);
- }
-
- void bindDescriptorSets(const GrVkGpu* gpu,
- GrVkProgram*,
- VkPipelineLayout layout,
- uint32_t firstSet,
- uint32_t setCount,
- const VkDescriptorSet* descriptorSets,
- uint32_t dynamicOffsetCount,
- const uint32_t* dynamicOffsets);
-
- // Commands that only work outside of a render pass
- void clearColorImage(const GrVkGpu* gpu,
- GrVkImage* image,
- const VkClearColorValue* color,
- uint32_t subRangeCount,
- const VkImageSubresourceRange* subRanges);
-
- void copyImage(const GrVkGpu* gpu,
- GrVkImage* srcImage,
- VkImageLayout srcLayout,
- GrVkImage* dstImage,
- VkImageLayout dstLayout,
- uint32_t copyRegionCount,
- const VkImageCopy* copyRegions);
-
- void copyImageToBuffer(const GrVkGpu* gpu,
- GrVkImage* srcImage,
- VkImageLayout srcLayout,
- GrVkTransferBuffer* dstBuffer,
- uint32_t copyRegionCount,
- const VkBufferImageCopy* copyRegions);
-
- void copyBufferToImage(const GrVkGpu* gpu,
- GrVkTransferBuffer* srcBuffer,
- GrVkImage* dstImage,
- VkImageLayout dstLayout,
- uint32_t copyRegionCount,
- const VkBufferImageCopy* copyRegions);
-
- // Commands that only work inside of a render pass
- void clearAttachments(const GrVkGpu* gpu,
- int numAttachments,
- const VkClearAttachment* attachments,
- int numRects,
- const VkClearRect* clearRects) const;
-
- void drawIndexed(const GrVkGpu* gpu,
- uint32_t indexCount,
- uint32_t instanceCount,
- uint32_t firstIndex,
- int32_t vertexOffset,
- uint32_t firstInstance) const;
-
- void draw(const GrVkGpu* gpu,
- uint32_t vertexCount,
- uint32_t instanceCount,
- uint32_t firstVertex,
- uint32_t firstInstance) const;
-
- // Add ref-counted resource that will be tracked and released when this
- // command buffer finishes execution
- void addResource(const GrVkResource* resource) {
- resource->ref();
- fTrackedResources.push_back(resource);
- }
-
-private:
- static const int kInitialTrackedResourcesCount = 32;
-
- explicit GrVkCommandBuffer(VkCommandBuffer cmdBuffer)
- : fTrackedResources(kInitialTrackedResourcesCount)
- , fCmdBuffer(cmdBuffer)
- , fSubmitFence(VK_NULL_HANDLE)
- , fBoundVertexBufferIsValid(false)
- , fBoundIndexBufferIsValid(false)
- , fIsActive(false)
- , fActiveRenderPass(nullptr) {
- this->invalidateState();
- }
-
- void freeGPUData(const GrVkGpu* gpu) const override;
- void abandonSubResources() const override;
-
- SkTArray<const GrVkResource*, true> fTrackedResources;
-
- VkCommandBuffer fCmdBuffer;
- VkFence fSubmitFence;
-
- VkBuffer fBoundVertexBuffer;
- bool fBoundVertexBufferIsValid;
-
- VkBuffer fBoundIndexBuffer;
- bool fBoundIndexBufferIsValid;
-
- // Tracks whether we are in the middle of a command buffer begin/end calls and thus can add new
- // commands to the buffer;
- bool fIsActive;
-
- // Stores a pointer to the current active render pass (i.e. begin has been called but not end).
- // A nullptr means there is no active render pass. The GrVKCommandBuffer does not own the render
- // pass.
- const GrVkRenderPass* fActiveRenderPass;
-};
-
-
-#endif
-
« no previous file with comments | « src/gpu/vk/GrVkCaps.cpp ('k') | src/gpu/vk/GrVkCommandBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698