~ubuntu-branches/ubuntu/karmic/paraview/karmic

« back to all changes in this revision

Viewing changes to Utilities/IceT/src/include/GL/ice-t.h

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme
  • Date: 2008-06-15 22:04:41 UTC
  • Revision ID: james.westby@ubuntu.com-20080615220441-8us51vf6ra2umcov
Tags: upstream-3.2.2
ImportĀ upstreamĀ versionĀ 3.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- c -*- *******************************************************/
 
2
/*
 
3
 * Copyright (C) 2003 Sandia Corporation
 
4
 * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
 
5
 * license for use of this work by or on behalf of the U.S. Government.
 
6
 * Redistribution and use in source and binary forms, with or without
 
7
 * modification, are permitted provided that this Notice and any statement
 
8
 * of authorship are reproduced on all copies.
 
9
 */
 
10
 
 
11
/* $Id: ice-t.h,v 1.10 2006/07/05 14:14:35 kmorel Exp $ */
 
12
 
 
13
#ifndef _ICET_H_
 
14
#define _ICET_H_
 
15
 
 
16
#include <GL/ice-t_config.h>
 
17
 
 
18
#include <stdlib.h>
 
19
 
 
20
#ifdef __APPLE__
 
21
#  include <OpenGL/gl.h>
 
22
#else
 
23
#  include <GL/gl.h>
 
24
#endif
 
25
 
 
26
#ifdef __cplusplus
 
27
extern "C" {
 
28
#endif
 
29
#if 0
 
30
}
 
31
#endif
 
32
 
 
33
typedef int IceTContext;
 
34
 
 
35
struct IceTCommunicatorStruct;
 
36
 
 
37
typedef int IceTCommRequest;
 
38
#define ICET_COMM_REQUEST_NULL ((IceTCommRequest)-1)
 
39
 
 
40
struct IceTCommunicatorStruct {
 
41
    struct IceTCommunicatorStruct *
 
42
         (*Duplicate)(struct IceTCommunicatorStruct *self);
 
43
    void (*Destroy)(struct IceTCommunicatorStruct *self);
 
44
    void (*Send)(struct IceTCommunicatorStruct *self,
 
45
                 const void *buf, int count, GLenum datatype, int dest,
 
46
                 int tag);
 
47
    void (*Recv)(struct IceTCommunicatorStruct *self,
 
48
                 void *buf, int count, GLenum datatype, int src, int tag);
 
49
 
 
50
    void (*Sendrecv)(struct IceTCommunicatorStruct *self,
 
51
                     const void *sendbuf, int sendcount, GLenum sendtype,
 
52
                     int dest, int sendtag,
 
53
                     void *recvbuf, int recvcount, GLenum recvtype,
 
54
                     int src, int recvtag);
 
55
    void (*Allgather)(struct IceTCommunicatorStruct *self,
 
56
                      const void *sendbuf, int sendcount, int type,
 
57
                      void *recvbuf);
 
58
 
 
59
    IceTCommRequest (*Isend)(struct IceTCommunicatorStruct *self,
 
60
                             const void *buf, int count, GLenum datatype,
 
61
                             int dest, int tag);
 
62
    IceTCommRequest (*Irecv)(struct IceTCommunicatorStruct *self,
 
63
                             void *buf, int count, GLenum datatype,
 
64
                             int src, int tag);
 
65
 
 
66
    void (*Wait)(struct IceTCommunicatorStruct *self, IceTCommRequest *request);
 
67
    int  (*Waitany)(struct IceTCommunicatorStruct *self,
 
68
                    int count, IceTCommRequest *array_of_requests);
 
69
 
 
70
    int  (*Comm_size)(struct IceTCommunicatorStruct *self);
 
71
    int  (*Comm_rank)(struct IceTCommunicatorStruct *self);
 
72
    void *data;
 
73
};
 
74
 
 
75
typedef struct IceTCommunicatorStruct *IceTCommunicator;
 
76
 
 
77
ICET_EXPORT double      icetWallTime(void);
 
78
 
 
79
ICET_EXPORT IceTContext icetCreateContext(IceTCommunicator comm);
 
80
ICET_EXPORT void        icetDestroyContext(IceTContext context);
 
81
ICET_EXPORT IceTContext icetGetContext(void);
 
82
ICET_EXPORT void        icetSetContext(IceTContext context);
 
83
ICET_EXPORT void        icetCopyState(IceTContext dest, const IceTContext src);
 
84
 
 
85
typedef void (*IceTCallback)(void);
 
86
 
 
87
ICET_EXPORT void icetDrawFunc(IceTCallback func);
 
88
 
 
89
#define ICET_BOOLEAN    (GLenum)0x8000
 
90
#define ICET_BYTE       (GLenum)0x8001
 
91
#define ICET_SHORT      (GLenum)0x8002
 
92
#define ICET_INT        (GLenum)0x8003
 
93
#define ICET_FLOAT      (GLenum)0x8004
 
94
#define ICET_DOUBLE     (GLenum)0x8005
 
95
#define ICET_POINTER    (GLenum)0x8008
 
96
#define ICET_NULL       (GLenum)0x0000
 
97
 
 
98
#define ICET_FALSE      0
 
99
#define ICET_TRUE       1
 
100
 
 
101
ICET_EXPORT void icetBoundingVertices(GLint size, GLenum type, GLsizei stride,
 
102
                                      GLsizei count, const GLvoid *pointer);
 
103
ICET_EXPORT void icetBoundingBoxd(GLdouble x_min, GLdouble x_max,
 
104
                                  GLdouble y_min, GLdouble y_max,
 
105
                                  GLdouble z_min, GLdouble z_max);
 
106
ICET_EXPORT void icetBoundingBoxf(GLfloat x_min, GLfloat x_max,
 
107
                                  GLfloat y_min, GLfloat y_max,
 
108
                                  GLfloat z_min, GLfloat z_max);
 
109
 
 
110
ICET_EXPORT void icetResetTiles(void);
 
111
ICET_EXPORT int  icetAddTile(GLint x, GLint y, GLsizei width, GLsizei height,
 
112
                             int display_rank);
 
113
 
 
114
ICET_EXPORT void icetDrawFrame(void);
 
115
 
 
116
ICET_EXPORT GLubyte *icetGetColorBuffer(void);
 
117
ICET_EXPORT GLuint  *icetGetDepthBuffer(void);
 
118
 
 
119
typedef GLuint *IceTImage;
 
120
typedef struct _IceTStrategy {
 
121
    const char *name;
 
122
    GLboolean supports_ordering;
 
123
    IceTImage (*compose)(void);
 
124
} IceTStrategy;
 
125
 
 
126
ICET_STRATEGY_EXPORT extern IceTStrategy ICET_STRATEGY_DIRECT;
 
127
ICET_STRATEGY_EXPORT extern IceTStrategy ICET_STRATEGY_SERIAL;
 
128
ICET_STRATEGY_EXPORT extern IceTStrategy ICET_STRATEGY_SPLIT;
 
129
ICET_STRATEGY_EXPORT extern IceTStrategy ICET_STRATEGY_REDUCE;
 
130
ICET_STRATEGY_EXPORT extern IceTStrategy ICET_STRATEGY_VTREE;
 
131
 
 
132
ICET_EXPORT void icetStrategy(IceTStrategy strategy);
 
133
 
 
134
ICET_EXPORT const GLubyte *icetGetStrategyName(void);
 
135
 
 
136
#define ICET_COLOR_BUFFER_BIT   (GLenum)0x0100
 
137
#define ICET_DEPTH_BUFFER_BIT   (GLenum)0x0200
 
138
ICET_EXPORT void icetInputOutputBuffers(GLenum inputs, GLenum outputs);
 
139
 
 
140
ICET_EXPORT void icetCompositeOrder(const GLint *process_ranks);
 
141
 
 
142
ICET_EXPORT void icetDataReplicationGroup(GLint size, const GLint *processes);
 
143
ICET_EXPORT void icetDataReplicationGroupColor(GLint color);
 
144
 
 
145
#define ICET_DIAG_OFF           (GLenum)0x0000
 
146
#define ICET_DIAG_ERRORS        (GLenum)0x0001
 
147
#define ICET_DIAG_WARNINGS      (GLenum)0x0003
 
148
#define ICET_DIAG_DEBUG         (GLenum)0x0007
 
149
#define ICET_DIAG_ROOT_NODE     (GLenum)0x0000
 
150
#define ICET_DIAG_ALL_NODES     (GLenum)0x0100
 
151
#define ICET_DIAG_FULL          (GLenum)0xFFFF
 
152
 
 
153
ICET_EXPORT void icetDiagnostics(GLbitfield mask);
 
154
 
 
155
 
 
156
#define ICET_STATE_ENGINE_START (GLenum)0x00000000
 
157
 
 
158
#define ICET_DIAGNOSTIC_LEVEL   (ICET_STATE_ENGINE_START | (GLenum)0x0001)
 
159
#define ICET_RANK               (ICET_STATE_ENGINE_START | (GLenum)0x0002)
 
160
#define ICET_NUM_PROCESSES      (ICET_STATE_ENGINE_START | (GLenum)0x0003)
 
161
#define ICET_ABSOLUTE_FAR_DEPTH (ICET_STATE_ENGINE_START | (GLenum)0x0004)
 
162
#define ICET_BACKGROUND_COLOR   (ICET_STATE_ENGINE_START | (GLenum)0x0005)
 
163
#define ICET_BACKGROUND_COLOR_WORD (ICET_STATE_ENGINE_START | (GLenum)0x0006)
 
164
 
 
165
#define ICET_NUM_TILES          (ICET_STATE_ENGINE_START | (GLenum)0x0010)
 
166
#define ICET_TILE_VIEWPORTS     (ICET_STATE_ENGINE_START | (GLenum)0x0011)
 
167
#define ICET_GLOBAL_VIEWPORT    (ICET_STATE_ENGINE_START | (GLenum)0x0012)
 
168
#define ICET_TILE_MAX_WIDTH     (ICET_STATE_ENGINE_START | (GLenum)0x0013)
 
169
#define ICET_TILE_MAX_HEIGHT    (ICET_STATE_ENGINE_START | (GLenum)0x0014)
 
170
#define ICET_TILE_MAX_PIXELS    (ICET_STATE_ENGINE_START | (GLenum)0x0015)
 
171
#define ICET_DISPLAY_NODES      (ICET_STATE_ENGINE_START | (GLenum)0x001A)
 
172
#define ICET_TILE_DISPLAYED     (ICET_STATE_ENGINE_START | (GLenum)0x001B)
 
173
 
 
174
#define ICET_GEOMETRY_BOUNDS    (ICET_STATE_ENGINE_START | (GLenum)0x0022)
 
175
#define ICET_NUM_BOUNDING_VERTS (ICET_STATE_ENGINE_START | (GLenum)0x0023)
 
176
#define ICET_STRATEGY_NAME      (ICET_STATE_ENGINE_START | (GLenum)0x0024)
 
177
#define ICET_STRATEGY_COMPOSE   (ICET_STATE_ENGINE_START | (GLenum)0x0025)
 
178
#define ICET_INPUT_BUFFERS      (ICET_STATE_ENGINE_START | (GLenum)0x0026)
 
179
#define ICET_OUTPUT_BUFFERS     (ICET_STATE_ENGINE_START | (GLenum)0x0027)
 
180
#define ICET_COMPOSITE_ORDER    (ICET_STATE_ENGINE_START | (GLenum)0x0028)
 
181
#define ICET_PROCESS_ORDERS     (ICET_STATE_ENGINE_START | (GLenum)0x0029)
 
182
#define ICET_STRATEGY_SUPPORTS_ORDERING (ICET_STATE_ENGINE_START | (GLenum)0x002A)
 
183
#define ICET_DATA_REPLICATION_GROUP (ICET_STATE_ENGINE_START | (GLenum)0x002B)
 
184
#define ICET_DATA_REPLICATION_GROUP_SIZE (ICET_STATE_ENGINE_START | (GLenum)0x002C)
 
185
 
 
186
#define ICET_DRAW_FUNCTION      (ICET_STATE_ENGINE_START | (GLenum)0x0060)
 
187
#define ICET_READ_BUFFER        (ICET_STATE_ENGINE_START | (GLenum)0x0061)
 
188
#define ICET_COLOR_FORMAT       (ICET_STATE_ENGINE_START | (GLenum)0x0062)
 
189
#define ICET_FRAME_COUNT        (ICET_STATE_ENGINE_START | (GLenum)0x0063)
 
190
 
 
191
#define ICET_STATE_FRAME_START  (GLenum)0x00000080
 
192
 
 
193
#define ICET_IS_DRAWING_FRAME   (ICET_STATE_FRAME_START | (GLenum)0x0000)
 
194
#define ICET_PROJECTION_MATRIX  (ICET_STATE_FRAME_START | (GLenum)0x0001)
 
195
#define ICET_CONTAINED_VIEWPORT (ICET_STATE_FRAME_START | (GLenum)0x0002)
 
196
#define ICET_NEAR_DEPTH         (ICET_STATE_FRAME_START | (GLenum)0x0003)
 
197
#define ICET_FAR_DEPTH          (ICET_STATE_FRAME_START | (GLenum)0x0004)
 
198
#define ICET_NUM_CONTAINED_TILES (ICET_STATE_FRAME_START| (GLenum)0x0005)
 
199
#define ICET_CONTAINED_TILES_LIST (ICET_STATE_FRAME_START|(GLenum)0x0006)
 
200
#define ICET_CONTAINED_TILES_MASK (ICET_STATE_FRAME_START|(GLenum)0x0007)
 
201
#define ICET_ALL_CONTAINED_TILES_MASKS (ICET_STATE_FRAME_START|(GLenum)0x0008)
 
202
#define ICET_TILE_CONTRIB_COUNTS (ICET_STATE_FRAME_START| (GLenum)0x0009)
 
203
#define ICET_TOTAL_IMAGE_COUNT  (ICET_STATE_FRAME_START | (GLenum)0x000A)
 
204
 
 
205
#define ICET_RENDERED_VIEWPORT  (ICET_STATE_FRAME_START | (GLenum)0x0010)
 
206
 
 
207
#define ICET_COLOR_BUFFER       (ICET_STATE_FRAME_START | (GLenum)0x0018)
 
208
#define ICET_DEPTH_BUFFER       (ICET_STATE_FRAME_START | (GLenum)0x0019)
 
209
#define ICET_COLOR_BUFFER_VALID (ICET_STATE_FRAME_START | (GLenum)0x001A)
 
210
#define ICET_DEPTH_BUFFER_VALID (ICET_STATE_FRAME_START | (GLenum)0x001B)
 
211
 
 
212
#define ICET_STATE_TIMING_START (GLenum)0x000000C0
 
213
 
 
214
#define ICET_RENDER_TIME        (ICET_STATE_TIMING_START | (GLenum)0x0001)
 
215
#define ICET_BUFFER_READ_TIME   (ICET_STATE_TIMING_START | (GLenum)0x0002)
 
216
#define ICET_BUFFER_WRITE_TIME  (ICET_STATE_TIMING_START | (GLenum)0x0003)
 
217
#define ICET_COMPRESS_TIME      (ICET_STATE_TIMING_START | (GLenum)0x0004)
 
218
#define ICET_COMPARE_TIME       (ICET_STATE_TIMING_START | (GLenum)0x0005)
 
219
#define ICET_BLEND_TIME         ICET_COMPARE_TIME
 
220
#define ICET_COMPOSITE_TIME     (ICET_STATE_TIMING_START | (GLenum)0x0006)
 
221
#define ICET_TOTAL_DRAW_TIME    (ICET_STATE_TIMING_START | (GLenum)0x0007)
 
222
#define ICET_BYTES_SENT         (ICET_STATE_TIMING_START | (GLenum)0x0010)
 
223
 
 
224
#define ICET_STATE_ENABLE_START (GLenum)0x00000100
 
225
#define ICET_STATE_ENABLE_END   (GLenum)0x00000120
 
226
 
 
227
#define ICET_FLOATING_VIEWPORT  (ICET_STATE_ENABLE_START | (GLenum)0x0001)
 
228
#define ICET_ORDERED_COMPOSITE  (ICET_STATE_ENABLE_START | (GLenum)0x0002)
 
229
#define ICET_CORRECT_COLORED_BACKGROUND (ICET_STATE_ENABLE_START | (GLenum)0x0003)
 
230
 
 
231
#define ICET_DISPLAY            (ICET_STATE_ENABLE_START | (GLenum)0x0010)
 
232
#define ICET_DISPLAY_COLORED_BACKGROUND (ICET_STATE_ENABLE_START | (GLenum)0x0011)
 
233
#define ICET_DISPLAY_INFLATE    (ICET_STATE_ENABLE_START | (GLenum)0x0012)
 
234
#define ICET_DISPLAY_INFLATE_WITH_HARDWARE (ICET_STATE_ENABLE_START | (GLenum)0x0013)
 
235
 
 
236
#define ICET_STATE_SIZE         (GLenum)0x00000200
 
237
 
 
238
ICET_EXPORT void icetGetDoublev(GLenum pname, GLdouble *params);
 
239
ICET_EXPORT void icetGetFloatv(GLenum pname, GLfloat *params);
 
240
ICET_EXPORT void icetGetIntegerv(GLenum pname, GLint *params);
 
241
ICET_EXPORT void icetGetBooleanv(GLenum pname, GLboolean *params);
 
242
ICET_EXPORT void icetGetPointerv(GLenum pname, GLvoid **params);
 
243
 
 
244
ICET_EXPORT void icetEnable(GLenum pname);
 
245
ICET_EXPORT void icetDisable(GLenum pname);
 
246
ICET_EXPORT GLboolean icetIsEnabled(GLenum pname);
 
247
 
 
248
#define ICET_NO_ERROR           (GLenum)0x00000000
 
249
#define ICET_SANITY_CHECK_FAIL  (GLenum)0xFFFFFFFF
 
250
#define ICET_INVALID_ENUM       (GLenum)0xFFFFFFFE
 
251
#define ICET_BAD_CAST           (GLenum)0xFFFFFFFD
 
252
#define ICET_OUT_OF_MEMORY      (GLenum)0xFFFFFFFC
 
253
#define ICET_INVALID_OPERATION  (GLenum)0xFFFFFFFB
 
254
#define ICET_INVALID_VALUE      (GLenum)0xFFFFFFFA
 
255
 
 
256
ICET_EXPORT GLenum icetGetError(void);
 
257
 
 
258
#ifdef __cplusplus
 
259
}
 
260
#endif
 
261
 
 
262
#endif /* _ICET_H_ */