Index: src/gpu/vk/GrVkGpu.cpp |
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp |
index 8083509877105c8c68bde6279db2afb0870f730f..5fba475cab34c4bb3a942bd77b7296d6cc013a60 100644 |
--- a/src/gpu/vk/GrVkGpu.cpp |
+++ b/src/gpu/vk/GrVkGpu.cpp |
@@ -187,13 +187,11 @@ |
buff = GrVkIndexBuffer::Create(this, size, kDynamic_GrAccessPattern == accessPattern); |
break; |
case kXferCpuToGpu_GrBufferType: |
- SkASSERT(kDynamic_GrAccessPattern == accessPattern || |
- kStream_GrAccessPattern == accessPattern); |
+ SkASSERT(kStream_GrAccessPattern == accessPattern); |
buff = GrVkTransferBuffer::Create(this, size, GrVkBuffer::kCopyRead_Type); |
break; |
case kXferGpuToCpu_GrBufferType: |
- SkASSERT(kDynamic_GrAccessPattern == accessPattern || |
- kStream_GrAccessPattern == accessPattern); |
+ SkASSERT(kStream_GrAccessPattern == accessPattern); |
buff = GrVkTransferBuffer::Create(this, size, GrVkBuffer::kCopyWrite_Type); |
break; |
default: |
@@ -286,95 +284,6 @@ |
return false; |
} |
- |
-bool GrVkGpu::onTransferPixels(GrTexture* texture, |
- int left, int top, int width, int height, |
- GrPixelConfig config, GrBuffer* transferBuffer, |
- size_t bufferOffset, size_t rowBytes) { |
- GrVkTexture* vkTex = static_cast<GrVkTexture*>(texture); |
- if (!vkTex) { |
- return false; |
- } |
- GrVkTransferBuffer* vkBuffer = static_cast<GrVkTransferBuffer*>(transferBuffer); |
- if (!vkBuffer) { |
- return false; |
- } |
- |
- // We assume Vulkan doesn't do sRGB <-> linear conversions when reading and writing pixels. |
- if (GrPixelConfigIsSRGB(texture->config()) != GrPixelConfigIsSRGB(config)) { |
- return false; |
- } |
- |
- // TODO: Handle y axis flip via copy to temp image, then blit to final |
- if (kBottomLeft_GrSurfaceOrigin == vkTex->origin()) { |
- return false; |
- } |
- |
- bool success = false; |
- if (GrPixelConfigIsCompressed(vkTex->desc().fConfig)) { |
- // We check that config == desc.fConfig in GrGpu::getWritePixelsInfo() |
- SkASSERT(config == vkTex->desc().fConfig); |
- // TODO: add compressed texture support |
- // delete the following two lines and uncomment the two after that when ready |
- vkTex->unref(); |
- return false; |
- //success = this->uploadCompressedTexData(vkTex->desc(), buffer, false, left, top, width, |
- // height); |
- } else { |
- // make sure the unmap has finished |
- vkBuffer->addMemoryBarrier(this, |
- VK_ACCESS_HOST_WRITE_BIT, |
- VK_ACCESS_TRANSFER_READ_BIT, |
- VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, |
- VK_PIPELINE_STAGE_TRANSFER_BIT, |
- false); |
- |
- // Set up copy region |
- size_t bpp = GrBytesPerPixel(config); |
- |
- VkBufferImageCopy region; |
- memset(®ion, 0, sizeof(VkBufferImageCopy)); |
- region.bufferOffset = bufferOffset; |
- region.bufferRowLength = (uint32_t)(rowBytes/bpp); |
- region.bufferImageHeight = 0; |
- region.imageSubresource = { VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, 1 }; |
- region.imageOffset = { left, top, 0 }; |
- region.imageExtent = { (uint32_t)width, (uint32_t)height, 1 }; |
- |
- // Change layout of our target so it can be copied to |
- VkImageLayout layout = vkTex->currentLayout(); |
- VkPipelineStageFlags srcStageMask = GrVkMemory::LayoutToPipelineStageFlags(layout); |
- VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT; |
- VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(layout); |
- VkAccessFlags dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; |
- vkTex->setImageLayout(this, |
- VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, |
- srcAccessMask, |
- dstAccessMask, |
- srcStageMask, |
- dstStageMask, |
- false); |
- |
- // Copy the buffer to the image |
- fCurrentCmdBuffer->copyBufferToImage(this, |
- vkBuffer, |
- vkTex, |
- VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, |
- 1, |
- ®ion); |
- |
- // Submit the current command buffer to the Queue |
- this->submitCommandBuffer(kSkip_SyncQueue); |
- } |
- |
- if (success) { |
- vkTex->texturePriv().dirtyMipMaps(true); |
- return true; |
- } |
- |
- return false; |
-} |
- |
bool GrVkGpu::uploadTexData(GrVkTexture* tex, |
int left, int top, int width, int height, |
GrPixelConfig dataConfig, |