This repository was archived by the owner on Feb 2, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Compiler Interface
kusma edited this page Jul 6, 2012
·
8 revisions
The shader-compiler is located in a separate shared object, /usr/lib/libcgdrv.s
parially understood:
struct CgCtx {
/* 80 bytes large */
unsigned int unknown00;
const char *error; /* error string */
const char *log; /* compile log */
size_t unknown12; /* size of... something! The driver mallocs a buffer of this size right on return. */
void *unknown16; /* pointer (0x248 bytes) */
unsigned int unknown20; /* small int (1) */
void *unknown24; /* pointer (0x220 bytes) */
unsigned int unknown28; /* size of unknown6 */
void *unknown32; /* pointer */
unsigned int unknown36; /* NULL / 0x0*/
unsigned int unknown40; /* huge value (0x40a273d0) */
unsigned int *unknown44; /* poiner to unknown40 */
unsigned int unknown48; /* NULL / 0x0 */
unsigned int unknown52; /* NULL / 0x0 */
void *unknown56; /* pointer to 0x80 bytes buffer */
unsigned int unknown60; /* small int (3 -- this happes to be the fd of /dev/nvmap... coincidence?) */
unsigned int unknown64; /* small int (0x40) */
unsigned int unknown68; /* NULL / 0x0 */
unsigned int unknown72; /* small int (1) */
unsigned int unknown76; /* NULL / 0x0 */
}
void *CgDrv_Create(void)
int CgDrv_Compile(void *ctx, int unknown1, int shader_type, const char *str, size_t str_len, int unknown2)
unknown:
CgDrv_CleanUp
CgDrv_Delete