gfx/skia/trunk/src/gpu/effects/GrVertexEffect.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2  * Copyright 2013 Google Inc.
     3  *
     4  * Use of this source code is governed by a BSD-style license that can be
     5  * found in the LICENSE file.
     6  */
     8 #ifndef GrVertexEffect_DEFINED
     9 #define GrVertexEffect_DEFINED
    11 #include "GrEffect.h"
    13 /**
    14  * If an effect needs specialized vertex shader code, then it must inherit from this class.
    15  * Otherwise it won't be able to add vertex attribs, and it might be given a vertexless shader
    16  * program in emitCode.
    17  */
    18 class GrVertexEffect : public GrEffect {
    19 public:
    20     GrVertexEffect() { fHasVertexCode = true; }
    22 protected:
    23     /**
    24      * Subclasses call this from their constructor to register vertex attributes (at most
    25      * kMaxVertexAttribs). This must only be called from the constructor because GrEffects are
    26      * immutable.
    27      */
    28     void addVertexAttrib(GrSLType type) {
    29         SkASSERT(fVertexAttribTypes.count() < kMaxVertexAttribs);
    30         fVertexAttribTypes.push_back(type);
    31     }
    33 private:
    34     typedef GrEffect INHERITED;
    35 };
    37 #endif

mercurial