author | icculus |
Sat, 22 Mar 2008 00:02:49 -0400 | |
branch | trunk |
changeset 36 | 5ea7c5f6cf2d |
parent 35 | d3d2glsl.h@5749d174b537 |
child 46 | ff5a0ec44f00 |
permissions | -rw-r--r-- |
7 | 1 |
/** |
35 | 2 |
* MojoShader; generate shader programs from bytecode of compiled |
3 |
* Direct3D shaders. |
|
7 | 4 |
* |
5 |
* Please see the file LICENSE.txt in the source's root directory. |
|
6 |
* |
|
7 |
* This file written by Ryan C. Gordon. |
|
8 |
*/ |
|
9 |
||
35 | 10 |
#ifndef __INCL_MOJOSHADER_H_ |
11 |
#define __INCL_MOJOSHADER_H_ |
|
7 | 12 |
|
13 |
#ifdef __cplusplus |
|
14 |
extern "C" { |
|
15 |
#endif |
|
16 |
||
20
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
17 |
/* |
35 | 18 |
* const int compiled_against = MOJOSHADER_VERSION; |
19 |
* const int linked_against = MOJOSHADER_version(); |
|
20
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
20 |
*/ |
35 | 21 |
#define MOJOSHADER_VERSION 1 |
22 |
int MOJOSHADER_version(void); |
|
20
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
23 |
|
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
24 |
/* |
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
25 |
* These allocators work just like the C runtime's malloc() and free() |
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
26 |
* (in fact, they use malloc() and free() internally if you don't |
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
27 |
* specify your own allocator). |
bb2e8f285acc
[svn] Bunch More Work...higher level parses dest/src tokens before it goes to the
icculus
parents:
18
diff
changeset
|
28 |
*/ |
35 | 29 |
typedef void *(*MOJOSHADER_malloc)(int bytes); |
30 |
typedef void (*MOJOSHADER_free)(void *ptr); |
|
18
0dbdb2be8bf8
[svn] Bunch More Work. Cleanups, added app-supplied allocators, flexible output, etc.
icculus
parents:
14
diff
changeset
|
31 |
|
7 | 32 |
/* !!! FIXME: documentation. */ |
33 |
/* !!! FIXME: this needs to change to return a buffer of GLSL code. */ |
|
35 | 34 |
int MOJOSHADER_parse(const char *profile, const unsigned char *tokenbuf, |
35 |
const unsigned int bufsize, MOJOSHADER_malloc m, |
|
36 |
MOJOSHADER_free f); |
|
7 | 37 |
|
38 |
#ifdef __cplusplus |
|
39 |
} |
|
40 |
#endif |
|
41 |
||
42 |
#endif /* include-once blocker. */ |
|
43 |
||
35 | 44 |
/* end of mojoshader.h ... */ |
7 | 45 |