schrodomain

schrodomain

Synopsis

typedef             SchroExecDomain;
                    SchroMemoryDomain;
#define             SCHRO_EXEC_DOMAIN_CPU
#define             SCHRO_EXEC_DOMAIN_CUDA
#define             SCHRO_EXEC_DOMAIN_OPENGL
#define             SCHRO_MEMORY_DOMAIN_CPU
#define             SCHRO_MEMORY_DOMAIN_CUDA
#define             SCHRO_MEMORY_DOMAIN_OPENGL
#define             SCHRO_MEMORY_DOMAIN_SLOTS
#define             SCHRO_MEMORY_DOMAIN_SLOT_ALLOCATED
#define             SCHRO_MEMORY_DOMAIN_SLOT_IN_USE
void *              schro_memory_domain_alloc           (SchroMemoryDomain *domain,
                                                         int size);
void *              schro_memory_domain_alloc_2d        (SchroMemoryDomain *domain,
                                                         int depth,
                                                         int width,
                                                         int height);
void                schro_memory_domain_free            (SchroMemoryDomain *domain);
void                schro_memory_domain_memfree         (SchroMemoryDomain *domain,
                                                         void *ptr);
SchroMemoryDomain * schro_memory_domain_new             (void);
SchroMemoryDomain * schro_memory_domain_new_cuda        (void);
SchroMemoryDomain * schro_memory_domain_new_local       (void);

Description

Details

SchroExecDomain

typedef int SchroExecDomain;


SchroMemoryDomain

typedef struct {
  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];
} SchroMemoryDomain;


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);

domain :

size :

Returns :


schro_memory_domain_alloc_2d ()

void *              schro_memory_domain_alloc_2d        (SchroMemoryDomain *domain,
                                                         int depth,
                                                         int width,
                                                         int height);

domain :

depth :

width :

height :

Returns :


schro_memory_domain_free ()

void                schro_memory_domain_free            (SchroMemoryDomain *domain);

domain :


schro_memory_domain_memfree ()

void                schro_memory_domain_memfree         (SchroMemoryDomain *domain,
                                                         void *ptr);

domain :

ptr :


schro_memory_domain_new ()

SchroMemoryDomain * schro_memory_domain_new             (void);

Returns :


schro_memory_domain_new_cuda ()

SchroMemoryDomain * schro_memory_domain_new_cuda        (void);

Returns :


schro_memory_domain_new_local ()

SchroMemoryDomain * schro_memory_domain_new_local       (void);

Returns :