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

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

Issue 1316123003: Style Change: SkNEW->new; SkDELETE->delete (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-08-26 (Wednesday) 15:59:00 EDT Created 5 years, 3 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/gl/SkGLContext.cpp ('k') | src/gpu/gl/builders/GrGLPathProgramBuilder.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 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "gl/SkNullGLContext.h" 9 #include "gl/SkNullGLContext.h"
10 #include "gl/GrGLInterface.h" 10 #include "gl/GrGLInterface.h"
11 #include "GrGLDefines.h" 11 #include "GrGLDefines.h"
12 #include "GrGLNoOpInterface.h" 12 #include "GrGLNoOpInterface.h"
13 #include "SkTDArray.h" 13 #include "SkTDArray.h"
14 #include "SkTLS.h" 14 #include "SkTLS.h"
15 15
16 static SkNullGLContext::ContextState* current_context(); 16 static SkNullGLContext::ContextState* current_context();
17 17
18 //////////////////////////////////////////////////////////////////////////////// ///////////////// 18 //////////////////////////////////////////////////////////////////////////////// /////////////////
19 19
20 class BufferObj { 20 class BufferObj {
21 public: 21 public:
22 22
23 23
24 BufferObj(GrGLuint id) : fID(id), fDataPtr(NULL), fSize(0), fMapped(false) { } 24 BufferObj(GrGLuint id) : fID(id), fDataPtr(NULL), fSize(0), fMapped(false) { }
25 ~BufferObj() { SkDELETE_ARRAY(fDataPtr); } 25 ~BufferObj() { delete[] fDataPtr; }
26 26
27 void allocate(GrGLsizeiptr size, const GrGLchar* dataPtr) { 27 void allocate(GrGLsizeiptr size, const GrGLchar* dataPtr) {
28 if (fDataPtr) { 28 if (fDataPtr) {
29 SkASSERT(0 != fSize); 29 SkASSERT(0 != fSize);
30 SkDELETE_ARRAY(fDataPtr); 30 delete[] fDataPtr;
31 } 31 }
32 32
33 fSize = size; 33 fSize = size;
34 fDataPtr = SkNEW_ARRAY(char, size); 34 fDataPtr = new char[size];
35 } 35 }
36 36
37 GrGLuint id() const { return fID; } 37 GrGLuint id() const { return fID; }
38 GrGLchar* dataPtr() { return fDataPtr; } 38 GrGLchar* dataPtr() { return fDataPtr; }
39 GrGLsizeiptr size() const { return fSize; } 39 GrGLsizeiptr size() const { return fSize; }
40 40
41 void setMapped(bool mapped) { fMapped = mapped; } 41 void setMapped(bool mapped) { fMapped = mapped; }
42 bool mapped() const { return fMapped; } 42 bool mapped() const { return fMapped; }
43 43
44 private: 44 private:
(...skipping 28 matching lines...) Expand all
73 return buffer; 73 return buffer;
74 } 74 }
75 75
76 BufferObj* create() { 76 BufferObj* create() {
77 GrGLuint id; 77 GrGLuint id;
78 BufferObj* buffer; 78 BufferObj* buffer;
79 79
80 if (kFreeListEnd == fFreeListHead) { 80 if (kFreeListEnd == fFreeListHead) {
81 // no free slots - create a new one 81 // no free slots - create a new one
82 id = fBuffers.count(); 82 id = fBuffers.count();
83 buffer = SkNEW_ARGS(BufferObj, (id)); 83 buffer = new BufferObj(id);
84 *fBuffers.append() = buffer; 84 *fBuffers.append() = buffer;
85 } else { 85 } else {
86 // grab the head of the free list and advance the head to the next f ree slot. 86 // grab the head of the free list and advance the head to the next f ree slot.
87 id = static_cast<GrGLuint>(fFreeListHead); 87 id = static_cast<GrGLuint>(fFreeListHead);
88 fFreeListHead = reinterpret_cast<intptr_t>(fBuffers[id]); 88 fFreeListHead = reinterpret_cast<intptr_t>(fBuffers[id]);
89 89
90 buffer = SkNEW_ARGS(BufferObj, (id)); 90 buffer = new BufferObj(id);
91 fBuffers[id] = buffer; 91 fBuffers[id] = buffer;
92 } 92 }
93 93
94 return buffer; 94 return buffer;
95 } 95 }
96 96
97 void free(BufferObj* buffer) { 97 void free(BufferObj* buffer) {
98 SkASSERT(fBuffers.count() > 0); 98 SkASSERT(fBuffers.count() > 0);
99 99
100 GrGLuint id = buffer->id(); 100 GrGLuint id = buffer->id();
101 SkDELETE(buffer); 101 delete buffer;
102 102
103 fBuffers[id] = reinterpret_cast<BufferObj*>(fFreeListHead); 103 fBuffers[id] = reinterpret_cast<BufferObj*>(fFreeListHead);
104 fFreeListHead = id; 104 fFreeListHead = id;
105 } 105 }
106 106
107 private: 107 private:
108 static const intptr_t kFreeListEnd = -1; 108 static const intptr_t kFreeListEnd = -1;
109 // Index of the first entry of fBuffers in the free list. Free slots in fBuf fers are indices to 109 // Index of the first entry of fBuffers in the free list. Free slots in fBuf fers are indices to
110 // the next free slot. The last free slot has a value of kFreeListEnd. 110 // the next free slot. The last free slot has a value of kFreeListEnd.
111 intptr_t fFreeListHead; 111 intptr_t fFreeListHead;
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 NullInterface(State* state) : fState(SkRef(state)) {} 339 NullInterface(State* state) : fState(SkRef(state)) {}
340 ~NullInterface() override { 340 ~NullInterface() override {
341 fState->unref(); 341 fState->unref();
342 } 342 }
343 State* fState; 343 State* fState;
344 }; 344 };
345 345
346 } // end anonymous namespace 346 } // end anonymous namespace
347 347
348 static GrGLInterface* create_null_interface(State* state) { 348 static GrGLInterface* create_null_interface(State* state) {
349 GrGLInterface* interface = SkNEW_ARGS(NullInterface, (state)); 349 GrGLInterface* interface = new NullInterface(state);
350 350
351 interface->fStandard = kGL_GrGLStandard; 351 interface->fStandard = kGL_GrGLStandard;
352 352
353 GrGLInterface::Functions* functions = &interface->fFunctions; 353 GrGLInterface::Functions* functions = &interface->fFunctions;
354 functions->fActiveTexture = nullGLActiveTexture; 354 functions->fActiveTexture = nullGLActiveTexture;
355 functions->fAttachShader = nullGLAttachShader; 355 functions->fAttachShader = nullGLAttachShader;
356 functions->fBeginQuery = nullGLBeginQuery; 356 functions->fBeginQuery = nullGLBeginQuery;
357 functions->fBindAttribLocation = nullGLBindAttribLocation; 357 functions->fBindAttribLocation = nullGLBindAttribLocation;
358 functions->fBindBuffer = nullGLBindBuffer; 358 functions->fBindBuffer = nullGLBindBuffer;
359 functions->fBindFragDataLocation = noOpGLBindFragDataLocation; 359 functions->fBindFragDataLocation = noOpGLBindFragDataLocation;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 functions->fBindFragDataLocationIndexed = noOpGLBindFragDataLocationIndexed; 491 functions->fBindFragDataLocationIndexed = noOpGLBindFragDataLocationIndexed;
492 492
493 interface->fExtensions.init(kGL_GrGLStandard, functions->fGetString, functio ns->fGetStringi, 493 interface->fExtensions.init(kGL_GrGLStandard, functions->fGetString, functio ns->fGetStringi,
494 functions->fGetIntegerv); 494 functions->fGetIntegerv);
495 return interface; 495 return interface;
496 } 496 }
497 497
498 ////////////////////////////////////////////////////////////////////////////// 498 //////////////////////////////////////////////////////////////////////////////
499 499
500 static void* create_tls() { 500 static void* create_tls() {
501 State** current = SkNEW(State*); 501 State** current = new State*;
502 *current = NULL; 502 *current = NULL;
503 return current; 503 return current;
504 } 504 }
505 505
506 static void delete_tls(void* ctx) { 506 static void delete_tls(void* ctx) {
507 State** current = static_cast<State**>(ctx); 507 State** current = static_cast<State**>(ctx);
508 if (*current) { 508 if (*current) {
509 (*current)->unref(); 509 (*current)->unref();
510 } 510 }
511 SkDELETE(current); 511 delete current;
512 } 512 }
513 513
514 static State* current_context() { 514 static State* current_context() {
515 return *static_cast<State**>(SkTLS::Get(create_tls, delete_tls)); 515 return *static_cast<State**>(SkTLS::Get(create_tls, delete_tls));
516 } 516 }
517 517
518 static void set_current_context(State* state) { 518 static void set_current_context(State* state) {
519 State** current = static_cast<State**>(SkTLS::Get(create_tls, delete_tls)); 519 State** current = static_cast<State**>(SkTLS::Get(create_tls, delete_tls));
520 if (*current) { 520 if (*current) {
521 (*current)->unref(); 521 (*current)->unref();
522 } 522 }
523 *current = state; 523 *current = state;
524 if (state) { 524 if (state) {
525 state->ref(); 525 state->ref();
526 } 526 }
527 } 527 }
528 528
529 #if GR_GL_PER_GL_FUNC_CALLBACK 529 #if GR_GL_PER_GL_FUNC_CALLBACK
530 static void set_current_context_from_interface(const GrGLInterface* interface) { 530 static void set_current_context_from_interface(const GrGLInterface* interface) {
531 set_current_context(reinterpret_cast<State*>(interface->fCallbackData)); 531 set_current_context(reinterpret_cast<State*>(interface->fCallbackData));
532 } 532 }
533 #endif 533 #endif
534 534
535 SkNullGLContext* SkNullGLContext::Create(GrGLStandard forcedGpuAPI) { 535 SkNullGLContext* SkNullGLContext::Create(GrGLStandard forcedGpuAPI) {
536 if (kGLES_GrGLStandard == forcedGpuAPI) { 536 if (kGLES_GrGLStandard == forcedGpuAPI) {
537 return NULL; 537 return NULL;
538 } 538 }
539 SkNullGLContext* ctx = SkNEW(SkNullGLContext); 539 SkNullGLContext* ctx = new SkNullGLContext;
540 if (!ctx->isValid()) { 540 if (!ctx->isValid()) {
541 SkDELETE(ctx); 541 delete ctx;
542 return NULL; 542 return NULL;
543 } 543 }
544 return ctx; 544 return ctx;
545 } 545 }
546 546
547 SkNullGLContext::SkNullGLContext() { 547 SkNullGLContext::SkNullGLContext() {
548 fState = SkNEW(ContextState); 548 fState = new ContextState;
549 GrGLInterface* interface = create_null_interface(fState); 549 GrGLInterface* interface = create_null_interface(fState);
550 this->init(interface); 550 this->init(interface);
551 #if GR_GL_PER_GL_FUNC_CALLBACK 551 #if GR_GL_PER_GL_FUNC_CALLBACK
552 interface->fCallback = set_current_context_from_interface; 552 interface->fCallback = set_current_context_from_interface;
553 interface->fCallbackData = reinterpret_cast<GrGLInterfaceCallbackData>(fStat e); 553 interface->fCallbackData = reinterpret_cast<GrGLInterfaceCallbackData>(fStat e);
554 #endif 554 #endif
555 } 555 }
556 556
557 SkNullGLContext::~SkNullGLContext() { 557 SkNullGLContext::~SkNullGLContext() {
558 this->teardown(); 558 this->teardown();
559 fState->unref(); 559 fState->unref();
560 } 560 }
561 561
562 void SkNullGLContext::onPlatformMakeCurrent() const { set_current_context(fState ); } 562 void SkNullGLContext::onPlatformMakeCurrent() const { set_current_context(fState ); }
OLDNEW
« no previous file with comments | « src/gpu/gl/SkGLContext.cpp ('k') | src/gpu/gl/builders/GrGLPathProgramBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698