Details
SchroExecDomain
typedef int SchroExecDomain;
 
struct SchroMemoryDomain
struct SchroMemoryDomain {
  SchroMutex * mutex;
  unsigned int flags;
  void *(*alloc) (int size);
  void *(*alloc_2d) (int depth, int width, int height);
  void (*free) (void *ptr, int size);
  struct {
    unsigned int flags;
    void *ptr;
    int size;
    void *priv;
  } slots[SCHRO_MEMORY_DOMAIN_SLOTS];
};
 
SCHRO_EXEC_DOMAIN_CPU
#define SCHRO_EXEC_DOMAIN_CPU 0x0001
 
SCHRO_EXEC_DOMAIN_CUDA
#define SCHRO_EXEC_DOMAIN_CUDA 0x0002
 
SCHRO_EXEC_DOMAIN_OPENGL
#define SCHRO_EXEC_DOMAIN_OPENGL 0x0003
 
SCHRO_MEMORY_DOMAIN_CPU
#define SCHRO_MEMORY_DOMAIN_CPU 0x0001
 
SCHRO_MEMORY_DOMAIN_CUDA
#define SCHRO_MEMORY_DOMAIN_CUDA 0x0002
 
SCHRO_MEMORY_DOMAIN_OPENGL
#define SCHRO_MEMORY_DOMAIN_OPENGL 0x0004
 
SCHRO_MEMORY_DOMAIN_SLOTS
#define SCHRO_MEMORY_DOMAIN_SLOTS 1000
 
SCHRO_MEMORY_DOMAIN_SLOT_ALLOCATED
#define SCHRO_MEMORY_DOMAIN_SLOT_ALLOCATED 0x0001
 
SCHRO_MEMORY_DOMAIN_SLOT_IN_USE
#define SCHRO_MEMORY_DOMAIN_SLOT_IN_USE 0x0002
 
schro_memory_domain_alloc ()
void *              schro_memory_domain_alloc           (SchroMemoryDomain *domain,
                                                         int size);
 
schro_memory_domain_alloc_2d ()
void *              schro_memory_domain_alloc_2d        (SchroMemoryDomain *domain,
                                                         int depth,
                                                         int width,
                                                         int height);
 
schro_memory_domain_free ()
void                schro_memory_domain_free            (SchroMemoryDomain *domain);
 
schro_memory_domain_memfree ()
void                schro_memory_domain_memfree         (SchroMemoryDomain *domain,
                                                         void *ptr);
 
schro_memory_domain_new_cuda ()
SchroMemoryDomain * schro_memory_domain_new_cuda        (void);
 
schro_memory_domain_new_local ()
SchroMemoryDomain * schro_memory_domain_new_local       (void);