Index: src/gpu/gl/GrGLBuffer.cpp |
diff --git a/src/gpu/gl/GrGLBuffer.cpp b/src/gpu/gl/GrGLBuffer.cpp |
index 24fd59267df44934a4d6afdd209b80c2c393bf26..447bd8b5be664ba5fcdaf46a12bfa8fc9dc4eea0 100644 |
--- a/src/gpu/gl/GrGLBuffer.cpp |
+++ b/src/gpu/gl/GrGLBuffer.cpp |
@@ -30,6 +30,12 @@ |
GrGLBuffer* GrGLBuffer::Create(GrGLGpu* gpu, size_t size, GrBufferType intendedType, |
GrAccessPattern accessPattern, const void* data) { |
+ if (gpu->glCaps().transferBufferType() == GrGLCaps::kNone_TransferBufferType && |
+ (kXferCpuToGpu_GrBufferType == intendedType || |
+ kXferGpuToCpu_GrBufferType == intendedType)) { |
+ return nullptr; |
+ } |
+ |
bool cpuBacked = gpu->glCaps().useNonVBOVertexAndIndexDynamicData() && |
GrBufferTypeIsVertexOrIndex(intendedType) && |
kDynamic_GrAccessPattern == accessPattern; |