1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_CLCACHE_CLCACHE_H_
5 #define FLATBUFFERS_GENERATED_CLCACHE_CLCACHE_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 namespace CLCache {
10
11 struct Shader;
12 struct ShaderT;
13
14 struct Autotuning;
15 struct AutotuningT;
16
17 struct Cache;
18 struct CacheT;
19
20 inline const flatbuffers::TypeTable *ShaderTypeTable();
21
22 inline const flatbuffers::TypeTable *AutotuningTypeTable();
23
24 inline const flatbuffers::TypeTable *CacheTypeTable();
25
26 struct ShaderT : public flatbuffers::NativeTable {
27 typedef Shader TableType;
28 std::vector<int8_t> buffer;
29 std::string program;
30 std::string kernel;
31 std::string buildInfo;
ShaderTShaderT32 ShaderT() {
33 }
34 };
35
36 struct Shader FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
37 typedef ShaderT NativeTableType;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS38 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
39 return ShaderTypeTable();
40 }
41 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
42 VT_BUFFER = 4,
43 VT_PROGRAM = 6,
44 VT_KERNEL = 8,
45 VT_BUILDINFO = 10
46 };
bufferFLATBUFFERS_FINAL_CLASS47 const flatbuffers::Vector<int8_t> *buffer() const {
48 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER);
49 }
programFLATBUFFERS_FINAL_CLASS50 const flatbuffers::String *program() const {
51 return GetPointer<const flatbuffers::String *>(VT_PROGRAM);
52 }
kernelFLATBUFFERS_FINAL_CLASS53 const flatbuffers::String *kernel() const {
54 return GetPointer<const flatbuffers::String *>(VT_KERNEL);
55 }
buildInfoFLATBUFFERS_FINAL_CLASS56 const flatbuffers::String *buildInfo() const {
57 return GetPointer<const flatbuffers::String *>(VT_BUILDINFO);
58 }
VerifyFLATBUFFERS_FINAL_CLASS59 bool Verify(flatbuffers::Verifier &verifier) const {
60 return VerifyTableStart(verifier) &&
61 VerifyOffset(verifier, VT_BUFFER) &&
62 verifier.VerifyVector(buffer()) &&
63 VerifyOffset(verifier, VT_PROGRAM) &&
64 verifier.VerifyString(program()) &&
65 VerifyOffset(verifier, VT_KERNEL) &&
66 verifier.VerifyString(kernel()) &&
67 VerifyOffset(verifier, VT_BUILDINFO) &&
68 verifier.VerifyString(buildInfo()) &&
69 verifier.EndTable();
70 }
71 ShaderT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
72 void UnPackTo(ShaderT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
73 static flatbuffers::Offset<Shader> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
74 };
75
76 struct ShaderBuilder {
77 flatbuffers::FlatBufferBuilder &fbb_;
78 flatbuffers::uoffset_t start_;
add_bufferShaderBuilder79 void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) {
80 fbb_.AddOffset(Shader::VT_BUFFER, buffer);
81 }
add_programShaderBuilder82 void add_program(flatbuffers::Offset<flatbuffers::String> program) {
83 fbb_.AddOffset(Shader::VT_PROGRAM, program);
84 }
add_kernelShaderBuilder85 void add_kernel(flatbuffers::Offset<flatbuffers::String> kernel) {
86 fbb_.AddOffset(Shader::VT_KERNEL, kernel);
87 }
add_buildInfoShaderBuilder88 void add_buildInfo(flatbuffers::Offset<flatbuffers::String> buildInfo) {
89 fbb_.AddOffset(Shader::VT_BUILDINFO, buildInfo);
90 }
ShaderBuilderShaderBuilder91 explicit ShaderBuilder(flatbuffers::FlatBufferBuilder &_fbb)
92 : fbb_(_fbb) {
93 start_ = fbb_.StartTable();
94 }
95 ShaderBuilder &operator=(const ShaderBuilder &);
FinishShaderBuilder96 flatbuffers::Offset<Shader> Finish() {
97 const auto end = fbb_.EndTable(start_);
98 auto o = flatbuffers::Offset<Shader>(end);
99 return o;
100 }
101 };
102
103 inline flatbuffers::Offset<Shader> CreateShader(
104 flatbuffers::FlatBufferBuilder &_fbb,
105 flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0,
106 flatbuffers::Offset<flatbuffers::String> program = 0,
107 flatbuffers::Offset<flatbuffers::String> kernel = 0,
108 flatbuffers::Offset<flatbuffers::String> buildInfo = 0) {
109 ShaderBuilder builder_(_fbb);
110 builder_.add_buildInfo(buildInfo);
111 builder_.add_kernel(kernel);
112 builder_.add_program(program);
113 builder_.add_buffer(buffer);
114 return builder_.Finish();
115 }
116
117 inline flatbuffers::Offset<Shader> CreateShaderDirect(
118 flatbuffers::FlatBufferBuilder &_fbb,
119 const std::vector<int8_t> *buffer = nullptr,
120 const char *program = nullptr,
121 const char *kernel = nullptr,
122 const char *buildInfo = nullptr) {
123 auto buffer__ = buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0;
124 auto program__ = program ? _fbb.CreateString(program) : 0;
125 auto kernel__ = kernel ? _fbb.CreateString(kernel) : 0;
126 auto buildInfo__ = buildInfo ? _fbb.CreateString(buildInfo) : 0;
127 return CLCache::CreateShader(
128 _fbb,
129 buffer__,
130 program__,
131 kernel__,
132 buildInfo__);
133 }
134
135 flatbuffers::Offset<Shader> CreateShader(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
136
137 struct AutotuningT : public flatbuffers::NativeTable {
138 typedef Autotuning TableType;
139 std::string key;
140 std::vector<uint32_t> gloablSize;
141 std::vector<uint32_t> localSize;
142 uint32_t timeCost;
AutotuningTAutotuningT143 AutotuningT()
144 : timeCost(0) {
145 }
146 };
147
148 struct Autotuning FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
149 typedef AutotuningT NativeTableType;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS150 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
151 return AutotuningTypeTable();
152 }
153 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
154 VT_KEY = 4,
155 VT_GLOABLSIZE = 6,
156 VT_LOCALSIZE = 8,
157 VT_TIMECOST = 10
158 };
keyFLATBUFFERS_FINAL_CLASS159 const flatbuffers::String *key() const {
160 return GetPointer<const flatbuffers::String *>(VT_KEY);
161 }
gloablSizeFLATBUFFERS_FINAL_CLASS162 const flatbuffers::Vector<uint32_t> *gloablSize() const {
163 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_GLOABLSIZE);
164 }
localSizeFLATBUFFERS_FINAL_CLASS165 const flatbuffers::Vector<uint32_t> *localSize() const {
166 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_LOCALSIZE);
167 }
timeCostFLATBUFFERS_FINAL_CLASS168 uint32_t timeCost() const {
169 return GetField<uint32_t>(VT_TIMECOST, 0);
170 }
VerifyFLATBUFFERS_FINAL_CLASS171 bool Verify(flatbuffers::Verifier &verifier) const {
172 return VerifyTableStart(verifier) &&
173 VerifyOffset(verifier, VT_KEY) &&
174 verifier.VerifyString(key()) &&
175 VerifyOffset(verifier, VT_GLOABLSIZE) &&
176 verifier.VerifyVector(gloablSize()) &&
177 VerifyOffset(verifier, VT_LOCALSIZE) &&
178 verifier.VerifyVector(localSize()) &&
179 VerifyField<uint32_t>(verifier, VT_TIMECOST) &&
180 verifier.EndTable();
181 }
182 AutotuningT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
183 void UnPackTo(AutotuningT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
184 static flatbuffers::Offset<Autotuning> Pack(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
185 };
186
187 struct AutotuningBuilder {
188 flatbuffers::FlatBufferBuilder &fbb_;
189 flatbuffers::uoffset_t start_;
add_keyAutotuningBuilder190 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
191 fbb_.AddOffset(Autotuning::VT_KEY, key);
192 }
add_gloablSizeAutotuningBuilder193 void add_gloablSize(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> gloablSize) {
194 fbb_.AddOffset(Autotuning::VT_GLOABLSIZE, gloablSize);
195 }
add_localSizeAutotuningBuilder196 void add_localSize(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> localSize) {
197 fbb_.AddOffset(Autotuning::VT_LOCALSIZE, localSize);
198 }
add_timeCostAutotuningBuilder199 void add_timeCost(uint32_t timeCost) {
200 fbb_.AddElement<uint32_t>(Autotuning::VT_TIMECOST, timeCost, 0);
201 }
AutotuningBuilderAutotuningBuilder202 explicit AutotuningBuilder(flatbuffers::FlatBufferBuilder &_fbb)
203 : fbb_(_fbb) {
204 start_ = fbb_.StartTable();
205 }
206 AutotuningBuilder &operator=(const AutotuningBuilder &);
FinishAutotuningBuilder207 flatbuffers::Offset<Autotuning> Finish() {
208 const auto end = fbb_.EndTable(start_);
209 auto o = flatbuffers::Offset<Autotuning>(end);
210 return o;
211 }
212 };
213
214 inline flatbuffers::Offset<Autotuning> CreateAutotuning(
215 flatbuffers::FlatBufferBuilder &_fbb,
216 flatbuffers::Offset<flatbuffers::String> key = 0,
217 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> gloablSize = 0,
218 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> localSize = 0,
219 uint32_t timeCost = 0) {
220 AutotuningBuilder builder_(_fbb);
221 builder_.add_timeCost(timeCost);
222 builder_.add_localSize(localSize);
223 builder_.add_gloablSize(gloablSize);
224 builder_.add_key(key);
225 return builder_.Finish();
226 }
227
228 inline flatbuffers::Offset<Autotuning> CreateAutotuningDirect(
229 flatbuffers::FlatBufferBuilder &_fbb,
230 const char *key = nullptr,
231 const std::vector<uint32_t> *gloablSize = nullptr,
232 const std::vector<uint32_t> *localSize = nullptr,
233 uint32_t timeCost = 0) {
234 auto key__ = key ? _fbb.CreateString(key) : 0;
235 auto gloablSize__ = gloablSize ? _fbb.CreateVector<uint32_t>(*gloablSize) : 0;
236 auto localSize__ = localSize ? _fbb.CreateVector<uint32_t>(*localSize) : 0;
237 return CLCache::CreateAutotuning(
238 _fbb,
239 key__,
240 gloablSize__,
241 localSize__,
242 timeCost);
243 }
244
245 flatbuffers::Offset<Autotuning> CreateAutotuning(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
246
247 struct CacheT : public flatbuffers::NativeTable {
248 typedef Cache TableType;
249 std::vector<std::unique_ptr<ShaderT>> programs;
250 std::vector<std::unique_ptr<AutotuningT>> tunings;
CacheTCacheT251 CacheT() {
252 }
253 };
254
255 struct Cache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
256 typedef CacheT NativeTableType;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS257 static const flatbuffers::TypeTable *MiniReflectTypeTable() {
258 return CacheTypeTable();
259 }
260 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
261 VT_PROGRAMS = 4,
262 VT_TUNINGS = 6
263 };
programsFLATBUFFERS_FINAL_CLASS264 const flatbuffers::Vector<flatbuffers::Offset<Shader>> *programs() const {
265 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Shader>> *>(VT_PROGRAMS);
266 }
tuningsFLATBUFFERS_FINAL_CLASS267 const flatbuffers::Vector<flatbuffers::Offset<Autotuning>> *tunings() const {
268 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Autotuning>> *>(VT_TUNINGS);
269 }
VerifyFLATBUFFERS_FINAL_CLASS270 bool Verify(flatbuffers::Verifier &verifier) const {
271 return VerifyTableStart(verifier) &&
272 VerifyOffset(verifier, VT_PROGRAMS) &&
273 verifier.VerifyVector(programs()) &&
274 verifier.VerifyVectorOfTables(programs()) &&
275 VerifyOffset(verifier, VT_TUNINGS) &&
276 verifier.VerifyVector(tunings()) &&
277 verifier.VerifyVectorOfTables(tunings()) &&
278 verifier.EndTable();
279 }
280 CacheT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
281 void UnPackTo(CacheT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
282 static flatbuffers::Offset<Cache> Pack(flatbuffers::FlatBufferBuilder &_fbb, const CacheT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
283 };
284
285 struct CacheBuilder {
286 flatbuffers::FlatBufferBuilder &fbb_;
287 flatbuffers::uoffset_t start_;
add_programsCacheBuilder288 void add_programs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Shader>>> programs) {
289 fbb_.AddOffset(Cache::VT_PROGRAMS, programs);
290 }
add_tuningsCacheBuilder291 void add_tunings(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Autotuning>>> tunings) {
292 fbb_.AddOffset(Cache::VT_TUNINGS, tunings);
293 }
CacheBuilderCacheBuilder294 explicit CacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
295 : fbb_(_fbb) {
296 start_ = fbb_.StartTable();
297 }
298 CacheBuilder &operator=(const CacheBuilder &);
FinishCacheBuilder299 flatbuffers::Offset<Cache> Finish() {
300 const auto end = fbb_.EndTable(start_);
301 auto o = flatbuffers::Offset<Cache>(end);
302 return o;
303 }
304 };
305
306 inline flatbuffers::Offset<Cache> CreateCache(
307 flatbuffers::FlatBufferBuilder &_fbb,
308 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Shader>>> programs = 0,
309 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Autotuning>>> tunings = 0) {
310 CacheBuilder builder_(_fbb);
311 builder_.add_tunings(tunings);
312 builder_.add_programs(programs);
313 return builder_.Finish();
314 }
315
316 inline flatbuffers::Offset<Cache> CreateCacheDirect(
317 flatbuffers::FlatBufferBuilder &_fbb,
318 const std::vector<flatbuffers::Offset<Shader>> *programs = nullptr,
319 const std::vector<flatbuffers::Offset<Autotuning>> *tunings = nullptr) {
320 auto programs__ = programs ? _fbb.CreateVector<flatbuffers::Offset<Shader>>(*programs) : 0;
321 auto tunings__ = tunings ? _fbb.CreateVector<flatbuffers::Offset<Autotuning>>(*tunings) : 0;
322 return CLCache::CreateCache(
323 _fbb,
324 programs__,
325 tunings__);
326 }
327
328 flatbuffers::Offset<Cache> CreateCache(flatbuffers::FlatBufferBuilder &_fbb, const CacheT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
329
UnPack(const flatbuffers::resolver_function_t * _resolver)330 inline ShaderT *Shader::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
331 auto _o = new ShaderT();
332 UnPackTo(_o, _resolver);
333 return _o;
334 }
335
UnPackTo(ShaderT * _o,const flatbuffers::resolver_function_t * _resolver)336 inline void Shader::UnPackTo(ShaderT *_o, const flatbuffers::resolver_function_t *_resolver) const {
337 (void)_o;
338 (void)_resolver;
339 { auto _e = buffer(); if (_e) { _o->buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffer[_i] = _e->Get(_i); } } };
340 { auto _e = program(); if (_e) _o->program = _e->str(); };
341 { auto _e = kernel(); if (_e) _o->kernel = _e->str(); };
342 { auto _e = buildInfo(); if (_e) _o->buildInfo = _e->str(); };
343 }
344
Pack(flatbuffers::FlatBufferBuilder & _fbb,const ShaderT * _o,const flatbuffers::rehasher_function_t * _rehasher)345 inline flatbuffers::Offset<Shader> Shader::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
346 return CreateShader(_fbb, _o, _rehasher);
347 }
348
CreateShader(flatbuffers::FlatBufferBuilder & _fbb,const ShaderT * _o,const flatbuffers::rehasher_function_t * _rehasher)349 inline flatbuffers::Offset<Shader> CreateShader(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
350 (void)_rehasher;
351 (void)_o;
352 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ShaderT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
353 auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0;
354 auto _program = _o->program.empty() ? 0 : _fbb.CreateString(_o->program);
355 auto _kernel = _o->kernel.empty() ? 0 : _fbb.CreateString(_o->kernel);
356 auto _buildInfo = _o->buildInfo.empty() ? 0 : _fbb.CreateString(_o->buildInfo);
357 return CLCache::CreateShader(
358 _fbb,
359 _buffer,
360 _program,
361 _kernel,
362 _buildInfo);
363 }
364
UnPack(const flatbuffers::resolver_function_t * _resolver)365 inline AutotuningT *Autotuning::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
366 auto _o = new AutotuningT();
367 UnPackTo(_o, _resolver);
368 return _o;
369 }
370
UnPackTo(AutotuningT * _o,const flatbuffers::resolver_function_t * _resolver)371 inline void Autotuning::UnPackTo(AutotuningT *_o, const flatbuffers::resolver_function_t *_resolver) const {
372 (void)_o;
373 (void)_resolver;
374 { auto _e = key(); if (_e) _o->key = _e->str(); };
375 { auto _e = gloablSize(); if (_e) { _o->gloablSize.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->gloablSize[_i] = _e->Get(_i); } } };
376 { auto _e = localSize(); if (_e) { _o->localSize.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->localSize[_i] = _e->Get(_i); } } };
377 { auto _e = timeCost(); _o->timeCost = _e; };
378 }
379
Pack(flatbuffers::FlatBufferBuilder & _fbb,const AutotuningT * _o,const flatbuffers::rehasher_function_t * _rehasher)380 inline flatbuffers::Offset<Autotuning> Autotuning::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
381 return CreateAutotuning(_fbb, _o, _rehasher);
382 }
383
CreateAutotuning(flatbuffers::FlatBufferBuilder & _fbb,const AutotuningT * _o,const flatbuffers::rehasher_function_t * _rehasher)384 inline flatbuffers::Offset<Autotuning> CreateAutotuning(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
385 (void)_rehasher;
386 (void)_o;
387 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AutotuningT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
388 auto _key = _o->key.empty() ? 0 : _fbb.CreateString(_o->key);
389 auto _gloablSize = _o->gloablSize.size() ? _fbb.CreateVector(_o->gloablSize) : 0;
390 auto _localSize = _o->localSize.size() ? _fbb.CreateVector(_o->localSize) : 0;
391 auto _timeCost = _o->timeCost;
392 return CLCache::CreateAutotuning(
393 _fbb,
394 _key,
395 _gloablSize,
396 _localSize,
397 _timeCost);
398 }
399
UnPack(const flatbuffers::resolver_function_t * _resolver)400 inline CacheT *Cache::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
401 auto _o = new CacheT();
402 UnPackTo(_o, _resolver);
403 return _o;
404 }
405
UnPackTo(CacheT * _o,const flatbuffers::resolver_function_t * _resolver)406 inline void Cache::UnPackTo(CacheT *_o, const flatbuffers::resolver_function_t *_resolver) const {
407 (void)_o;
408 (void)_resolver;
409 { auto _e = programs(); if (_e) { _o->programs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->programs[_i] = std::unique_ptr<ShaderT>(_e->Get(_i)->UnPack(_resolver)); } } };
410 { auto _e = tunings(); if (_e) { _o->tunings.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->tunings[_i] = std::unique_ptr<AutotuningT>(_e->Get(_i)->UnPack(_resolver)); } } };
411 }
412
Pack(flatbuffers::FlatBufferBuilder & _fbb,const CacheT * _o,const flatbuffers::rehasher_function_t * _rehasher)413 inline flatbuffers::Offset<Cache> Cache::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CacheT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
414 return CreateCache(_fbb, _o, _rehasher);
415 }
416
CreateCache(flatbuffers::FlatBufferBuilder & _fbb,const CacheT * _o,const flatbuffers::rehasher_function_t * _rehasher)417 inline flatbuffers::Offset<Cache> CreateCache(flatbuffers::FlatBufferBuilder &_fbb, const CacheT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
418 (void)_rehasher;
419 (void)_o;
420 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CacheT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
421 auto _programs = _o->programs.size() ? _fbb.CreateVector<flatbuffers::Offset<Shader>> (_o->programs.size(), [](size_t i, _VectorArgs *__va) { return CreateShader(*__va->__fbb, __va->__o->programs[i].get(), __va->__rehasher); }, &_va ) : 0;
422 auto _tunings = _o->tunings.size() ? _fbb.CreateVector<flatbuffers::Offset<Autotuning>> (_o->tunings.size(), [](size_t i, _VectorArgs *__va) { return CreateAutotuning(*__va->__fbb, __va->__o->tunings[i].get(), __va->__rehasher); }, &_va ) : 0;
423 return CLCache::CreateCache(
424 _fbb,
425 _programs,
426 _tunings);
427 }
428
ShaderTypeTable()429 inline const flatbuffers::TypeTable *ShaderTypeTable() {
430 static const flatbuffers::TypeCode type_codes[] = {
431 { flatbuffers::ET_CHAR, 1, -1 },
432 { flatbuffers::ET_STRING, 0, -1 },
433 { flatbuffers::ET_STRING, 0, -1 },
434 { flatbuffers::ET_STRING, 0, -1 }
435 };
436 static const char * const names[] = {
437 "buffer",
438 "program",
439 "kernel",
440 "buildInfo"
441 };
442 static const flatbuffers::TypeTable tt = {
443 flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names
444 };
445 return &tt;
446 }
447
AutotuningTypeTable()448 inline const flatbuffers::TypeTable *AutotuningTypeTable() {
449 static const flatbuffers::TypeCode type_codes[] = {
450 { flatbuffers::ET_STRING, 0, -1 },
451 { flatbuffers::ET_UINT, 1, -1 },
452 { flatbuffers::ET_UINT, 1, -1 },
453 { flatbuffers::ET_UINT, 0, -1 }
454 };
455 static const char * const names[] = {
456 "key",
457 "gloablSize",
458 "localSize",
459 "timeCost"
460 };
461 static const flatbuffers::TypeTable tt = {
462 flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names
463 };
464 return &tt;
465 }
466
CacheTypeTable()467 inline const flatbuffers::TypeTable *CacheTypeTable() {
468 static const flatbuffers::TypeCode type_codes[] = {
469 { flatbuffers::ET_SEQUENCE, 1, 0 },
470 { flatbuffers::ET_SEQUENCE, 1, 1 }
471 };
472 static const flatbuffers::TypeFunction type_refs[] = {
473 ShaderTypeTable,
474 AutotuningTypeTable
475 };
476 static const char * const names[] = {
477 "programs",
478 "tunings"
479 };
480 static const flatbuffers::TypeTable tt = {
481 flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names
482 };
483 return &tt;
484 }
485
GetCache(const void * buf)486 inline const CLCache::Cache *GetCache(const void *buf) {
487 return flatbuffers::GetRoot<CLCache::Cache>(buf);
488 }
489
GetSizePrefixedCache(const void * buf)490 inline const CLCache::Cache *GetSizePrefixedCache(const void *buf) {
491 return flatbuffers::GetSizePrefixedRoot<CLCache::Cache>(buf);
492 }
493
VerifyCacheBuffer(flatbuffers::Verifier & verifier)494 inline bool VerifyCacheBuffer(
495 flatbuffers::Verifier &verifier) {
496 return verifier.VerifyBuffer<CLCache::Cache>(nullptr);
497 }
498
VerifySizePrefixedCacheBuffer(flatbuffers::Verifier & verifier)499 inline bool VerifySizePrefixedCacheBuffer(
500 flatbuffers::Verifier &verifier) {
501 return verifier.VerifySizePrefixedBuffer<CLCache::Cache>(nullptr);
502 }
503
FinishCacheBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<CLCache::Cache> root)504 inline void FinishCacheBuffer(
505 flatbuffers::FlatBufferBuilder &fbb,
506 flatbuffers::Offset<CLCache::Cache> root) {
507 fbb.Finish(root);
508 }
509
FinishSizePrefixedCacheBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<CLCache::Cache> root)510 inline void FinishSizePrefixedCacheBuffer(
511 flatbuffers::FlatBufferBuilder &fbb,
512 flatbuffers::Offset<CLCache::Cache> root) {
513 fbb.FinishSizePrefixed(root);
514 }
515
516 inline std::unique_ptr<CacheT> UnPackCache(
517 const void *buf,
518 const flatbuffers::resolver_function_t *res = nullptr) {
519 return std::unique_ptr<CacheT>(GetCache(buf)->UnPack(res));
520 }
521
522 } // namespace CLCache
523
524 #endif // FLATBUFFERS_GENERATED_CLCACHE_CLCACHE_H_
525