1 /*
2  * Copyright 2014 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  */
7 
8 #ifndef GrGLSLVertexShader_DEFINED
9 #define GrGLSLVertexShader_DEFINED
10 
11 #include "GrGLSLShaderBuilder.h"
12 #include "GrGeometryProcessor.h"
13 
14 class GrGLSLVarying;
15 
16 // Enough precision to represent 1 / 2048 accurately in printf
17 #define GR_SIGNIFICANT_POW2_DECIMAL_DIG 11
18 
19 class GrGLSLVertexBuilder : public GrGLSLShaderBuilder {
20 public:
21     GrGLSLVertexBuilder(GrGLSLProgramBuilder* program);
22 
23     void transformToNormalizedDeviceSpace(const GrShaderVar& posVar);
24 private:
25     void onFinalize() override;
26 
27     const char* fRtAdjustName;
28 
29     friend class GrGLProgramBuilder;
30 
31     typedef GrGLSLShaderBuilder INHERITED;
32 };
33 
34 #endif
35