| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 #ifndef PictureRenderer_DEFINED | 8 #ifndef PictureRenderer_DEFINED |
| 9 #define PictureRenderer_DEFINED | 9 #define PictureRenderer_DEFINED |
| 10 | 10 |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 #endif | 396 #endif |
| 397 default: | 397 default: |
| 398 return NULL; | 398 return NULL; |
| 399 } | 399 } |
| 400 return fGrContextFactory.getGLContext(glContextType); | 400 return fGrContextFactory.getGLContext(glContextType); |
| 401 } | 401 } |
| 402 | 402 |
| 403 GrContext* getGrContext() { | 403 GrContext* getGrContext() { |
| 404 return fGrContext; | 404 return fGrContext; |
| 405 } | 405 } |
| 406 |
| 407 const GrContext::Options& getGrContextOptions() { |
| 408 return fGrContextFactory.getGlobalOptions(); |
| 409 } |
| 406 #endif | 410 #endif |
| 407 | 411 |
| 408 SkCanvas* getCanvas() { | 412 SkCanvas* getCanvas() { |
| 409 return fCanvas; | 413 return fCanvas; |
| 410 } | 414 } |
| 411 | 415 |
| 412 const SkPicture* getPicture() { | 416 const SkPicture* getPicture() { |
| 413 return fPicture; | 417 return fPicture; |
| 414 } | 418 } |
| 415 | 419 |
| 420 #if SK_SUPPORT_GPU |
| 421 explicit PictureRenderer(const GrContext::Options &opts) |
| 422 #else |
| 416 PictureRenderer() | 423 PictureRenderer() |
| 424 #endif |
| 417 : fJsonSummaryPtr(NULL) | 425 : fJsonSummaryPtr(NULL) |
| 418 , fDeviceType(kBitmap_DeviceType) | 426 , fDeviceType(kBitmap_DeviceType) |
| 419 , fEnableWrites(false) | 427 , fEnableWrites(false) |
| 420 , fBBoxHierarchyType(kNone_BBoxHierarchyType) | 428 , fBBoxHierarchyType(kNone_BBoxHierarchyType) |
| 421 , fScaleFactor(SK_Scalar1) | 429 , fScaleFactor(SK_Scalar1) |
| 422 #if SK_SUPPORT_GPU | 430 #if SK_SUPPORT_GPU |
| 431 , fGrContextFactory(opts) |
| 423 , fGrContext(NULL) | 432 , fGrContext(NULL) |
| 424 , fSampleCount(0) | 433 , fSampleCount(0) |
| 425 #endif | 434 #endif |
| 426 { | 435 { |
| 427 fGridInfo.fMargin.setEmpty(); | 436 fGridInfo.fMargin.setEmpty(); |
| 428 fGridInfo.fOffset.setZero(); | 437 fGridInfo.fOffset.setZero(); |
| 429 fGridInfo.fTileInterval.set(1, 1); | 438 fGridInfo.fTileInterval.set(1, 1); |
| 430 sk_bzero(fDrawFilters, sizeof(fDrawFilters)); | 439 sk_bzero(fDrawFilters, sizeof(fDrawFilters)); |
| 431 fViewport.set(0, 0); | 440 fViewport.set(0, 0); |
| 432 } | 441 } |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 virtual SkString getConfigNameInternal() = 0; | 502 virtual SkString getConfigNameInternal() = 0; |
| 494 | 503 |
| 495 typedef SkRefCnt INHERITED; | 504 typedef SkRefCnt INHERITED; |
| 496 }; | 505 }; |
| 497 | 506 |
| 498 /** | 507 /** |
| 499 * This class does not do any rendering, but its render function executes record
ing, which we want | 508 * This class does not do any rendering, but its render function executes record
ing, which we want |
| 500 * to time. | 509 * to time. |
| 501 */ | 510 */ |
| 502 class RecordPictureRenderer : public PictureRenderer { | 511 class RecordPictureRenderer : public PictureRenderer { |
| 512 public: |
| 513 #if SK_SUPPORT_GPU |
| 514 RecordPictureRenderer(const GrContext::Options &opts) : INHERITED(opts) { } |
| 515 #endif |
| 516 |
| 503 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 517 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
| 504 | 518 |
| 505 virtual SkString getPerIterTimeFormat() SK_OVERRIDE { return SkString("%.4f"
); } | 519 virtual SkString getPerIterTimeFormat() SK_OVERRIDE { return SkString("%.4f"
); } |
| 506 | 520 |
| 507 virtual SkString getNormalTimeFormat() SK_OVERRIDE { return SkString("%6.4f"
); } | 521 virtual SkString getNormalTimeFormat() SK_OVERRIDE { return SkString("%6.4f"
); } |
| 508 | 522 |
| 509 protected: | 523 protected: |
| 510 virtual SkCanvas* setupCanvas(int width, int height) SK_OVERRIDE; | 524 virtual SkCanvas* setupCanvas(int width, int height) SK_OVERRIDE; |
| 511 | 525 |
| 512 private: | 526 private: |
| 513 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 527 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
| 528 |
| 529 typedef PictureRenderer INHERITED; |
| 514 }; | 530 }; |
| 515 | 531 |
| 516 class PipePictureRenderer : public PictureRenderer { | 532 class PipePictureRenderer : public PictureRenderer { |
| 517 public: | 533 public: |
| 534 #if SK_SUPPORT_GPU |
| 535 PipePictureRenderer(const GrContext::Options &opts) : INHERITED(opts) { } |
| 536 #endif |
| 537 |
| 518 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 538 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
| 519 | 539 |
| 520 private: | 540 private: |
| 521 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 541 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
| 522 | 542 |
| 523 typedef PictureRenderer INHERITED; | 543 typedef PictureRenderer INHERITED; |
| 524 }; | 544 }; |
| 525 | 545 |
| 526 class SimplePictureRenderer : public PictureRenderer { | 546 class SimplePictureRenderer : public PictureRenderer { |
| 527 public: | 547 public: |
| 548 #if SK_SUPPORT_GPU |
| 549 SimplePictureRenderer(const GrContext::Options &opts) : INHERITED(opts) { } |
| 550 #endif |
| 551 |
| 528 virtual void init(const SkPicture* pict, | 552 virtual void init(const SkPicture* pict, |
| 529 const SkString* writePath, | 553 const SkString* writePath, |
| 530 const SkString* mismatchPath, | 554 const SkString* mismatchPath, |
| 531 const SkString* inputFilename, | 555 const SkString* inputFilename, |
| 532 bool useChecksumBasedFilenames) SK_OVERRIDE; | 556 bool useChecksumBasedFilenames) SK_OVERRIDE; |
| 533 | 557 |
| 534 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 558 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
| 535 | 559 |
| 536 private: | 560 private: |
| 537 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 561 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
| 538 | 562 |
| 539 typedef PictureRenderer INHERITED; | 563 typedef PictureRenderer INHERITED; |
| 540 }; | 564 }; |
| 541 | 565 |
| 542 class TiledPictureRenderer : public PictureRenderer { | 566 class TiledPictureRenderer : public PictureRenderer { |
| 543 public: | 567 public: |
| 568 #if SK_SUPPORT_GPU |
| 569 TiledPictureRenderer(const GrContext::Options &opts); |
| 570 #else |
| 544 TiledPictureRenderer(); | 571 TiledPictureRenderer(); |
| 572 #endif |
| 545 | 573 |
| 546 virtual void init(const SkPicture* pict, | 574 virtual void init(const SkPicture* pict, |
| 547 const SkString* writePath, | 575 const SkString* writePath, |
| 548 const SkString* mismatchPath, | 576 const SkString* mismatchPath, |
| 549 const SkString* inputFilename, | 577 const SkString* inputFilename, |
| 550 bool useChecksumBasedFilenames) SK_OVERRIDE; | 578 bool useChecksumBasedFilenames) SK_OVERRIDE; |
| 551 | 579 |
| 552 /** | 580 /** |
| 553 * Renders to tiles, rather than a single canvas. | 581 * Renders to tiles, rather than a single canvas. |
| 554 * If fWritePath was provided, a separate file is | 582 * If fWritePath was provided, a separate file is |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 661 | 689 |
| 662 typedef PictureRenderer INHERITED; | 690 typedef PictureRenderer INHERITED; |
| 663 }; | 691 }; |
| 664 | 692 |
| 665 /** | 693 /** |
| 666 * This class does not do any rendering, but its render function executes turnin
g an SkPictureRecord | 694 * This class does not do any rendering, but its render function executes turnin
g an SkPictureRecord |
| 667 * into an SkPicturePlayback, which we want to time. | 695 * into an SkPicturePlayback, which we want to time. |
| 668 */ | 696 */ |
| 669 class PlaybackCreationRenderer : public PictureRenderer { | 697 class PlaybackCreationRenderer : public PictureRenderer { |
| 670 public: | 698 public: |
| 699 #if SK_SUPPORT_GPU |
| 700 PlaybackCreationRenderer(const GrContext::Options &opts) : INHERITED(opts) {
} |
| 701 #endif |
| 702 |
| 671 virtual void setup() SK_OVERRIDE; | 703 virtual void setup() SK_OVERRIDE; |
| 672 | 704 |
| 673 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 705 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
| 674 | 706 |
| 675 virtual SkString getPerIterTimeFormat() SK_OVERRIDE { return SkString("%.4f"
); } | 707 virtual SkString getPerIterTimeFormat() SK_OVERRIDE { return SkString("%.4f"
); } |
| 676 | 708 |
| 677 virtual SkString getNormalTimeFormat() SK_OVERRIDE { return SkString("%6.4f"
); } | 709 virtual SkString getNormalTimeFormat() SK_OVERRIDE { return SkString("%6.4f"
); } |
| 678 | 710 |
| 679 private: | 711 private: |
| 680 SkAutoTDelete<SkPictureRecorder> fRecorder; | 712 SkAutoTDelete<SkPictureRecorder> fRecorder; |
| 681 | 713 |
| 682 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 714 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
| 683 | 715 |
| 684 typedef PictureRenderer INHERITED; | 716 typedef PictureRenderer INHERITED; |
| 685 }; | 717 }; |
| 686 | 718 |
| 719 #if SK_SUPPORT_GPU |
| 720 extern PictureRenderer* CreateGatherPixelRefsRenderer(const GrContext::Options&
opts); |
| 721 #else |
| 687 extern PictureRenderer* CreateGatherPixelRefsRenderer(); | 722 extern PictureRenderer* CreateGatherPixelRefsRenderer(); |
| 723 #endif |
| 688 | 724 |
| 689 } | 725 } |
| 690 | 726 |
| 691 #endif // PictureRenderer_DEFINED | 727 #endif // PictureRenderer_DEFINED |
| OLD | NEW |