Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/*
2
 * Mesa 3-D graphics library
3
 *
4
 * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
5
 * Copyright (C) 2011  VMware, Inc.  All Rights Reserved.
6
 *
7
 * Permission is hereby granted, free of charge, to any person obtaining a
8
 * copy of this software and associated documentation files (the "Software"),
9
 * to deal in the Software without restriction, including without limitation
10
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11
 * and/or sell copies of the Software, and to permit persons to whom the
12
 * Software is furnished to do so, subject to the following conditions:
13
 *
14
 * The above copyright notice and this permission notice shall be included
15
 * in all copies or substantial portions of the Software.
16
 *
17
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
21
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23
 * OTHER DEALINGS IN THE SOFTWARE.
24
 */
25
 
26
 
27
/**
28
 * GLvertexformat no-op functions.  Used in out-of-memory situations.
29
 */
30
 
31
 
32
#include "main/glheader.h"
33
#include "main/context.h"
34
#include "main/dispatch.h"
35
#include "main/dlist.h"
36
#include "main/eval.h"
37
#include "vbo/vbo_noop.h"
38
 
39
static void GLAPIENTRY
40
_mesa_noop_EdgeFlag(GLboolean b)
41
{
42
}
43
 
44
static void GLAPIENTRY
45
_mesa_noop_Indexf(GLfloat f)
46
{
47
}
48
 
49
static void GLAPIENTRY
50
_mesa_noop_Indexfv(const GLfloat * v)
51
{
52
}
53
 
54
static void GLAPIENTRY
55
_mesa_noop_FogCoordfEXT(GLfloat a)
56
{
57
}
58
 
59
static void GLAPIENTRY
60
_mesa_noop_FogCoordfvEXT(const GLfloat * v)
61
{
62
}
63
 
64
static void GLAPIENTRY
65
_mesa_noop_Normal3f(GLfloat a, GLfloat b, GLfloat c)
66
{
67
}
68
 
69
static void GLAPIENTRY
70
_mesa_noop_Normal3fv(const GLfloat * v)
71
{
72
}
73
 
74
static void GLAPIENTRY
75
_mesa_noop_Color4f(GLfloat a, GLfloat b, GLfloat c, GLfloat d)
76
{
77
}
78
 
79
static void GLAPIENTRY
80
_mesa_noop_Color4fv(const GLfloat * v)
81
{
82
}
83
 
84
static void GLAPIENTRY
85
_mesa_noop_Color3f(GLfloat a, GLfloat b, GLfloat c)
86
{
87
}
88
 
89
static void GLAPIENTRY
90
_mesa_noop_Color3fv(const GLfloat * v)
91
{
92
}
93
 
94
static void GLAPIENTRY
95
_mesa_noop_MultiTexCoord1fARB(GLenum target, GLfloat a)
96
{
97
}
98
 
99
static void GLAPIENTRY
100
_mesa_noop_MultiTexCoord1fvARB(GLenum target, const GLfloat * v)
101
{
102
}
103
 
104
static void GLAPIENTRY
105
_mesa_noop_MultiTexCoord2fARB(GLenum target, GLfloat a, GLfloat b)
106
{
107
}
108
 
109
static void GLAPIENTRY
110
_mesa_noop_MultiTexCoord2fvARB(GLenum target, const GLfloat * v)
111
{
112
}
113
 
114
static void GLAPIENTRY
115
_mesa_noop_MultiTexCoord3fARB(GLenum target, GLfloat a, GLfloat b, GLfloat c)
116
{
117
}
118
 
119
static void GLAPIENTRY
120
_mesa_noop_MultiTexCoord3fvARB(GLenum target, const GLfloat * v)
121
{
122
}
123
 
124
static void GLAPIENTRY
125
_mesa_noop_MultiTexCoord4fARB(GLenum target, GLfloat a, GLfloat b,
126
                              GLfloat c, GLfloat d)
127
{
128
}
129
 
130
static void GLAPIENTRY
131
_mesa_noop_MultiTexCoord4fvARB(GLenum target, const GLfloat * v)
132
{
133
}
134
 
135
static void GLAPIENTRY
136
_mesa_noop_SecondaryColor3fEXT(GLfloat a, GLfloat b, GLfloat c)
137
{
138
}
139
 
140
static void GLAPIENTRY
141
_mesa_noop_SecondaryColor3fvEXT(const GLfloat * v)
142
{
143
}
144
 
145
static void GLAPIENTRY
146
_mesa_noop_TexCoord1f(GLfloat a)
147
{
148
}
149
 
150
static void GLAPIENTRY
151
_mesa_noop_TexCoord1fv(const GLfloat * v)
152
{
153
}
154
 
155
static void GLAPIENTRY
156
_mesa_noop_TexCoord2f(GLfloat a, GLfloat b)
157
{
158
}
159
 
160
static void GLAPIENTRY
161
_mesa_noop_TexCoord2fv(const GLfloat * v)
162
{
163
}
164
 
165
static void GLAPIENTRY
166
_mesa_noop_TexCoord3f(GLfloat a, GLfloat b, GLfloat c)
167
{
168
}
169
 
170
static void GLAPIENTRY
171
_mesa_noop_TexCoord3fv(const GLfloat * v)
172
{
173
}
174
 
175
static void GLAPIENTRY
176
_mesa_noop_TexCoord4f(GLfloat a, GLfloat b, GLfloat c, GLfloat d)
177
{
178
}
179
 
180
static void GLAPIENTRY
181
_mesa_noop_TexCoord4fv(const GLfloat * v)
182
{
183
}
184
 
185
static void GLAPIENTRY
186
_mesa_noop_VertexAttrib1fNV(GLuint index, GLfloat x)
187
{
188
}
189
 
190
static void GLAPIENTRY
191
_mesa_noop_VertexAttrib1fvNV(GLuint index, const GLfloat * v)
192
{
193
}
194
 
195
static void GLAPIENTRY
196
_mesa_noop_VertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
197
{
198
}
199
 
200
static void GLAPIENTRY
201
_mesa_noop_VertexAttrib2fvNV(GLuint index, const GLfloat * v)
202
{
203
}
204
 
205
static void GLAPIENTRY
206
_mesa_noop_VertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
207
{
208
}
209
 
210
static void GLAPIENTRY
211
_mesa_noop_VertexAttrib3fvNV(GLuint index, const GLfloat * v)
212
{
213
}
214
 
215
static void GLAPIENTRY
216
_mesa_noop_VertexAttrib4fNV(GLuint index, GLfloat x,
217
                            GLfloat y, GLfloat z, GLfloat w)
218
{
219
}
220
 
221
static void GLAPIENTRY
222
_mesa_noop_VertexAttrib4fvNV(GLuint index, const GLfloat * v)
223
{
224
}
225
 
226
 
227
static void GLAPIENTRY
228
_mesa_noop_VertexAttrib1fARB(GLuint index, GLfloat x)
229
{
230
}
231
 
232
static void GLAPIENTRY
233
_mesa_noop_VertexAttrib1fvARB(GLuint index, const GLfloat * v)
234
{
235
}
236
 
237
static void GLAPIENTRY
238
_mesa_noop_VertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y)
239
{
240
}
241
 
242
static void GLAPIENTRY
243
_mesa_noop_VertexAttrib2fvARB(GLuint index, const GLfloat * v)
244
{
245
}
246
 
247
static void GLAPIENTRY
248
_mesa_noop_VertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z)
249
{
250
}
251
 
252
static void GLAPIENTRY
253
_mesa_noop_VertexAttrib3fvARB(GLuint index, const GLfloat * v)
254
{
255
}
256
 
257
static void GLAPIENTRY
258
_mesa_noop_VertexAttrib4fARB(GLuint index, GLfloat x,
259
                             GLfloat y, GLfloat z, GLfloat w)
260
{
261
}
262
 
263
static void GLAPIENTRY
264
_mesa_noop_VertexAttrib4fvARB(GLuint index, const GLfloat * v)
265
{
266
}
267
 
268
static void GLAPIENTRY
269
_mesa_noop_Materialfv(GLenum face, GLenum pname, const GLfloat * params)
270
{
271
}
272
 
273
static void GLAPIENTRY
274
_mesa_noop_Vertex2fv(const GLfloat * v)
275
{
276
}
277
 
278
static void GLAPIENTRY
279
_mesa_noop_Vertex3fv(const GLfloat * v)
280
{
281
}
282
 
283
static void GLAPIENTRY
284
_mesa_noop_Vertex4fv(const GLfloat * v)
285
{
286
}
287
 
288
static void GLAPIENTRY
289
_mesa_noop_Vertex2f(GLfloat a, GLfloat b)
290
{
291
}
292
 
293
static void GLAPIENTRY
294
_mesa_noop_Vertex3f(GLfloat a, GLfloat b, GLfloat c)
295
{
296
}
297
 
298
static void GLAPIENTRY
299
_mesa_noop_Vertex4f(GLfloat a, GLfloat b, GLfloat c, GLfloat d)
300
{
301
}
302
 
303
static void GLAPIENTRY
304
_mesa_noop_EvalCoord1f(GLfloat a)
305
{
306
}
307
 
308
static void GLAPIENTRY
309
_mesa_noop_EvalCoord1fv(const GLfloat * v)
310
{
311
}
312
 
313
static void GLAPIENTRY
314
_mesa_noop_EvalCoord2f(GLfloat a, GLfloat b)
315
{
316
}
317
 
318
static void GLAPIENTRY
319
_mesa_noop_EvalCoord2fv(const GLfloat * v)
320
{
321
}
322
 
323
static void GLAPIENTRY
324
_mesa_noop_EvalPoint1(GLint a)
325
{
326
}
327
 
328
static void GLAPIENTRY
329
_mesa_noop_EvalPoint2(GLint a, GLint b)
330
{
331
}
332
 
333
static void GLAPIENTRY
334
_mesa_noop_ArrayElement(GLint elem)
335
{
336
}
337
 
338
 
339
static void GLAPIENTRY
340
_mesa_noop_Begin(GLenum mode)
341
{
342
}
343
 
344
static void GLAPIENTRY
345
_mesa_noop_End(void)
346
{
347
}
348
 
349
static void GLAPIENTRY
350
_mesa_noop_PrimitiveRestartNV(void)
351
{
352
}
353
 
354
 
355
/**
356
 * Build a vertexformat of functions that are no-ops.
357
 * These are used in out-of-memory situations when we have no VBO
358
 * to put the vertex data into.
359
 */
360
void
361
_mesa_noop_vtxfmt_init(GLvertexformat * vfmt)
362
{
363
   vfmt->ArrayElement = _mesa_noop_ArrayElement;
364
 
365
   vfmt->Begin = _mesa_noop_Begin;
366
 
367
   vfmt->CallList = _mesa_CallList;
368
   vfmt->CallLists = _mesa_CallLists;
369
 
370
   vfmt->Color3f = _mesa_noop_Color3f;
371
   vfmt->Color3fv = _mesa_noop_Color3fv;
372
   vfmt->Color4f = _mesa_noop_Color4f;
373
   vfmt->Color4fv = _mesa_noop_Color4fv;
374
   vfmt->EdgeFlag = _mesa_noop_EdgeFlag;
375
   vfmt->End = _mesa_noop_End;
376
 
377
   vfmt->PrimitiveRestartNV = _mesa_noop_PrimitiveRestartNV;
378
 
379
   vfmt->EvalCoord1f = _mesa_noop_EvalCoord1f;
380
   vfmt->EvalCoord1fv = _mesa_noop_EvalCoord1fv;
381
   vfmt->EvalCoord2f = _mesa_noop_EvalCoord2f;
382
   vfmt->EvalCoord2fv = _mesa_noop_EvalCoord2fv;
383
   vfmt->EvalPoint1 = _mesa_noop_EvalPoint1;
384
   vfmt->EvalPoint2 = _mesa_noop_EvalPoint2;
385
 
386
   vfmt->FogCoordfEXT = _mesa_noop_FogCoordfEXT;
387
   vfmt->FogCoordfvEXT = _mesa_noop_FogCoordfvEXT;
388
   vfmt->Indexf = _mesa_noop_Indexf;
389
   vfmt->Indexfv = _mesa_noop_Indexfv;
390
   vfmt->Materialfv = _mesa_noop_Materialfv;
391
   vfmt->MultiTexCoord1fARB = _mesa_noop_MultiTexCoord1fARB;
392
   vfmt->MultiTexCoord1fvARB = _mesa_noop_MultiTexCoord1fvARB;
393
   vfmt->MultiTexCoord2fARB = _mesa_noop_MultiTexCoord2fARB;
394
   vfmt->MultiTexCoord2fvARB = _mesa_noop_MultiTexCoord2fvARB;
395
   vfmt->MultiTexCoord3fARB = _mesa_noop_MultiTexCoord3fARB;
396
   vfmt->MultiTexCoord3fvARB = _mesa_noop_MultiTexCoord3fvARB;
397
   vfmt->MultiTexCoord4fARB = _mesa_noop_MultiTexCoord4fARB;
398
   vfmt->MultiTexCoord4fvARB = _mesa_noop_MultiTexCoord4fvARB;
399
   vfmt->Normal3f = _mesa_noop_Normal3f;
400
   vfmt->Normal3fv = _mesa_noop_Normal3fv;
401
   vfmt->SecondaryColor3fEXT = _mesa_noop_SecondaryColor3fEXT;
402
   vfmt->SecondaryColor3fvEXT = _mesa_noop_SecondaryColor3fvEXT;
403
   vfmt->TexCoord1f = _mesa_noop_TexCoord1f;
404
   vfmt->TexCoord1fv = _mesa_noop_TexCoord1fv;
405
   vfmt->TexCoord2f = _mesa_noop_TexCoord2f;
406
   vfmt->TexCoord2fv = _mesa_noop_TexCoord2fv;
407
   vfmt->TexCoord3f = _mesa_noop_TexCoord3f;
408
   vfmt->TexCoord3fv = _mesa_noop_TexCoord3fv;
409
   vfmt->TexCoord4f = _mesa_noop_TexCoord4f;
410
   vfmt->TexCoord4fv = _mesa_noop_TexCoord4fv;
411
   vfmt->Vertex2f = _mesa_noop_Vertex2f;
412
   vfmt->Vertex2fv = _mesa_noop_Vertex2fv;
413
   vfmt->Vertex3f = _mesa_noop_Vertex3f;
414
   vfmt->Vertex3fv = _mesa_noop_Vertex3fv;
415
   vfmt->Vertex4f = _mesa_noop_Vertex4f;
416
   vfmt->Vertex4fv = _mesa_noop_Vertex4fv;
417
   vfmt->VertexAttrib1fNV = _mesa_noop_VertexAttrib1fNV;
418
   vfmt->VertexAttrib1fvNV = _mesa_noop_VertexAttrib1fvNV;
419
   vfmt->VertexAttrib2fNV = _mesa_noop_VertexAttrib2fNV;
420
   vfmt->VertexAttrib2fvNV = _mesa_noop_VertexAttrib2fvNV;
421
   vfmt->VertexAttrib3fNV = _mesa_noop_VertexAttrib3fNV;
422
   vfmt->VertexAttrib3fvNV = _mesa_noop_VertexAttrib3fvNV;
423
   vfmt->VertexAttrib4fNV = _mesa_noop_VertexAttrib4fNV;
424
   vfmt->VertexAttrib4fvNV = _mesa_noop_VertexAttrib4fvNV;
425
   vfmt->VertexAttrib1fARB = _mesa_noop_VertexAttrib1fARB;
426
   vfmt->VertexAttrib1fvARB = _mesa_noop_VertexAttrib1fvARB;
427
   vfmt->VertexAttrib2fARB = _mesa_noop_VertexAttrib2fARB;
428
   vfmt->VertexAttrib2fvARB = _mesa_noop_VertexAttrib2fvARB;
429
   vfmt->VertexAttrib3fARB = _mesa_noop_VertexAttrib3fARB;
430
   vfmt->VertexAttrib3fvARB = _mesa_noop_VertexAttrib3fvARB;
431
   vfmt->VertexAttrib4fARB = _mesa_noop_VertexAttrib4fARB;
432
   vfmt->VertexAttrib4fvARB = _mesa_noop_VertexAttrib4fvARB;
433
}
434
 
435
 
436
/**
437
 * Is the given dispatch table using the no-op functions?
438
 */
439
GLboolean
440
_mesa_using_noop_vtxfmt(const struct _glapi_table *dispatch)
441
{
442
   return GET_Begin((struct _glapi_table *) dispatch) == _mesa_noop_Begin;
443
}