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()
 
GLsizei const GLfloat * value
 
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
 
GLint GLint GLsizei GLint GLenum GLenum type
 
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