schrodomain

schrodomain

Synopsis

typedef             SchroExecDomain;
struct              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;


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

SchroMemoryDomain * schro_memory_domain_new             (void);


schro_memory_domain_new_cuda ()

SchroMemoryDomain * schro_memory_domain_new_cuda        (void);


schro_memory_domain_new_local ()

SchroMemoryDomain * schro_memory_domain_new_local       (void);