OLD | NEW |
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 // This is a GPU-backend specific test. It relies on static intializers to work | 9 // This is a GPU-backend specific test. It relies on static intializers to work |
10 | 10 |
(...skipping 27 matching lines...) Expand all Loading... |
38 #include "glsl/GrGLSLProgramBuilder.h" | 38 #include "glsl/GrGLSLProgramBuilder.h" |
39 | 39 |
40 /* | 40 /* |
41 * A dummy processor which just tries to insert a massive key and verify that it
can retrieve the | 41 * A dummy processor which just tries to insert a massive key and verify that it
can retrieve the |
42 * whole thing correctly | 42 * whole thing correctly |
43 */ | 43 */ |
44 static const uint32_t kMaxKeySize = 1024; | 44 static const uint32_t kMaxKeySize = 1024; |
45 | 45 |
46 class GLBigKeyProcessor : public GrGLSLFragmentProcessor { | 46 class GLBigKeyProcessor : public GrGLSLFragmentProcessor { |
47 public: | 47 public: |
48 GLBigKeyProcessor(const GrProcessor&) {} | 48 void emitCode(EmitArgs& args) override { |
49 | |
50 virtual void emitCode(EmitArgs& args) override { | |
51 // pass through | 49 // pass through |
52 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; | 50 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; |
53 if (args.fInputColor) { | 51 if (args.fInputColor) { |
54 fragBuilder->codeAppendf("%s = %s;\n", args.fOutputColor, args.fInpu
tColor); | 52 fragBuilder->codeAppendf("%s = %s;\n", args.fOutputColor, args.fInpu
tColor); |
55 } else { | 53 } else { |
56 fragBuilder->codeAppendf("%s = vec4(1.0);\n", args.fOutputColor); | 54 fragBuilder->codeAppendf("%s = vec4(1.0);\n", args.fOutputColor); |
57 } | 55 } |
58 } | 56 } |
59 | 57 |
60 static void GenKey(const GrProcessor& processor, const GrGLSLCaps&, GrProces
sorKeyBuilder* b) { | 58 static void GenKey(const GrProcessor& processor, const GrGLSLCaps&, GrProces
sorKeyBuilder* b) { |
61 for (uint32_t i = 0; i < kMaxKeySize; i++) { | 59 for (uint32_t i = 0; i < kMaxKeySize; i++) { |
62 b->add32(i); | 60 b->add32(i); |
63 } | 61 } |
64 } | 62 } |
65 | 63 |
66 private: | 64 private: |
67 typedef GrGLSLFragmentProcessor INHERITED; | 65 typedef GrGLSLFragmentProcessor INHERITED; |
68 }; | 66 }; |
69 | 67 |
70 class BigKeyProcessor : public GrFragmentProcessor { | 68 class BigKeyProcessor : public GrFragmentProcessor { |
71 public: | 69 public: |
72 static GrFragmentProcessor* Create() { | 70 static GrFragmentProcessor* Create() { |
73 return new BigKeyProcessor; | 71 return new BigKeyProcessor; |
74 } | 72 } |
75 | 73 |
76 const char* name() const override { return "Big Ole Key"; } | 74 const char* name() const override { return "Big Ole Key"; } |
77 | 75 |
78 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { | 76 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { |
79 return new GLBigKeyProcessor(*this); | 77 return new GLBigKeyProcessor; |
80 } | 78 } |
81 | 79 |
82 private: | 80 private: |
83 BigKeyProcessor() { | 81 BigKeyProcessor() { |
84 this->initClassID<BigKeyProcessor>(); | 82 this->initClassID<BigKeyProcessor>(); |
85 } | 83 } |
86 virtual void onGetGLSLProcessorKey(const GrGLSLCaps& caps, | 84 virtual void onGetGLSLProcessorKey(const GrGLSLCaps& caps, |
87 GrProcessorKeyBuilder* b) const override
{ | 85 GrProcessorKeyBuilder* b) const override
{ |
88 GLBigKeyProcessor::GenKey(*this, caps, b); | 86 GLBigKeyProcessor::GenKey(*this, caps, b); |
89 } | 87 } |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 GrContextOptions opts; | 457 GrContextOptions opts; |
460 opts.fSuppressPrints = true; | 458 opts.fSuppressPrints = true; |
461 GrContextFactory debugFactory(opts); | 459 GrContextFactory debugFactory(opts); |
462 skiatest::RunWithGPUTestContexts(test_glprograms_native, skiatest::kNative_G
PUTestContexts, | 460 skiatest::RunWithGPUTestContexts(test_glprograms_native, skiatest::kNative_G
PUTestContexts, |
463 reporter, &debugFactory); | 461 reporter, &debugFactory); |
464 skiatest::RunWithGPUTestContexts(test_glprograms_other_contexts, | 462 skiatest::RunWithGPUTestContexts(test_glprograms_other_contexts, |
465 skiatest::kOther_GPUTestContexts, reporter,
&debugFactory); | 463 skiatest::kOther_GPUTestContexts, reporter,
&debugFactory); |
466 } | 464 } |
467 | 465 |
468 #endif | 466 #endif |
OLD | NEW |