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

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

Issue 1842753002: Style bikeshed - remove extraneous whitespace (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 8 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/GrVkGpu.h ('k') | src/gpu/vk/GrVkImage.cpp » ('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 "GrVkGpu.h" 8 #include "GrVkGpu.h"
9 9
10 #include "GrContextOptions.h" 10 #include "GrContextOptions.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 } 72 }
73 } else { 73 } else {
74 vkBackendContext->ref(); 74 vkBackendContext->ref();
75 } 75 }
76 76
77 return new GrVkGpu(context, options, vkBackendContext); 77 return new GrVkGpu(context, options, vkBackendContext);
78 } 78 }
79 79
80 //////////////////////////////////////////////////////////////////////////////// 80 ////////////////////////////////////////////////////////////////////////////////
81 81
82 GrVkGpu::GrVkGpu(GrContext* context, const GrContextOptions& options, 82 GrVkGpu::GrVkGpu(GrContext* context, const GrContextOptions& options,
83 const GrVkBackendContext* backendCtx) 83 const GrVkBackendContext* backendCtx)
84 : INHERITED(context) 84 : INHERITED(context)
85 , fVkInstance(backendCtx->fInstance) 85 , fVkInstance(backendCtx->fInstance)
86 , fDevice(backendCtx->fDevice) 86 , fDevice(backendCtx->fDevice)
87 , fQueue(backendCtx->fQueue) 87 , fQueue(backendCtx->fQueue)
88 , fResourceProvider(this) { 88 , fResourceProvider(this) {
89 fBackendContext.reset(backendCtx); 89 fBackendContext.reset(backendCtx);
90 90
91 #ifdef ENABLE_VK_LAYERS 91 #ifdef ENABLE_VK_LAYERS
92 if (backendCtx->fExtensions & kEXT_debug_report_GrVkExtensionFlag) { 92 if (backendCtx->fExtensions & kEXT_debug_report_GrVkExtensionFlag) {
(...skipping 22 matching lines...) Expand all
115 fCaps.reset(SkRef(fVkCaps.get())); 115 fCaps.reset(SkRef(fVkCaps.get()));
116 116
117 VK_CALL(GetPhysicalDeviceMemoryProperties(backendCtx->fPhysicalDevice, &fPhy sDevMemProps)); 117 VK_CALL(GetPhysicalDeviceMemoryProperties(backendCtx->fPhysicalDevice, &fPhy sDevMemProps));
118 118
119 const VkCommandPoolCreateInfo cmdPoolInfo = { 119 const VkCommandPoolCreateInfo cmdPoolInfo = {
120 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO, // sType 120 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO, // sType
121 nullptr, // pNext 121 nullptr, // pNext
122 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, // CmdPoolCreateFlags 122 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, // CmdPoolCreateFlags
123 backendCtx->fQueueFamilyIndex, // queueFamilyIndex 123 backendCtx->fQueueFamilyIndex, // queueFamilyIndex
124 }; 124 };
125 GR_VK_CALL_ERRCHECK(this->vkInterface(), CreateCommandPool(fDevice, &cmdPool Info, nullptr, 125 GR_VK_CALL_ERRCHECK(this->vkInterface(), CreateCommandPool(fDevice, &cmdPool Info, nullptr,
126 &fCmdPool)); 126 &fCmdPool));
127 127
128 // must call this after creating the CommandPool 128 // must call this after creating the CommandPool
129 fResourceProvider.init(); 129 fResourceProvider.init();
130 fCurrentCmdBuffer = fResourceProvider.createCommandBuffer(); 130 fCurrentCmdBuffer = fResourceProvider.createCommandBuffer();
131 SkASSERT(fCurrentCmdBuffer); 131 SkASSERT(fCurrentCmdBuffer);
132 fCurrentCmdBuffer->begin(this); 132 fCurrentCmdBuffer->begin(this);
133 } 133 }
134 134
135 GrVkGpu::~GrVkGpu() { 135 GrVkGpu::~GrVkGpu() {
136 fCurrentCmdBuffer->end(this); 136 fCurrentCmdBuffer->end(this);
137 fCurrentCmdBuffer->unref(this); 137 fCurrentCmdBuffer->unref(this);
138 138
139 // wait for all commands to finish 139 // wait for all commands to finish
140 fResourceProvider.checkCommandBuffers(); 140 fResourceProvider.checkCommandBuffers();
141 SkDEBUGCODE(VkResult res =) VK_CALL(QueueWaitIdle(fQueue)); 141 SkDEBUGCODE(VkResult res =) VK_CALL(QueueWaitIdle(fQueue));
142 // VK_ERROR_DEVICE_LOST is acceptable when tearing down (see 4.2.4 in spec) 142 // VK_ERROR_DEVICE_LOST is acceptable when tearing down (see 4.2.4 in spec)
143 SkASSERT(VK_SUCCESS == res || VK_ERROR_DEVICE_LOST == res); 143 SkASSERT(VK_SUCCESS == res || VK_ERROR_DEVICE_LOST == res);
144 144
145 // must call this just before we destroy the VkDevice 145 // must call this just before we destroy the VkDevice
146 fResourceProvider.destroyResources(); 146 fResourceProvider.destroyResources();
147 147
148 VK_CALL(DestroyCommandPool(fDevice, fCmdPool, nullptr)); 148 VK_CALL(DestroyCommandPool(fDevice, fCmdPool, nullptr));
149 149
150 shaderc_compiler_release(fCompiler); 150 shaderc_compiler_release(fCompiler);
151 151
152 #ifdef ENABLE_VK_LAYERS 152 #ifdef ENABLE_VK_LAYERS
153 VK_CALL(DestroyDebugReportCallbackEXT(fVkInstance, fCallback, nullptr)); 153 VK_CALL(DestroyDebugReportCallbackEXT(fVkInstance, fCallback, nullptr));
154 #endif 154 #endif
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 if (kIndex_8_GrPixelConfig == srcConfig || GrPixelConfigIsCompressed(dstSurf ace->config())) { 201 if (kIndex_8_GrPixelConfig == srcConfig || GrPixelConfigIsCompressed(dstSurf ace->config())) {
202 return false; 202 return false;
203 } 203 }
204 204
205 // Currently we don't handle draws, so if the caller wants/needs to do a dra w we need to fail 205 // Currently we don't handle draws, so if the caller wants/needs to do a dra w we need to fail
206 if (kNoDraw_DrawPreference != *drawPreference) { 206 if (kNoDraw_DrawPreference != *drawPreference) {
207 return false; 207 return false;
208 } 208 }
209 209
210 if (dstSurface->config() != srcConfig) { 210 if (dstSurface->config() != srcConfig) {
211 // TODO: This should fall back to drawing or copying to change config of dstSurface to 211 // TODO: This should fall back to drawing or copying to change config of dstSurface to
212 // match that of srcConfig. 212 // match that of srcConfig.
213 return false; 213 return false;
214 } 214 }
215 215
216 return true; 216 return true;
217 } 217 }
218 218
219 bool GrVkGpu::onWritePixels(GrSurface* surface, 219 bool GrVkGpu::onWritePixels(GrSurface* surface,
220 int left, int top, int width, int height, 220 int left, int top, int width, int height,
221 GrPixelConfig config, 221 GrPixelConfig config,
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 GR_VK_CALL(interface, GetImageSubresourceLayout(fDevice, 312 GR_VK_CALL(interface, GetImageSubresourceLayout(fDevice,
313 tex->textureImage(), 313 tex->textureImage(),
314 &subres, 314 &subres,
315 &layout)); 315 &layout));
316 316
317 int texTop = kBottomLeft_GrSurfaceOrigin == desc.fOrigin ? tex->height() - top - height 317 int texTop = kBottomLeft_GrSurfaceOrigin == desc.fOrigin ? tex->height() - top - height
318 : top; 318 : top;
319 VkDeviceSize offset = texTop*layout.rowPitch + left*bpp; 319 VkDeviceSize offset = texTop*layout.rowPitch + left*bpp;
320 VkDeviceSize size = height*layout.rowPitch; 320 VkDeviceSize size = height*layout.rowPitch;
321 void* mapPtr; 321 void* mapPtr;
322 err = GR_VK_CALL(interface, MapMemory(fDevice, tex->textureMemory(), off set, size, 0, 322 err = GR_VK_CALL(interface, MapMemory(fDevice, tex->textureMemory(), off set, size, 0,
323 &mapPtr)); 323 &mapPtr));
324 if (err) { 324 if (err) {
325 return false; 325 return false;
326 } 326 }
327 327
328 if (kBottomLeft_GrSurfaceOrigin == desc.fOrigin) { 328 if (kBottomLeft_GrSurfaceOrigin == desc.fOrigin) {
329 // copy into buffer by rows 329 // copy into buffer by rows
330 const char* srcRow = reinterpret_cast<const char*>(data); 330 const char* srcRow = reinterpret_cast<const char*>(data);
331 char* dstRow = reinterpret_cast<char*>(mapPtr)+(height - 1)*layout.r owPitch; 331 char* dstRow = reinterpret_cast<char*>(mapPtr)+(height - 1)*layout.r owPitch;
332 for (int y = 0; y < height; y++) { 332 for (int y = 0; y < height; y++) {
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 surfDesc.fHeight = desc.fHeight; 549 surfDesc.fHeight = desc.fHeight;
550 surfDesc.fConfig = desc.fConfig; 550 surfDesc.fConfig = desc.fConfig;
551 surfDesc.fSampleCnt = SkTMin(desc.fSampleCnt, this->caps()->maxSampleCount() ); 551 surfDesc.fSampleCnt = SkTMin(desc.fSampleCnt, this->caps()->maxSampleCount() );
552 bool renderTarget = SkToBool(desc.fFlags & kRenderTarget_GrBackendTextureFla g); 552 bool renderTarget = SkToBool(desc.fFlags & kRenderTarget_GrBackendTextureFla g);
553 // In GL, Chrome assumes all textures are BottomLeft 553 // In GL, Chrome assumes all textures are BottomLeft
554 // In VK, we don't have this restriction 554 // In VK, we don't have this restriction
555 surfDesc.fOrigin = resolve_origin(desc.fOrigin); 555 surfDesc.fOrigin = resolve_origin(desc.fOrigin);
556 556
557 GrVkTexture* texture = nullptr; 557 GrVkTexture* texture = nullptr;
558 if (renderTarget) { 558 if (renderTarget) {
559 texture = GrVkTextureRenderTarget::CreateWrappedTextureRenderTarget(this , surfDesc, 559 texture = GrVkTextureRenderTarget::CreateWrappedTextureRenderTarget(this , surfDesc,
560 life Cycle, format, 560 life Cycle, format,
561 info ); 561 info );
562 } else { 562 } else {
563 texture = GrVkTexture::CreateWrappedTexture(this, surfDesc, lifeCycle, f ormat, 563 texture = GrVkTexture::CreateWrappedTexture(this, surfDesc, lifeCycle, f ormat,
564 info); 564 info);
565 } 565 }
566 if (!texture) { 566 if (!texture) {
567 return nullptr; 567 return nullptr;
568 } 568 }
569 569
570 return texture; 570 return texture;
571 } 571 }
572 572
573 GrRenderTarget* GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTargetDe sc& wrapDesc, 573 GrRenderTarget* GrVkGpu::onWrapBackendRenderTarget(const GrBackendRenderTargetDe sc& wrapDesc,
574 GrWrapOwnership ownership) { 574 GrWrapOwnership ownership) {
575 575
576 const GrVkTextureInfo* info = 576 const GrVkTextureInfo* info =
577 reinterpret_cast<const GrVkTextureInfo*>(wrapDesc.fRenderTargetHandle); 577 reinterpret_cast<const GrVkTextureInfo*>(wrapDesc.fRenderTargetHandle);
578 if (VK_NULL_HANDLE == info->fImage || 578 if (VK_NULL_HANDLE == info->fImage ||
579 (VK_NULL_HANDLE == info->fAlloc && kAdopt_GrWrapOwnership == ownership)) { 579 (VK_NULL_HANDLE == info->fAlloc && kAdopt_GrWrapOwnership == ownership)) {
580 return nullptr; 580 return nullptr;
581 } 581 }
582 582
583 GrGpuResource::LifeCycle lifeCycle = (kAdopt_GrWrapOwnership == ownership) 583 GrGpuResource::LifeCycle lifeCycle = (kAdopt_GrWrapOwnership == ownership)
584 ? GrGpuResource::kAdopted_LifeCycle 584 ? GrGpuResource::kAdopted_LifeCycle
585 : GrGpuResource::kBorrowed_LifeCycle; 585 : GrGpuResource::kBorrowed_LifeCycle;
586 586
587 GrSurfaceDesc desc; 587 GrSurfaceDesc desc;
588 desc.fConfig = wrapDesc.fConfig; 588 desc.fConfig = wrapDesc.fConfig;
589 desc.fFlags = kCheckAllocation_GrSurfaceFlag; 589 desc.fFlags = kCheckAllocation_GrSurfaceFlag;
590 desc.fWidth = wrapDesc.fWidth; 590 desc.fWidth = wrapDesc.fWidth;
591 desc.fHeight = wrapDesc.fHeight; 591 desc.fHeight = wrapDesc.fHeight;
592 desc.fSampleCnt = SkTMin(wrapDesc.fSampleCnt, this->caps()->maxSampleCount() ); 592 desc.fSampleCnt = SkTMin(wrapDesc.fSampleCnt, this->caps()->maxSampleCount() );
593 593
594 desc.fOrigin = resolve_origin(wrapDesc.fOrigin); 594 desc.fOrigin = resolve_origin(wrapDesc.fOrigin);
595 595
596 GrVkRenderTarget* tgt = GrVkRenderTarget::CreateWrappedRenderTarget(this, de sc, 596 GrVkRenderTarget* tgt = GrVkRenderTarget::CreateWrappedRenderTarget(this, de sc,
597 lifeCycl e, 597 lifeCycl e,
598 info); 598 info);
599 if (tgt && wrapDesc.fStencilBits) { 599 if (tgt && wrapDesc.fStencilBits) {
600 if (!createStencilAttachmentForRenderTarget(tgt, desc.fWidth, desc.fHeig ht)) { 600 if (!createStencilAttachmentForRenderTarget(tgt, desc.fWidth, desc.fHeig ht)) {
601 tgt->unref(); 601 tgt->unref();
602 return nullptr; 602 return nullptr;
603 } 603 }
604 } 604 }
605 return tgt; 605 return tgt;
606 } 606 }
607 607
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 968
969 return; 969 return;
970 } 970 }
971 971
972 void GrVkGpu::onClear(GrRenderTarget* target, const SkIRect& rect, GrColor color ) { 972 void GrVkGpu::onClear(GrRenderTarget* target, const SkIRect& rect, GrColor color ) {
973 // parent class should never let us get here with no RT 973 // parent class should never let us get here with no RT
974 SkASSERT(target); 974 SkASSERT(target);
975 975
976 VkClearColorValue vkColor; 976 VkClearColorValue vkColor;
977 GrColorToRGBAFloat(color, vkColor.float32); 977 GrColorToRGBAFloat(color, vkColor.float32);
978 978
979 GrVkRenderTarget* vkRT = static_cast<GrVkRenderTarget*>(target); 979 GrVkRenderTarget* vkRT = static_cast<GrVkRenderTarget*>(target);
980 VkImageLayout origDstLayout = vkRT->currentLayout(); 980 VkImageLayout origDstLayout = vkRT->currentLayout();
981 981
982 if (rect.width() != target->width() || rect.height() != target->height()) { 982 if (rect.width() != target->width() || rect.height() != target->height()) {
983 VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(origDstL ayout); 983 VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(origDstL ayout);
984 VkAccessFlags dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; 984 VkAccessFlags dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
985 VkPipelineStageFlags srcStageMask = 985 VkPipelineStageFlags srcStageMask =
986 GrVkMemory::LayoutToPipelineStageFlags(origDstLayout); 986 GrVkMemory::LayoutToPipelineStageFlags(origDstLayout);
987 VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; 987 VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
988 vkRT->setImageLayout(this, 988 vkRT->setImageLayout(this,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 1038
1039 1039
1040 VkImageSubresourceRange subRange; 1040 VkImageSubresourceRange subRange;
1041 memset(&subRange, 0, sizeof(VkImageSubresourceRange)); 1041 memset(&subRange, 0, sizeof(VkImageSubresourceRange));
1042 subRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; 1042 subRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
1043 subRange.baseMipLevel = 0; 1043 subRange.baseMipLevel = 0;
1044 subRange.levelCount = 1; 1044 subRange.levelCount = 1;
1045 subRange.baseArrayLayer = 0; 1045 subRange.baseArrayLayer = 0;
1046 subRange.layerCount = 1; 1046 subRange.layerCount = 1;
1047 1047
1048 // In the future we may not actually be doing this type of clear at all. If we are inside a 1048 // In the future we may not actually be doing this type of clear at all. If we are inside a
1049 // render pass or doing a non full clear then we will use CmdClearColorAttac hment. The more 1049 // render pass or doing a non full clear then we will use CmdClearColorAttac hment. The more
1050 // common use case will be clearing an attachment at the start of a render p ass, in which case 1050 // common use case will be clearing an attachment at the start of a render p ass, in which case
1051 // we will use the clear load ops. 1051 // we will use the clear load ops.
1052 fCurrentCmdBuffer->clearColorImage(this, 1052 fCurrentCmdBuffer->clearColorImage(this,
1053 vkRT, 1053 vkRT,
1054 &vkColor, 1054 &vkColor,
1055 1, &subRange); 1055 1, &subRange);
1056 } 1056 }
1057 1057
1058 inline bool can_copy_image(const GrSurface* dst, 1058 inline bool can_copy_image(const GrSurface* dst,
(...skipping 25 matching lines...) Expand all
1084 VkImageLayout origDstLayout = dstTex->currentLayout(); 1084 VkImageLayout origDstLayout = dstTex->currentLayout();
1085 VkImageLayout origSrcLayout = srcTex->currentLayout(); 1085 VkImageLayout origSrcLayout = srcTex->currentLayout();
1086 1086
1087 VkPipelineStageFlags srcStageMask = GrVkMemory::LayoutToPipelineStageFlags(o rigDstLayout); 1087 VkPipelineStageFlags srcStageMask = GrVkMemory::LayoutToPipelineStageFlags(o rigDstLayout);
1088 VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT; 1088 VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT;
1089 1089
1090 // These flags are for flushing/invalidating caches and for the dst image it doesn't matter if 1090 // These flags are for flushing/invalidating caches and for the dst image it doesn't matter if
1091 // the cache is flushed since it is only being written to. 1091 // the cache is flushed since it is only being written to.
1092 VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(origDstLayou t);; 1092 VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(origDstLayou t);;
1093 VkAccessFlags dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; 1093 VkAccessFlags dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT;
1094 1094
1095 dstTex->setImageLayout(this, 1095 dstTex->setImageLayout(this,
1096 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1096 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
1097 srcAccessMask, 1097 srcAccessMask,
1098 dstAccessMask, 1098 dstAccessMask,
1099 srcStageMask, 1099 srcStageMask,
1100 dstStageMask, 1100 dstStageMask,
1101 false); 1101 false);
1102 1102
1103 srcStageMask = GrVkMemory::LayoutToPipelineStageFlags(origSrcLayout); 1103 srcStageMask = GrVkMemory::LayoutToPipelineStageFlags(origSrcLayout);
1104 dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT; 1104 dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT;
1105 1105
1106 srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(origSrcLayout); 1106 srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(origSrcLayout);
1107 dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; 1107 dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT;
1108 1108
1109 srcTex->setImageLayout(this, 1109 srcTex->setImageLayout(this,
1110 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, 1110 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
1111 srcAccessMask, 1111 srcAccessMask,
1112 dstAccessMask, 1112 dstAccessMask,
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
1218 VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(layout); 1218 VkAccessFlags srcAccessMask = GrVkMemory::LayoutToSrcAccessMask(layout);
1219 VkAccessFlags dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; 1219 VkAccessFlags dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT;
1220 tgt->setImageLayout(this, 1220 tgt->setImageLayout(this,
1221 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, 1221 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
1222 srcAccessMask, 1222 srcAccessMask,
1223 dstAccessMask, 1223 dstAccessMask,
1224 srcStageMask, 1224 srcStageMask,
1225 dstStageMask, 1225 dstStageMask,
1226 false); 1226 false);
1227 1227
1228 GrVkTransferBuffer* transferBuffer = 1228 GrVkTransferBuffer* transferBuffer =
1229 static_cast<GrVkTransferBuffer*>(this->createBuffer(kXferGpuToCpu_GrBuff erType, 1229 static_cast<GrVkTransferBuffer*>(this->createBuffer(kXferGpuToCpu_GrBuff erType,
1230 rowBytes * height, 1230 rowBytes * height,
1231 kStream_GrAccessPatt ern)); 1231 kStream_GrAccessPatt ern));
1232 1232
1233 bool flipY = kBottomLeft_GrSurfaceOrigin == surface->origin(); 1233 bool flipY = kBottomLeft_GrSurfaceOrigin == surface->origin();
1234 VkOffset3D offset = { 1234 VkOffset3D offset = {
1235 left, 1235 left,
1236 flipY ? surface->height() - top - height : top, 1236 flipY ? surface->height() - top - height : top,
1237 0 1237 0
1238 }; 1238 };
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1434 aglSwapBuffers(aglGetCurrentContext()); 1434 aglSwapBuffers(aglGetCurrentContext());
1435 int set_a_break_pt_here = 9; 1435 int set_a_break_pt_here = 9;
1436 aglSwapBuffers(aglGetCurrentContext()); 1436 aglSwapBuffers(aglGetCurrentContext());
1437 #elif defined(SK_BUILD_FOR_WIN32) 1437 #elif defined(SK_BUILD_FOR_WIN32)
1438 SwapBuf(); 1438 SwapBuf();
1439 int set_a_break_pt_here = 9; 1439 int set_a_break_pt_here = 9;
1440 SwapBuf(); 1440 SwapBuf();
1441 #endif 1441 #endif
1442 #endif 1442 #endif
1443 } 1443 }
1444
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkGpu.h ('k') | src/gpu/vk/GrVkImage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698