OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2010 Google Inc. | 3 * Copyright 2010 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 "GrDrawTarget.h" | 9 #include "GrDrawTarget.h" |
10 | 10 |
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 } | 531 } |
532 | 532 |
533 /////////////////////////////////////////////////////////////////////////////// | 533 /////////////////////////////////////////////////////////////////////////////// |
534 | 534 |
535 void GrShaderCaps::reset() { | 535 void GrShaderCaps::reset() { |
536 fShaderDerivativeSupport = false; | 536 fShaderDerivativeSupport = false; |
537 fGeometryShaderSupport = false; | 537 fGeometryShaderSupport = false; |
538 fPathRenderingSupport = false; | 538 fPathRenderingSupport = false; |
539 fDstReadInShaderSupport = false; | 539 fDstReadInShaderSupport = false; |
540 fDualSourceBlendingSupport = false; | 540 fDualSourceBlendingSupport = false; |
| 541 fMixedSamplesSupport = false; |
541 | 542 |
542 fShaderPrecisionVaries = false; | 543 fShaderPrecisionVaries = false; |
543 } | 544 } |
544 | 545 |
545 GrShaderCaps& GrShaderCaps::operator=(const GrShaderCaps& other) { | 546 GrShaderCaps& GrShaderCaps::operator=(const GrShaderCaps& other) { |
546 fShaderDerivativeSupport = other.fShaderDerivativeSupport; | 547 fShaderDerivativeSupport = other.fShaderDerivativeSupport; |
547 fGeometryShaderSupport = other.fGeometryShaderSupport; | 548 fGeometryShaderSupport = other.fGeometryShaderSupport; |
548 fPathRenderingSupport = other.fPathRenderingSupport; | 549 fPathRenderingSupport = other.fPathRenderingSupport; |
549 fDstReadInShaderSupport = other.fDstReadInShaderSupport; | 550 fDstReadInShaderSupport = other.fDstReadInShaderSupport; |
550 fDualSourceBlendingSupport = other.fDualSourceBlendingSupport; | 551 fDualSourceBlendingSupport = other.fDualSourceBlendingSupport; |
| 552 fMixedSamplesSupport = other.fMixedSamplesSupport; |
551 | 553 |
552 fShaderPrecisionVaries = other.fShaderPrecisionVaries; | 554 fShaderPrecisionVaries = other.fShaderPrecisionVaries; |
553 for (int s = 0; s < kGrShaderTypeCount; ++s) { | 555 for (int s = 0; s < kGrShaderTypeCount; ++s) { |
554 for (int p = 0; p < kGrSLPrecisionCount; ++p) { | 556 for (int p = 0; p < kGrSLPrecisionCount; ++p) { |
555 fFloatPrecisions[s][p] = other.fFloatPrecisions[s][p]; | 557 fFloatPrecisions[s][p] = other.fFloatPrecisions[s][p]; |
556 } | 558 } |
557 } | 559 } |
558 return *this; | 560 return *this; |
559 } | 561 } |
560 | 562 |
(...skipping 22 matching lines...) Expand all Loading... |
583 } | 585 } |
584 | 586 |
585 SkString GrShaderCaps::dump() const { | 587 SkString GrShaderCaps::dump() const { |
586 SkString r; | 588 SkString r; |
587 static const char* gNY[] = { "NO", "YES" }; | 589 static const char* gNY[] = { "NO", "YES" }; |
588 r.appendf("Shader Derivative Support : %s\n", gNY[fShaderDerivative
Support]); | 590 r.appendf("Shader Derivative Support : %s\n", gNY[fShaderDerivative
Support]); |
589 r.appendf("Geometry Shader Support : %s\n", gNY[fGeometryShaderSu
pport]); | 591 r.appendf("Geometry Shader Support : %s\n", gNY[fGeometryShaderSu
pport]); |
590 r.appendf("Path Rendering Support : %s\n", gNY[fPathRenderingSup
port]); | 592 r.appendf("Path Rendering Support : %s\n", gNY[fPathRenderingSup
port]); |
591 r.appendf("Dst Read In Shader Support : %s\n", gNY[fDstReadInShaderS
upport]); | 593 r.appendf("Dst Read In Shader Support : %s\n", gNY[fDstReadInShaderS
upport]); |
592 r.appendf("Dual Source Blending Support : %s\n", gNY[fDualSourceBlendi
ngSupport]); | 594 r.appendf("Dual Source Blending Support : %s\n", gNY[fDualSourceBlendi
ngSupport]); |
| 595 r.appendf("Mixed Samples Support : %s\n", gNY[fMixedSamplesSupp
ort]); |
593 | 596 |
594 r.appendf("Shader Float Precisions (varies: %s):\n", gNY[fShaderPrecisionVar
ies]); | 597 r.appendf("Shader Float Precisions (varies: %s):\n", gNY[fShaderPrecisionVar
ies]); |
595 | 598 |
596 for (int s = 0; s < kGrShaderTypeCount; ++s) { | 599 for (int s = 0; s < kGrShaderTypeCount; ++s) { |
597 GrShaderType shaderType = static_cast<GrShaderType>(s); | 600 GrShaderType shaderType = static_cast<GrShaderType>(s); |
598 r.appendf("\t%s:\n", shader_type_to_string(shaderType)); | 601 r.appendf("\t%s:\n", shader_type_to_string(shaderType)); |
599 for (int p = 0; p < kGrSLPrecisionCount; ++p) { | 602 for (int p = 0; p < kGrSLPrecisionCount; ++p) { |
600 if (fFloatPrecisions[s][p].supported()) { | 603 if (fFloatPrecisions[s][p].supported()) { |
601 GrSLPrecision precision = static_cast<GrSLPrecision>(p); | 604 GrSLPrecision precision = static_cast<GrSLPrecision>(p); |
602 r.appendf("\t\t%s: log_low: %d log_high: %d bits: %d\n", | 605 r.appendf("\t\t%s: log_low: %d log_high: %d bits: %d\n", |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
778 GrPipelineBuilder::AutoRestoreFragmentProcessors* a
rfp, | 781 GrPipelineBuilder::AutoRestoreFragmentProcessors* a
rfp, |
779 GrPipelineBuilder::AutoRestoreStencil* ars, | 782 GrPipelineBuilder::AutoRestoreStencil* ars, |
780 GrScissorState* scissorState, | 783 GrScissorState* scissorState, |
781 const SkRect* devBounds) { | 784 const SkRect* devBounds) { |
782 return fClipMaskManager.setupClipping(pipelineBuilder, | 785 return fClipMaskManager.setupClipping(pipelineBuilder, |
783 arfp, | 786 arfp, |
784 ars, | 787 ars, |
785 scissorState, | 788 scissorState, |
786 devBounds); | 789 devBounds); |
787 } | 790 } |
OLD | NEW |