OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 /* | 8 /* |
9 * Code for the "gm" (Golden Master) rendering comparison tool. | 9 * Code for the "gm" (Golden Master) rendering comparison tool. |
10 * | 10 * |
(...skipping 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1471 * Sets the global GrContext, accessible by individual GMs | 1471 * Sets the global GrContext, accessible by individual GMs |
1472 */ | 1472 */ |
1473 static void SetGr(GrContext* grContext) { | 1473 static void SetGr(GrContext* grContext) { |
1474 SkSafeRef(grContext); | 1474 SkSafeRef(grContext); |
1475 gGrContext.reset(grContext); | 1475 gGrContext.reset(grContext); |
1476 } | 1476 } |
1477 | 1477 |
1478 /** | 1478 /** |
1479 * Gets the global GrContext, can be called by GM tests. | 1479 * Gets the global GrContext, can be called by GM tests. |
1480 */ | 1480 */ |
1481 GrContext* GetGr(); | 1481 static GrContext* GetGr() { |
1482 GrContext* GetGr() { | |
1483 return gGrContext.get(); | 1482 return gGrContext.get(); |
1484 } | 1483 } |
1485 | 1484 |
1486 /** | 1485 /** |
1487 * Sets the global GrContext and then resets it to its previous value at | 1486 * Sets the global GrContext and then resets it to its previous value at |
1488 * destruction. | 1487 * destruction. |
1489 */ | 1488 */ |
1490 class AutoResetGr : SkNoncopyable { | 1489 class AutoResetGr : SkNoncopyable { |
1491 public: | 1490 public: |
1492 AutoResetGr() : fOld(NULL) {} | 1491 AutoResetGr() : fOld(NULL) {} |
1493 void set(GrContext* context) { | 1492 void set(GrContext* context) { |
1494 SkASSERT(NULL == fOld); | 1493 SkASSERT(NULL == fOld); |
1495 fOld = GetGr(); | 1494 fOld = GetGr(); |
1496 SkSafeRef(fOld); | 1495 SkSafeRef(fOld); |
1497 SetGr(context); | 1496 SetGr(context); |
1498 } | 1497 } |
1499 ~AutoResetGr() { SetGr(fOld); SkSafeUnref(fOld); } | 1498 ~AutoResetGr() { SetGr(fOld); SkSafeUnref(fOld); } |
1500 private: | 1499 private: |
1501 GrContext* fOld; | 1500 GrContext* fOld; |
1502 }; | 1501 }; |
1503 #else | |
1504 GrContext* GetGr(); | |
1505 GrContext* GetGr() { return NULL; } | |
1506 #endif | 1502 #endif |
1507 } | 1503 } |
1508 | 1504 |
1509 template <typename T> void appendUnique(SkTDArray<T>* array, const T& value) { | 1505 template <typename T> void appendUnique(SkTDArray<T>* array, const T& value) { |
1510 int index = array->find(value); | 1506 int index = array->find(value); |
1511 if (index < 0) { | 1507 if (index < 0) { |
1512 *array->append() = value; | 1508 *array->append() = value; |
1513 } | 1509 } |
1514 } | 1510 } |
1515 | 1511 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1582 GrTextureDesc desc; | 1578 GrTextureDesc desc; |
1583 desc.fConfig = kSkia8888_GrPixelConfig; | 1579 desc.fConfig = kSkia8888_GrPixelConfig; |
1584 desc.fFlags = kRenderTarget_GrTextureFlagBit; | 1580 desc.fFlags = kRenderTarget_GrTextureFlagBit; |
1585 desc.fWidth = gm->getISize().width(); | 1581 desc.fWidth = gm->getISize().width(); |
1586 desc.fHeight = gm->getISize().height(); | 1582 desc.fHeight = gm->getISize().height(); |
1587 desc.fSampleCnt = config.fSampleCnt; | 1583 desc.fSampleCnt = config.fSampleCnt; |
1588 auGpuTarget.reset(gr->createUncachedTexture(desc, NULL, 0)); | 1584 auGpuTarget.reset(gr->createUncachedTexture(desc, NULL, 0)); |
1589 if (NULL != auGpuTarget) { | 1585 if (NULL != auGpuTarget) { |
1590 gpuTarget = auGpuTarget; | 1586 gpuTarget = auGpuTarget; |
1591 grSuccess = true; | 1587 grSuccess = true; |
1592 autogr.set(gr); | 1588 autogr.set(gr); |
robertphillips
2013/09/16 18:13:38
Why not just "gr"?
mtklein
2013/09/16 18:17:43
No good reason. Got rid of GetGr() entirely.
| |
1589 gm->setGr(GetGr()); | |
1593 // Set the user specified cache limits if non-default. | 1590 // Set the user specified cache limits if non-default. |
1594 size_t bytes; | 1591 size_t bytes; |
1595 int count; | 1592 int count; |
1596 gr->getTextureCacheLimits(&count, &bytes); | 1593 gr->getTextureCacheLimits(&count, &bytes); |
1597 if (DEFAULT_CACHE_VALUE != gGpuCacheSizeBytes) { | 1594 if (DEFAULT_CACHE_VALUE != gGpuCacheSizeBytes) { |
1598 bytes = static_cast<size_t>(gGpuCacheSizeBytes); | 1595 bytes = static_cast<size_t>(gGpuCacheSizeBytes); |
1599 } | 1596 } |
1600 if (DEFAULT_CACHE_VALUE != gGpuCacheSizeCount) { | 1597 if (DEFAULT_CACHE_VALUE != gGpuCacheSizeCount) { |
1601 count = gGpuCacheSizeCount; | 1598 count = gGpuCacheSizeCount; |
1602 } | 1599 } |
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2290 if (FLAGS_forceBWtext) { | 2287 if (FLAGS_forceBWtext) { |
2291 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); | 2288 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); |
2292 } | 2289 } |
2293 } | 2290 } |
2294 | 2291 |
2295 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) | 2292 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) |
2296 int main(int argc, char * const argv[]) { | 2293 int main(int argc, char * const argv[]) { |
2297 return tool_main(argc, (char**) argv); | 2294 return tool_main(argc, (char**) argv); |
2298 } | 2295 } |
2299 #endif | 2296 #endif |
OLD | NEW |