Index: src/gpu/vk/GrVkGpu.h |
diff --git a/src/gpu/vk/GrVkGpu.h b/src/gpu/vk/GrVkGpu.h |
deleted file mode 100644 |
index 5bffdfdf93f8739f77929d656fbcea7e765f12b1..0000000000000000000000000000000000000000 |
--- a/src/gpu/vk/GrVkGpu.h |
+++ /dev/null |
@@ -1,220 +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 GrVkGpu_DEFINED |
-#define GrVkGpu_DEFINED |
- |
-#include "GrGpu.h" |
-#include "GrGpuFactory.h" |
-#include "GrVkCaps.h" |
-#include "GrVkIndexBuffer.h" |
-#include "GrVkProgram.h" |
-#include "GrVkResourceProvider.h" |
-#include "GrVkVertexBuffer.h" |
-#include "GrVkUtil.h" |
- |
-#include "shaderc/shaderc.h" |
-#include "vulkan/vulkan.h" |
- |
-class GrPipeline; |
-class GrNonInstancedVertices; |
- |
-class GrVkBufferImpl; |
-class GrVkCommandBuffer; |
-class GrVkPipeline; |
-class GrVkRenderPass; |
-class GrVkTexture; |
-struct GrVkInterface; |
- |
-class GrVkGpu : public GrGpu { |
-public: |
- // Currently passing in the inst so that we can properly delete it when we are done. |
- // Normally this would be done by the client. |
- GrVkGpu(GrContext* context, const GrContextOptions& options, |
- VkPhysicalDevice physDev, VkDevice device, VkQueue queue, VkCommandPool cmdPool, |
- VkInstance inst); |
- ~GrVkGpu() override; |
- |
- const GrVkInterface* vkInterface() const { return fInterface.get(); } |
- const GrVkCaps& vkCaps() const { return *fVkCaps; } |
- |
- VkDevice device() const { return fDevice; } |
- VkQueue queue() const { return fQueue; } |
- VkCommandPool cmdPool() const { return fCmdPool; } |
- VkPhysicalDeviceMemoryProperties physicalDeviceMemoryProperties() const { |
- return fPhysDevMemProps; |
- } |
- |
- GrVkResourceProvider& resourceProvider() { return fResourceProvider; } |
- |
- enum SyncQueue { |
- kForce_SyncQueue, |
- kSkip_SyncQueue |
- }; |
- |
- bool onGetReadPixelsInfo(GrSurface* srcSurface, int readWidth, int readHeight, size_t rowBytes, |
- GrPixelConfig readConfig, DrawPreference*, |
- ReadPixelTempDrawInfo*) override; |
- |
- bool onGetWritePixelsInfo(GrSurface* dstSurface, int width, int height, |
- GrPixelConfig srcConfig, DrawPreference*, |
- WritePixelTempDrawInfo*) override; |
- |
- void buildProgramDesc(GrProgramDesc*, const GrPrimitiveProcessor&, |
- const GrPipeline&) const override; |
- |
- void discard(GrRenderTarget*) override { |
- SkDebugf("discard not yet implemented for Vulkan\n"); |
- } |
- |
- bool onCopySurface(GrSurface* dst, |
- GrSurface* src, |
- const SkIRect& srcRect, |
- const SkIPoint& dstPoint) override; |
- |
- bool initCopySurfaceDstDesc(const GrSurface* src, GrSurfaceDesc* desc) const override { |
- SkDebugf("initCopySurfaceDstDesc not yet implemented for Vulkan\n"); |
- return false; |
- } |
- |
- void xferBarrier(GrRenderTarget*, GrXferBarrierType) override {} |
- |
- GrBackendObject createTestingOnlyBackendTexture(void* pixels, int w, int h, |
- GrPixelConfig config) override; |
- bool isTestingOnlyBackendTexture(GrBackendObject id) const override; |
- void deleteTestingOnlyBackendTexture(GrBackendObject id, bool abandonTexture) override; |
- |
- GrStencilAttachment* createStencilAttachmentForRenderTarget(const GrRenderTarget*, |
- int width, |
- int height) override; |
- |
- void clearStencil(GrRenderTarget* target) override { |
- SkDebugf("clearStencil not yet implemented for Vulkan\n"); |
- } |
- |
- void drawDebugWireRect(GrRenderTarget*, const SkIRect&, GrColor) override { |
- SkDebugf("drawDebugWireRect not yet implemented for Vulkan\n"); |
- } |
- |
- void addMemoryBarrier(VkPipelineStageFlags srcStageMask, |
- VkPipelineStageFlags dstStageMask, |
- bool byRegion, |
- VkMemoryBarrier* barrier) const; |
- void addBufferMemoryBarrier(VkPipelineStageFlags srcStageMask, |
- VkPipelineStageFlags dstStageMask, |
- bool byRegion, |
- VkBufferMemoryBarrier* barrier) const; |
- void addImageMemoryBarrier(VkPipelineStageFlags srcStageMask, |
- VkPipelineStageFlags dstStageMask, |
- bool byRegion, |
- VkImageMemoryBarrier* barrier) const; |
- |
- shaderc_compiler_t shadercCompiler() const { |
- return fCompiler; |
- } |
- |
- void finishDrawTarget() override; |
- |
-private: |
- void onResetContext(uint32_t resetBits) override { |
- SkDebugf("onResetContext not yet implemented for Vulkan\n"); |
- } |
- |
- GrTexture* onCreateTexture(const GrSurfaceDesc& desc, GrGpuResource::LifeCycle, |
- const void* srcData, size_t rowBytes) override; |
- |
- GrTexture* onCreateCompressedTexture(const GrSurfaceDesc& desc, GrGpuResource::LifeCycle, |
- const void* srcData) override { |
- SkDebugf("onCreateCompressedTexture not yet implemented for Vulkan\n"); |
- return NULL; |
- } |
- |
- GrTexture* onWrapBackendTexture(const GrBackendTextureDesc&, GrWrapOwnership) override; |
- |
- GrRenderTarget* onWrapBackendRenderTarget(const GrBackendRenderTargetDesc&, |
- GrWrapOwnership) override; |
- |
- GrVertexBuffer* onCreateVertexBuffer(size_t size, bool dynamic) override; |
- GrIndexBuffer* onCreateIndexBuffer(size_t size, bool dynamic) override; |
- GrTransferBuffer* onCreateTransferBuffer(size_t size, TransferType type) override; |
- |
- void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) override; |
- |
- void onClearStencilClip(GrRenderTarget*, const SkIRect& rect, bool insideClip) override { |
- SkDebugf("onClearStencilClip not yet implemented for Vulkan\n"); |
- } |
- |
- void onDraw(const DrawArgs&, const GrNonInstancedVertices&) override; |
- |
- bool onReadPixels(GrSurface* surface, |
- int left, int top, int width, int height, |
- GrPixelConfig, |
- void* buffer, |
- size_t rowBytes) override; |
- |
- bool onWritePixels(GrSurface* surface, |
- int left, int top, int width, int height, |
- GrPixelConfig config, const void* buffer, size_t rowBytes) override; |
- |
- bool onTransferPixels(GrSurface*, |
- int left, int top, int width, int height, |
- GrPixelConfig config, GrTransferBuffer* buffer, |
- size_t offset, size_t rowBytes) override { |
- SkDebugf("onTransferPixels not yet implemented for Vulkan\n"); |
- return false; |
- } |
- |
- void onResolveRenderTarget(GrRenderTarget* target) override { |
- SkDebugf("onResolveRenderTarget not yet implemented for Vulkan\n"); |
- } |
- |
- // Bind vertex and index buffers |
- void bindGeometry(const GrPrimitiveProcessor&, const GrNonInstancedVertices&); |
- |
- // Ends and submits the current command buffer to the queue and then creates a new command |
- // buffer and begins it. If sync is set to kForce_SyncQueue, the function will wait for all |
- // work in the queue to finish before returning. |
- void submitCommandBuffer(SyncQueue sync); |
- |
- void copySurfaceAsCopyImage(GrSurface* dst, |
- GrSurface* src, |
- const SkIRect& srcRect, |
- const SkIPoint& dstPoint); |
- |
- void copySurfaceAsDraw(GrSurface* dst, |
- GrSurface* src, |
- const SkIRect& srcRect, |
- const SkIPoint& dstPoint); |
- |
- // helper for onCreateTexture and writeTexturePixels |
- bool uploadTexData(GrVkTexture* tex, |
- int left, int top, int width, int height, |
- GrPixelConfig dataConfig, |
- const void* data, |
- size_t rowBytes); |
- |
- SkAutoTUnref<const GrVkInterface> fInterface; |
- SkAutoTUnref<GrVkCaps> fVkCaps; |
- VkPhysicalDeviceMemoryProperties fPhysDevMemProps; |
- VkDevice fDevice; |
- VkQueue fQueue; // for now, one queue |
- VkCommandPool fCmdPool; |
- GrVkCommandBuffer* fCurrentCmdBuffer; |
- GrVkResourceProvider fResourceProvider; |
- |
- // Shaderc compiler used for compiling glsl in spirv. We only want to create the compiler once |
- // since there is significant overhead to the first compile of any compiler. |
- shaderc_compiler_t fCompiler; |
- |
- // This is only for our current testing and building. The client should be holding on to the |
- // VkInstance. |
- VkInstance fVkInstance; |
- |
- typedef GrGpu INHERITED; |
-}; |
- |
-#endif |