ae2f_docs
a.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <stdlib.h>
3#include "clspv/Compiler.h"
4
5static char VV[200];
6
7int main() {
8 // CL source example:
9 const char* clSrc = "__kernel void sample_test(__global int *dst, int count) { \n"
10 " \n"
11 " int tid = get_global_id(0); \n"
12 " for( int i = 0; i < count; i++ ) \n"
13 " dst[i] = tid + i; \n"
14 "} \n";
15
16 // Compile
17 size_t outputSpvSize = 0;
18 char* outputSpv = nullptr;
19 char* outputBuildLog = nullptr;
20 ClspvError ret = clspvCompileFromSourcesString(1,
21 NULL,
22 (const char**)&clSrc,
23 "",
24 &outputSpv,
25 &outputSpvSize,
26 &outputBuildLog);
27 printf("Build Log:\n%s\n", outputBuildLog);
28 if (ret != CLSPV_SUCCESS) {
29 // Handle error ...
30 }
31
32 // Cleanup
33 clspvFreeOutputBuildObjs(outputSpv, outputBuildLog);
34 /*
35 // User can also cleanup like so:
36
37 free(outputSpv); outputSpv = NULL;
38 free(outputBuildLog); outputBuildLog = NULL;
39 */
40
41 return 0;
42}