Remove problematic GrContext thread local instance counting
R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/104893002 git-svn-id: http://skia.googlecode.com/svn/trunk@12485 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
cd3b15ca63
commit
db6f36e784
@ -50,11 +50,6 @@ public:
|
||||
*/
|
||||
static GrContext* Create(GrBackend, GrBackendContext);
|
||||
|
||||
/**
|
||||
* Returns the number of GrContext instances for the current thread.
|
||||
*/
|
||||
static int GetThreadInstanceCount();
|
||||
|
||||
virtual ~GrContext();
|
||||
|
||||
/**
|
||||
|
@ -88,19 +88,7 @@ GrContext* GrContext::Create(GrBackend backend, GrBackendContext backendContext)
|
||||
}
|
||||
}
|
||||
|
||||
namespace {
|
||||
void* CreateThreadInstanceCount() {
|
||||
return SkNEW_ARGS(int, (0));
|
||||
}
|
||||
void DeleteThreadInstanceCount(void* v) {
|
||||
delete reinterpret_cast<int*>(v);
|
||||
}
|
||||
#define THREAD_INSTANCE_COUNT \
|
||||
(*reinterpret_cast<int*>(SkTLS::Get(CreateThreadInstanceCount, DeleteThreadInstanceCount)))
|
||||
}
|
||||
|
||||
GrContext::GrContext() {
|
||||
++THREAD_INSTANCE_COUNT;
|
||||
fDrawState = NULL;
|
||||
fGpu = NULL;
|
||||
fClip = NULL;
|
||||
@ -148,10 +136,6 @@ bool GrContext::init(GrBackend backend, GrBackendContext backendContext) {
|
||||
return true;
|
||||
}
|
||||
|
||||
int GrContext::GetThreadInstanceCount() {
|
||||
return THREAD_INSTANCE_COUNT;
|
||||
}
|
||||
|
||||
GrContext::~GrContext() {
|
||||
if (NULL == fGpu) {
|
||||
return;
|
||||
@ -181,8 +165,6 @@ GrContext::~GrContext() {
|
||||
SkSafeUnref(fPathRendererChain);
|
||||
SkSafeUnref(fSoftwarePathRenderer);
|
||||
fDrawState->unref();
|
||||
|
||||
--THREAD_INSTANCE_COUNT;
|
||||
}
|
||||
|
||||
void GrContext::contextLost() {
|
||||
|
Loading…
Reference in New Issue
Block a user