shithub: gpufs

ref: 2ea9cb1ccca882e47c316cde52302cd108310649
dir: /vm.h/

View raw version
void vmrun(u32int *ptr);
void runstack(u32int *ptr);
void retstack(void);

enum {
	BUFFER,
	SHADER,
};

// object id
vlong genshader(void);
vlong genbuffer(long size);

vlong getnumobjects(void);
vlong getobjectid(vlong num);
long getshaderlength(vlong id);
long getbufferlength(vlong id);
int getobjecttype(vlong id);

// length data written, success
int writeshader(vlong id, void *data, long n, long offset);
int writebuffer(vlong id, void *data, long n, long offset);
int compileshader(vlong id);

// length data written
int readshader(vlong id, void *data, long n, long offset);
int readbuffer(vlong id, void *data, long n, long offset);

char* getobjectinfo(vlong id);

// descriptor sets
int gendescpool(int numsets);
int allocdescset(int pool, int set, int numbindings);
int binduniform(vlong id, int pool, int set, int binding);
int bindshader(vlong id, int pool);