OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 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 #include "InstanceProcessor.h" | 8 #include "InstanceProcessor.h" |
9 | 9 |
10 #include "GrContext.h" | 10 #include "GrContext.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 this->setWillUseSampleLocations(); | 73 this->setWillUseSampleLocations(); |
74 } | 74 } |
75 } | 75 } |
76 } | 76 } |
77 | 77 |
78 class GLSLInstanceProcessor : public GrGLSLGeometryProcessor { | 78 class GLSLInstanceProcessor : public GrGLSLGeometryProcessor { |
79 public: | 79 public: |
80 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override; | 80 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override; |
81 | 81 |
82 private: | 82 private: |
83 void setData(const GrGLSLProgramDataManager& pdman, const GrPrimitiveProcess
or&, | 83 void setData(const GrGLSLProgramDataManager&, const GrPrimitiveProcessor&) o
verride {} |
84 FPCoordTransformIter&& transformIter) override { | |
85 this->setTransformDataHelper(SkMatrix::I(), pdman, &transformIter); | |
86 } | |
87 | 84 |
88 class VertexInputs; | 85 class VertexInputs; |
89 class Backend; | 86 class Backend; |
90 class BackendNonAA; | 87 class BackendNonAA; |
91 class BackendCoverage; | 88 class BackendCoverage; |
92 class BackendMultisample; | 89 class BackendMultisample; |
93 | 90 |
94 typedef GrGLSLGeometryProcessor INHERITED; | 91 typedef GrGLSLGeometryProcessor INHERITED; |
95 }; | 92 }; |
96 | 93 |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 } | 381 } |
385 v->codeAppend("}"); | 382 v->codeAppend("}"); |
386 } | 383 } |
387 | 384 |
388 GrSLType positionType = ip.batchInfo().fHasPerspective ? kVec3f_GrSLType : k
Vec2f_GrSLType; | 385 GrSLType positionType = ip.batchInfo().fHasPerspective ? kVec3f_GrSLType : k
Vec2f_GrSLType; |
389 v->codeAppendf("%s deviceCoords = vec3(%s, 1) * shapeMatrix;", | 386 v->codeAppendf("%s deviceCoords = vec3(%s, 1) * shapeMatrix;", |
390 GrGLSLTypeString(positionType), backend->outShapeCoords()); | 387 GrGLSLTypeString(positionType), backend->outShapeCoords()); |
391 gpArgs->fPositionVar.set(positionType, "deviceCoords"); | 388 gpArgs->fPositionVar.set(positionType, "deviceCoords"); |
392 | 389 |
393 this->emitTransforms(v, varyingHandler, uniHandler, gpArgs->fPositionVar, lo
calCoords, | 390 this->emitTransforms(v, varyingHandler, uniHandler, gpArgs->fPositionVar, lo
calCoords, |
394 args.fFPCoordTransformHandler); | 391 args.fTransformsIn, args.fTransformsOut); |
395 } | 392 } |
396 | 393 |
397 ////////////////////////////////////////////////////////////////////////////////
//////////////////// | 394 ////////////////////////////////////////////////////////////////////////////////
//////////////////// |
398 | 395 |
399 void GLSLInstanceProcessor::Backend::init(GrGLSLVaryingHandler* varyingHandler, | 396 void GLSLInstanceProcessor::Backend::init(GrGLSLVaryingHandler* varyingHandler, |
400 GrGLSLVertexBuilder* v) { | 397 GrGLSLVertexBuilder* v) { |
401 if (fModifiedShapeCoords) { | 398 if (fModifiedShapeCoords) { |
402 v->codeAppendf("vec2 %s = %s;", fModifiedShapeCoords, fInputs.attr(Attri
b::kShapeCoords)); | 399 v->codeAppendf("vec2 %s = %s;", fModifiedShapeCoords, fInputs.attr(Attri
b::kShapeCoords)); |
403 } | 400 } |
404 | 401 |
(...skipping 1709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2114 | 2111 |
2115 case kCorneredRect_FirstIndex: return "basic_round_rect"; | 2112 case kCorneredRect_FirstIndex: return "basic_round_rect"; |
2116 case kCorneredFramedRect_FirstIndex: return "coverage_round_rect"; | 2113 case kCorneredFramedRect_FirstIndex: return "coverage_round_rect"; |
2117 case kCorneredRectFanned_FirstIndex: return "mixed_samples_round_rect"; | 2114 case kCorneredRectFanned_FirstIndex: return "mixed_samples_round_rect"; |
2118 | 2115 |
2119 default: return "unknown"; | 2116 default: return "unknown"; |
2120 } | 2117 } |
2121 } | 2118 } |
2122 | 2119 |
2123 } | 2120 } |
OLD | NEW |