35 #ifndef UT_ComputeGPU_h
36 #define UT_ComputeGPU_h
90 virtual void setNumPasses(
int passes) = 0;
94 virtual void needBitOps(
bool enable) = 0;
95 virtual bool needsBitOps()
const = 0;
116 virtual void setConstant(
const char *
name,
121 bool global_var =
false) = 0;
123 virtual void * setArray(
const char *
name,
129 virtual void * setArray2D(
const char *
name,
138 virtual void * setArray(
const char *
name,
144 const void *values3 = 0,
145 const void *values4 = 0) = 0;
147 virtual void * setArray2D(
const char *
name,
154 const void *values3 = 0,
155 const void *values4 = 0) = 0;
161 virtual void setOutputArray(
const char *
name,
165 void *dest_data) = 0;
167 virtual void setOutputArray2D(
const char *
name,
172 void *dest_data) = 0;
178 int xsize,
int ysize = 1) = 0;
189 virtual void setLanguage(UT_OGLComputeLanguage lang) = 0;
191 virtual bool setProgram(
const char *
name,
193 bool auto_generate_framework =
true,
194 const char *preamble_code = 0,
195 const char *function_code = 0) = 0;
198 virtual void defineSymbol(
const char *symbol,
199 const char *
value) = 0;
215 virtual bool compute(
UT_String &errors,
bool async_read =
false) = 0;
224 virtual bool getResults() = 0;
233 virtual void * useDeferredFetch() = 0;
virtual bool hasGPUSupport()
virtual int getMaxArraySize()
virtual bool areBitOpsSupported()
virtual int getMaxArraySize2D()
virtual void cleanupState()
GLbitfield GLuint program
GLuint const GLchar * name
virtual void getGLSLComputeDir(UT_String &dir)
GLenum GLsizei GLsizei GLint * values
virtual void initStandalone(bool one_per_thread=true)
virtual void cancelDeferredRead(void *key)
GLint GLint GLsizei GLint GLenum GLenum type
virtual void restoreState()
virtual void cleanupStandalone()
GLint GLsizei GLsizei height
virtual bool endDeferredRead(void *key)
virtual void beginDeferredRead(void *key)
GLsizei const GLfloat * value
UT_ComputeGPU *(* UT_ComputeGPUCreateFunc)()
virtual bool useTextureRectangles()