Overte C++ Documentation
FrameIOKeys.h
1 //
2 // Created by Bradley Austin Davis on 2018/10/14
3 // Copyright 2013-2018 High Fidelity, Inc.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 #pragma once
9 #ifndef hifi_gpu_FrameIOKeys_h
10 #define hifi_gpu_FrameIOKeys_h
11 
12 namespace gpu { namespace keys {
13 
14 
15 constexpr const char* binary = "binary";
16 constexpr const char* L00 = "L00";
17 constexpr const char* L1m1 = "L1m1";
18 constexpr const char* L10 = "L10";
19 constexpr const char* L11 = "L11";
20 constexpr const char* L2m2 = "L2m2";
21 constexpr const char* L2m1 = "L2m1";
22 constexpr const char* L20 = "L20";
23 constexpr const char* L21 = "L21";
24 constexpr const char* L22 = "L22";
25 
26 constexpr const char* eyeProjections = "eyeProjections";
27 constexpr const char* eyeViews = "eyeViews";
28 constexpr const char* alphaToCoverageEnable = "alphaToCoverageEnable";
29 constexpr const char* antialisedLineEnable = "antialisedLineEnable";
30 constexpr const char* attributes = "attributes";
31 constexpr const char* batches = "batches";
32 constexpr const char* blendFunction = "blendFunction";
33 constexpr const char* borderColor = "borderColor";
34 constexpr const char* bufferMask = "bufferMask";
35 constexpr const char* buffers = "buffers";
36 constexpr const char* capturedTextures = "capturedTextures";
37 constexpr const char* channel = "channel";
38 constexpr const char* chunk = "chunk";
39 constexpr const char* colorAttachments = "colorAttachments";
40 constexpr const char* colorWriteMask = "colorWriteMask";
41 constexpr const char* commands = "commands";
42 constexpr const char* comparisonFunction = "comparisonFunction";
43 constexpr const char* cullMode = "cullMode";
44 constexpr const char* data = "data";
45 constexpr const char* depth = "depth";
46 constexpr const char* depthBias = "depthBias";
47 constexpr const char* depthBiasSlopeScale = "depthBiasSlopeScale";
48 constexpr const char* depthClampEnable = "depthClampEnable";
49 constexpr const char* depthStencilAttachment = "depthStencilAttachment";
50 constexpr const char* depthTest = "depthTest";
51 constexpr const char* drawCallInfos = "drawCallInfos";
52 constexpr const char* drawcallUniform = "drawcallUniform";
53 constexpr const char* drawcallUniformReset = "drawcallUniformReset";
54 constexpr const char* element = "element";
55 constexpr const char* fillMode = "fillMode";
56 constexpr const char* filter = "filter";
57 constexpr const char* formats = "formats";
58 constexpr const char* frameIndex = "frameIndex";
59 constexpr const char* framebuffer = "framebuffer";
60 constexpr const char* framebuffers = "framebuffers";
61 constexpr const char* frequency = "frequency";
62 constexpr const char* frontFaceClockwise = "frontFaceClockwise";
63 constexpr const char* height = "height";
64 constexpr const char* id = "id";
65 constexpr const char* ktxFile = "ktxFile";
66 constexpr const char* layers = "layers";
67 constexpr const char* maxAnisotropy = "maxAnisotropy";
68 constexpr const char* maxMip = "maxMip";
69 constexpr const char* minMip = "minMip";
70 constexpr const char* mipOffset = "mipOffset";
71 constexpr const char* mips = "mips";
72 constexpr const char* multisampleEnable = "multisampleEnable";
73 constexpr const char* name = "name";
74 constexpr const char* namedData = "namedData";
75 constexpr const char* names = "names";
76 constexpr const char* objects = "objects";
77 constexpr const char* offset = "offset";
78 constexpr const char* pipelines = "pipelines";
79 constexpr const char* pose = "pose";
80 constexpr const char* profileRanges = "profileRanges";
81 constexpr const char* program = "program";
82 constexpr const char* programs = "programs";
83 constexpr const char* projectionJitter = "projectionJitter";
84 constexpr const char* queries = "queries";
85 constexpr const char* sampleCount = "sampleCount";
86 constexpr const char* sampleMask = "sampleMask";
87 constexpr const char* sampler = "sampler";
88 constexpr const char* samples = "samples";
89 constexpr const char* scissorEnable = "scissorEnable";
90 constexpr const char* shaders = "shaders";
91 constexpr const char* size = "size";
92 constexpr const char* skybox = "skybox";
93 constexpr const char* slot = "slot";
94 constexpr const char* source = "source";
95 constexpr const char* state = "state";
96 constexpr const char* stencilActivation = "stencilActivation";
97 constexpr const char* stencilTestBack = "stencilTestBack";
98 constexpr const char* stencilTestFront = "stencilTestFront";
99 constexpr const char* stereo = "stereo";
100 constexpr const char* subresource = "subresource";
101 constexpr const char* swapchains = "swapchains";
102 constexpr const char* texelFormat = "texelFormat";
103 constexpr const char* texture = "texture";
104 constexpr const char* textureTables = "textureTables";
105 constexpr const char* textures = "textures";
106 constexpr const char* transforms = "transforms";
107 constexpr const char* type = "type";
108 constexpr const char* usageType = "usageType";
109 constexpr const char* view = "view";
110 constexpr const char* width = "width";
111 constexpr const char* wrapModeU = "wrapModeU";
112 constexpr const char* wrapModeV = "wrapModeV";
113 constexpr const char* wrapModeW = "wrapModeW";
114 
115 
116 constexpr const char* backWriteMask = "backWriteMask";
117 constexpr const char* frontWriteMask = "frontWriteMask";
118 constexpr const char* reference = "reference";
119 constexpr const char* readMask = "readMask";
120 constexpr const char* failOp = "failOp";
121 constexpr const char* depthFailOp = "depthFailOp";
122 constexpr const char* passOp = "passOp";
123 constexpr const char* enabled = "enabled";
124 constexpr const char* blend = "blend";
125 constexpr const char* flags = "flags";
126 constexpr const char* writeMask = "writeMask";
127 constexpr const char* function = "function";
128 constexpr const char* sourceColor = "sourceColor";
129 constexpr const char* sourceAlpha = "sourceAlpha";
130 constexpr const char* destColor = "destColor";
131 constexpr const char* destAlpha = "destAlpha";
132 constexpr const char* opColor = "opColor";
133 constexpr const char* opAlpha = "opAlpha";
134 constexpr const char* enable = "enable";
135 constexpr const char* contextDisable = "contextDisable";
136 
137 constexpr const char* COMMAND_NAMES[] = {
138  "draw",
139  "drawIndexed",
140  "drawInstanced",
141  "drawIndexedInstanced",
142  "multiDrawIndirect",
143  "multiDrawIndexedIndirect",
144 
145  "setInputFormat",
146  "setInputBuffer",
147  "setIndexBuffer",
148  "setIndirectBuffer",
149 
150  "setModelTransform",
151  "setViewTransform",
152  "setProjectionTransform",
153  "setProjectionJitter",
154  "setViewportTransform",
155  "setDepthRangeTransform",
156 
157  "setPipeline",
158  "setStateBlendFactor",
159  "setStateScissorRect",
160 
161  "setUniformBuffer",
162  "setResourceBuffer",
163  "setResourceTexture",
164  "setResourceTextureTable",
165  "setResourceFramebufferSwapChainTexture",
166 
167  "setFramebuffer",
168  "setFramebufferSwapChain",
169  "clearFramebuffer",
170  "blit",
171  "generateTextureMips",
172  "generateTextureMipsWithPipeline",
173 
174  "advance",
175 
176  "beginQuery",
177  "endQuery",
178  "getQuery",
179 
180  "resetStages",
181 
182  "disableContextViewCorrection",
183  "restoreContextViewCorrection",
184 
185  "disableContextStereo",
186  "restoreContextStereo",
187 
188  "runLambda",
189 
190  "startNamedCall",
191  "stopNamedCall",
192 
193  "glUniform1i",
194  "glUniform1f",
195  "glUniform2f",
196  "glUniform3f",
197  "glUniform4f",
198  "glUniform3fv",
199  "glUniform4fv",
200  "glUniform4iv",
201  "glUniformMatrix3fv",
202  "glUniformMatrix4fv",
203 
204  "pushProfileRange",
205  "popProfileRange",
206 };
207 
208 template<class T, size_t N>
209 constexpr size_t array_size(T (&)[N]) { return N; }
210 
211 static_assert(array_size(COMMAND_NAMES) == Batch::Command::NUM_COMMANDS, "Command array sizes must match");
212 }} // namespace gpu::keys
213 
214 #endif