schrodomain

schrodomain

Functions

Types and Values

Description

Functions

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

Types and Values

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