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

Side by Side Diff: src/gpu/gl/GrGLBufferImpl.cpp

Issue 1413263006: Experimental CL to stop using subdata (Closed) Base URL: https://skia.googlesource.com/skia.git@bufferimpl2
Patch Set: Created 5 years, 1 month 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 | « include/gpu/gl/GrGLConfig.h ('k') | src/gpu/gl/GrGLGpu.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 2013 Google Inc. 2 * Copyright 2013 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 "GrGLBufferImpl.h" 8 #include "GrGLBufferImpl.h"
9 #include "GrGLGpu.h" 9 #include "GrGLGpu.h"
10 10
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 VALIDATE(); 92 VALIDATE();
93 if (srcSizeInBytes > fDesc.fSizeInBytes) { 93 if (srcSizeInBytes > fDesc.fSizeInBytes) {
94 return false; 94 return false;
95 } 95 }
96 if (0 == fDesc.fID) { 96 if (0 == fDesc.fID) {
97 memcpy(fCPUData, src, srcSizeInBytes); 97 memcpy(fCPUData, src, srcSizeInBytes);
98 return true; 98 return true;
99 } 99 }
100 gpu->bufferData(fDesc.fID, fBufferType, fDesc.fDynamic, fDesc.fSizeInBytes, src, 100 gpu->bufferData(fDesc.fID, fBufferType, fDesc.fDynamic, fDesc.fSizeInBytes, src,
101 srcSizeInBytes); 101 srcSizeInBytes);
102 #if GR_GL_USE_BUFFER_DATA_NULL_HINT
103 fGLSizeInBytes = fDesc.fSizeInBytes;
104 #else
105 fGLSizeInBytes = srcSizeInBytes; 102 fGLSizeInBytes = srcSizeInBytes;
106 #endif
107 VALIDATE(); 103 VALIDATE();
108 return true; 104 return true;
109 } 105 }
110 106
111 void GrGLBufferImpl::validate() const { 107 void GrGLBufferImpl::validate() const {
112 SkASSERT(GR_GL_ARRAY_BUFFER == fBufferType || GR_GL_ELEMENT_ARRAY_BUFFER == fBufferType); 108 SkASSERT(GR_GL_ARRAY_BUFFER == fBufferType || GR_GL_ELEMENT_ARRAY_BUFFER == fBufferType);
113 // The following assert isn't valid when the buffer has been abandoned: 109 // The following assert isn't valid when the buffer has been abandoned:
114 // SkASSERT((0 == fDesc.fID) == (fCPUData)); 110 // SkASSERT((0 == fDesc.fID) == (fCPUData));
115 SkASSERT(nullptr == fCPUData || 0 == fGLSizeInBytes); 111 SkASSERT(nullptr == fCPUData || 0 == fGLSizeInBytes);
116 SkASSERT(nullptr == fMapPtr || fCPUData || fGLSizeInBytes <= fDesc.fSizeInBy tes); 112 SkASSERT(nullptr == fMapPtr || fCPUData || fGLSizeInBytes <= fDesc.fSizeInBy tes);
117 SkASSERT(nullptr == fCPUData || nullptr == fMapPtr || fCPUData == fMapPtr); 113 SkASSERT(nullptr == fCPUData || nullptr == fMapPtr || fCPUData == fMapPtr);
118 } 114 }
OLDNEW
« no previous file with comments | « include/gpu/gl/GrGLConfig.h ('k') | src/gpu/gl/GrGLGpu.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698