35 #ifndef UT_ComputeGPU_h
36 #define UT_ComputeGPU_h
93 virtual void setNumPasses(
int passes) = 0;
97 virtual void needBitOps(
bool enable) = 0;
98 virtual bool needsBitOps()
const = 0;
119 virtual void setConstant(
const char *
name,
124 bool global_var =
false) = 0;
126 virtual void * setArray(
const char *
name,
132 virtual void * setArray2D(
const char *
name,
141 virtual void * setArray(
const char *
name,
147 const void *values3 = 0,
148 const void *values4 = 0) = 0;
150 virtual void * setArray2D(
const char *
name,
157 const void *values3 = 0,
158 const void *values4 = 0) = 0;
164 virtual void setOutputArray(
const char *
name,
168 void *dest_data) = 0;
170 virtual void setOutputArray2D(
const char *
name,
175 void *dest_data) = 0;
181 int xsize,
int ysize = 1) = 0;
192 virtual void setLanguage(UT_OGLComputeLanguage lang) = 0;
194 virtual bool setProgram(
const char *
name,
196 bool auto_generate_framework =
true,
197 const char *preamble_code = 0,
198 const char *function_code = 0) = 0;
201 virtual void defineSymbol(
const char *symbol,
202 const char *
value) = 0;
218 virtual bool compute(
UT_String &errors,
bool async_read =
false) = 0;
227 virtual bool getResults() = 0;
236 virtual void * useDeferredFetch() = 0;
virtual bool hasGPUSupport()
virtual int getMaxArraySize()
virtual bool areBitOpsSupported()
virtual int getMaxArraySize2D()
virtual void cleanupState()
virtual void getGLSLComputeDir(UT_String &dir)
virtual void initStandalone(bool one_per_thread=true)
GLint GLsizei GLsizei height
virtual void cancelDeferredRead(void *key)
virtual void restoreState()
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
GLuint const GLchar * name
virtual void cleanupStandalone()
virtual bool endDeferredRead(void *key)
virtual void beginDeferredRead(void *key)
GLenum GLsizei GLsizei GLint * values
UT_ComputeGPU *(* UT_ComputeGPUCreateFunc)()
virtual bool useTextureRectangles()
GLbitfield GLuint program