Lines Matching defs:ds
64 append_string(struct dynamic_string *ds, const char *s)
67 if (ds->len + l >= ds->buffer_size) {
69 int newsize = ds->buffer_size + l + 4096;
72 if (ds->buffer)
73 strcpy(newbuf, ds->buffer);
74 free(ds->buffer);
75 ds->buffer = newbuf;
76 ds->buffer_size = newsize;
78 strcpy(ds->buffer + ds->len, s);
79 ds->len += l;
80 assert(strlen(ds->buffer) == ds->len);
92 struct dynamic_string ds = {0};
95 append_string(&ds, "#version 120\n");
96 append_string(&ds, "\nuniform vec4 u1, u2;\n\n");
100 append_string(&ds, s);
101 append_string(&ds, "{\n");
103 append_string(&ds, " return a * b;\n");
109 append_string(&ds, s);
113 append_string(&ds, s);
116 append_string(&ds, " vec4 u = max(s, t);\n");
120 append_string(&ds, " vec4 u = min(s, t);\n");
121 append_string(&ds, " if (s.x > t.x) {\n");
123 append_string(&ds, s);
124 append_string(&ds, " }\n");
127 append_string(&ds, " return u;\n");
130 append_string(&ds, "}\n\n");
133 append_string(&ds, "void main()\n");
134 append_string(&ds, "{\n");
136 append_string(&ds, s);
137 append_string(&ds, "}\n");
139 return ds.buffer;