Skip to content

Latest commit

 

History

History
67 lines (56 loc) · 1.64 KB

availableprofiles.c

File metadata and controls

67 lines (56 loc) · 1.64 KB
 
Jul 3, 2008
Jul 3, 2008
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* MojoShader; generate shader programs from bytecode of compiled
* Direct3D shaders.
*
* Please see the file LICENSE.txt in the source's root directory.
*
* This file written by Ryan C. Gordon.
*/
#include <stdio.h>
#include "mojoshader.h"
#include "SDL.h"
static int check_available(void)
{
const char **avail = NULL;
int total = MOJOSHADER_glAvailableProfiles(SDL_GL_GetProcAddress, NULL, 0);
if (total > 0)
{
avail = (const char **) alloca(sizeof (const char *) * total);
total = MOJOSHADER_glAvailableProfiles(SDL_GL_GetProcAddress, avail, total);
} // if
if (total <= 0)
fprintf(stderr, "No profiles available.\n");
else
{
int i;
for (i = 0; i < total; i++)
Nov 8, 2008
Nov 8, 2008
30
31
32
33
{
printf("%s (Shader Model %d)\n", avail[i],
MOJOSHADER_maxShaderModel(avail[i]));
} // for
Jul 3, 2008
Jul 3, 2008
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
} // else
return 0;
} // check_available
int main(int argc, char **argv)
{
int retval = 1;
#if 0
printf("MojoShader availableprofile\n");
printf("Compiled against version %d\n", MOJOSHADER_VERSION);
printf("Linked against version %d\n", MOJOSHADER_version());
printf("\n");
#endif
if (SDL_Init(SDL_INIT_VIDEO) == -1)
fprintf(stderr, "SDL_Init(SDL_INIT_VIDEO) error: %s\n", SDL_GetError());
else
{
SDL_GL_LoadLibrary(NULL);
if (SDL_SetVideoMode(640, 480, 0, SDL_OPENGL) == NULL)
fprintf(stderr, "SDL_SetVideoMode() error: %s\n", SDL_GetError());
else
retval = check_available();
SDL_Quit();
} // else
return retval;
} // main
// end of availableprofiles.c ...