37 #ifndef RE_OGLComputeGPU_h
38 #define RE_OGLComputeGPU_h
48 class re_GPUInputArray;
49 class re_GPUFrameBuffer;
50 class re_GPUInputArrayProxy;
64 static void initStandalone(
bool one_per_thread);
102 bool global_var =
false)
override;
108 const void *
values)
override;
115 const void *
values)
override;
125 const void *values3 =
nullptr,
126 const void *values4 =
nullptr)
override;
135 const void *values3 =
nullptr,
136 const void *values4 =
nullptr)
override;
146 void *dest_data)
override;
153 void *dest_data)
override;
159 int xsize,
int ysize = 1)
override;
170 void setLanguage(UT_OGLComputeLanguage lang)
override;
174 bool auto_generate_framework =
true,
175 const char *preamble_code =
nullptr,
176 const char *function_code =
nullptr)
override;
180 const char *
value)
override;
226 re_ProgramRun *myProgram;
227 bool myProgramRunFlag;
264 void reset()
override;
bool needsBitOps() const override
virtual void * setArray(const char *name, UT_GPUType type, int vectorsize, int size, const void *values)=0
virtual void * setArray2D(const char *name, UT_GPUType type, int vectorsize, int width, int height, const void *values)=0
virtual bool hasGPUSupport()
virtual int getMaxArraySize()
virtual bool areBitOpsSupported()
virtual int getMaxArraySize2D()
virtual void cleanupState()
static UT_ComputeGPU * create()
virtual bool compute(UT_String &errors, bool async_read=false)=0
virtual void setConstant(const char *name, UT_GPUType type, int vectorsize, const void *value, int array_size=1, bool global_var=false)=0
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()
virtual void defineSymbol(const char *symbol, const char *value)=0
virtual void setOutputArray2D(const char *name, UT_GPUType type, int vectorsize, int width, int height, void *dest_data)=0
GLuint const GLchar * name
virtual bool setProgram(const char *name, const char *program, bool auto_generate_framework=true, const char *preamble_code=0, const char *function_code=0)=0
virtual void needBitOps(bool enable)=0
virtual void cleanupStandalone()
virtual void setNumPasses(int passes)=0
virtual void setLanguage(UT_OGLComputeLanguage lang)=0
virtual bool endDeferredRead(void *key)
virtual void setOutputArray(const char *name, UT_GPUType type, int vectorsize, int size, void *dest_data)=0
virtual void beginDeferredRead(void *key)
virtual int getDataByteSize(UT_GPUType type, int vectorsize, int xsize, int ysize=1)=0
GLenum GLsizei GLsizei GLint * values
virtual bool useTextureRectangles()
GLbitfield GLuint program
virtual bool getResults()=0
virtual void * useDeferredFetch()=0