Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Moved to SDL2.
  • Loading branch information
icculus committed Feb 21, 2014
1 parent 449a83e commit e197fcd
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 59 deletions.
31 changes: 18 additions & 13 deletions CMakeLists.txt
Expand Up @@ -94,32 +94,37 @@ ELSE(NOT RE2C)
)
ENDIF(NOT RE2C)

FIND_PACKAGE(SDL)
IF(SDL_FOUND)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
IF(APPLE)
find_library(CARBON_FRAMEWORK Carbon) # Stupid Gestalt.
ENDIF(APPLE)

find_path(SDL2_INCLUDE_DIR SDL.h PATH_SUFFIXES include/SDL2)
find_library(SDL2 NAMES SDL2 PATH_SUFFIXES lib)
IF(SDL2)
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIR})
ADD_EXECUTABLE(glcaps utils/glcaps.c)
TARGET_LINK_LIBRARIES(glcaps ${SDL_LIBRARY} ${LIBM})
TARGET_LINK_LIBRARIES(glcaps ${SDL2} ${LIBM} ${CARBON_FRAMEWORK})
ADD_EXECUTABLE(bestprofile utils/bestprofile.c)
TARGET_LINK_LIBRARIES(bestprofile mojoshader ${SDL_LIBRARY} ${LIBM})
TARGET_LINK_LIBRARIES(bestprofile mojoshader ${SDL2} ${LIBM} ${CARBON_FRAMEWORK})
ADD_EXECUTABLE(availableprofiles utils/availableprofiles.c)
TARGET_LINK_LIBRARIES(availableprofiles mojoshader ${SDL_LIBRARY} ${LIBM})
ENDIF(SDL_FOUND)
TARGET_LINK_LIBRARIES(availableprofiles mojoshader ${SDL2} ${LIBM} ${CARBON_FRAMEWORK})
ENDIF(SDL2)

ADD_EXECUTABLE(finderrors utils/finderrors.c)
TARGET_LINK_LIBRARIES(finderrors mojoshader ${SDL_LIBRARY} ${LIBM})
IF(SDL_FOUND)
TARGET_LINK_LIBRARIES(finderrors mojoshader ${SDL2} ${LIBM} ${CARBON_FRAMEWORK})
IF(SDL2)
SET_SOURCE_FILES_PROPERTIES(
utils/finderrors.c
PROPERTIES COMPILE_FLAGS "-DFINDERRORS_COMPILE_SHADERS=1"
)
ENDIF(SDL_FOUND)
ENDIF(SDL2)

ADD_EXECUTABLE(testparse utils/testparse.c)
TARGET_LINK_LIBRARIES(testparse mojoshader ${LIBM})
TARGET_LINK_LIBRARIES(testparse mojoshader ${LIBM} ${CARBON_FRAMEWORK})
ADD_EXECUTABLE(testoutput utils/testoutput.c)
TARGET_LINK_LIBRARIES(testoutput mojoshader ${LIBM})
TARGET_LINK_LIBRARIES(testoutput mojoshader ${LIBM} ${CARBON_FRAMEWORK})
ADD_EXECUTABLE(mojoshader-compiler utils/mojoshader-compiler.c)
TARGET_LINK_LIBRARIES(mojoshader-compiler mojoshader ${LIBM})
TARGET_LINK_LIBRARIES(mojoshader-compiler mojoshader ${LIBM} ${CARBON_FRAMEWORK})

# Unit tests...
ADD_CUSTOM_TARGET(
Expand Down
19 changes: 10 additions & 9 deletions utils/availableprofiles.c
Expand Up @@ -54,18 +54,19 @@ int main(int argc, char **argv)
printf("\n");
#endif

SDL_Window *sdlwindow = NULL;
if (SDL_Init(SDL_INIT_VIDEO) == -1)
fprintf(stderr, "SDL_Init(SDL_INIT_VIDEO) error: %s\n", SDL_GetError());
fprintf(stderr, "SDL_Init() error: %s\n", SDL_GetError());
else if (SDL_GL_LoadLibrary(NULL) == -1)
fprintf(stderr, "SDL_GL_LoadLibrary() error: %s\n", SDL_GetError());
else if ((sdlwindow = SDL_CreateWindow(argv[0], SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL)) == NULL)
fprintf(stderr, "SDL_CreateWindow() error: %s\n", SDL_GetError());
else if (SDL_GL_CreateContext(sdlwindow) == NULL)
fprintf(stderr, "SDL_GL_CreateContext() 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
retval = check_available();

SDL_Quit();
return retval;
} // main

Expand Down
32 changes: 16 additions & 16 deletions utils/bestprofile.c
Expand Up @@ -28,30 +28,30 @@ int main(int argc, char **argv)
printf("\n");
#endif

SDL_Window *sdlwindow = NULL;
if (SDL_Init(SDL_INIT_VIDEO) == -1)
fprintf(stderr, "SDL_Init(SDL_INIT_VIDEO) error: %s\n", SDL_GetError());
fprintf(stderr, "SDL_Init() error: %s\n", SDL_GetError());
else if (SDL_GL_LoadLibrary(NULL) == -1)
fprintf(stderr, "SDL_GL_LoadLibrary() error: %s\n", SDL_GetError());
else if ((sdlwindow = SDL_CreateWindow(argv[0], SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL)) == NULL)
fprintf(stderr, "SDL_CreateWindow() error: %s\n", SDL_GetError());
else if (SDL_GL_CreateContext(sdlwindow) == NULL)
fprintf(stderr, "SDL_GL_CreateContext() 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());
const char *best = MOJOSHADER_glBestProfile(lookup, NULL, NULL, NULL, NULL);
MOJOSHADER_glContext *ctx = MOJOSHADER_glCreateContext(best, lookup, 0, 0, 0, 0);
if (ctx == NULL)
printf("MOJOSHADER_glCreateContext() fail: %s\n", MOJOSHADER_glGetError());
else
{
const char *best = MOJOSHADER_glBestProfile(lookup, NULL, NULL, NULL, NULL);
MOJOSHADER_glContext *ctx;
ctx = MOJOSHADER_glCreateContext(best, lookup, 0, 0, 0, 0);
if (ctx == NULL)
printf("MOJOSHADER_glCreateContext() fail: %s\n", MOJOSHADER_glGetError());
else
{
printf("%s\n", best);
retval = 0; // success.
MOJOSHADER_glDestroyContext(ctx);
} // else
printf("%s\n", best);
retval = 0; // success.
MOJOSHADER_glDestroyContext(ctx);
} // else
SDL_Quit();
} // else

SDL_Quit();
return retval;
} // main

Expand Down
47 changes: 29 additions & 18 deletions utils/finderrors.c
Expand Up @@ -18,6 +18,7 @@

#if FINDERRORS_COMPILE_SHADERS
#include "SDL.h"
static SDL_Window *sdlwindow = NULL;
static void *lookup(const char *fnname, void *unused)
{
(void) unused;
Expand Down Expand Up @@ -47,7 +48,7 @@ static int do_file(const char *profile, const char *dname, const char *fn, int *
if (e.type == SDL_QUIT)
do_quit = 1;
} // while
SDL_GL_SwapBuffers();
SDL_GL_SwapWindow(sdlwindow);
#endif

if (do_quit)
Expand Down Expand Up @@ -196,33 +197,43 @@ int main(int argc, char **argv)
printf("\n\nUSAGE: %s <profile> [dir1] ... [dirN]\n\n", argv[0]);
else
{
int okay = 0;
int total = 0;
int i;
const char *profile = argv[1];

#if FINDERRORS_COMPILE_SHADERS
SDL_Init(SDL_INIT_VIDEO);
SDL_GL_LoadLibrary(NULL);
SDL_SetVideoMode(640, 480, 0, SDL_OPENGL);
printf("Best profile is '%s'\n", MOJOSHADER_glBestProfile(lookup, 0, NULL, NULL, NULL));
MOJOSHADER_glContext *ctx;
ctx = MOJOSHADER_glCreateContext(profile, lookup, 0, 0, 0, 0);
if (ctx == NULL)
MOJOSHADER_glContext *ctx = NULL;
if (SDL_Init(SDL_INIT_VIDEO) == -1)
fprintf(stderr, "SDL_Init() error: %s\n", SDL_GetError());
else if (SDL_GL_LoadLibrary(NULL) == -1)
fprintf(stderr, "SDL_GL_LoadLibrary() error: %s\n", SDL_GetError());
else if ((sdlwindow = SDL_CreateWindow(argv[0], SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL)) == NULL)
fprintf(stderr, "SDL_CreateWindow() error: %s\n", SDL_GetError());
else if (SDL_GL_CreateContext(sdlwindow) == NULL)
fprintf(stderr, "SDL_GL_CreateContext() error: %s\n", SDL_GetError());
else if ((ctx = MOJOSHADER_glCreateContext(profile, lookup, 0, 0, 0, 0)) == NULL)
fprintf(stderr, "MOJOSHADER_glCreateContext() fail: %s\n", MOJOSHADER_glGetError());
else
{
printf("MOJOSHADER_glCreateContext() fail: %s\n", MOJOSHADER_glGetError());
SDL_Quit();
return 1;
} // if
MOJOSHADER_glMakeContextCurrent(ctx);
printf("Best profile is '%s'\n", MOJOSHADER_glBestProfile(lookup, 0, NULL, NULL, NULL));
MOJOSHADER_glMakeContextCurrent(ctx);
okay = 1;
}
#else
okay = 1;
#endif

for (i = 2; i < argc; i++)
total += do_dir(argv[i], profile);

printf("Saw %d files.\n", total);
if (okay)
{
for (i = 2; i < argc; i++)
total += do_dir(argv[i], profile);
printf("Saw %d files.\n", total);
} // if

#if FINDERRORS_COMPILE_SHADERS
MOJOSHADER_glDestroyContext(ctx);
if (ctx)
MOJOSHADER_glDestroyContext(ctx);
SDL_Quit();
#endif
} // else
Expand Down
21 changes: 18 additions & 3 deletions utils/glcaps.c
Expand Up @@ -32,12 +32,27 @@ typedef WINGDIAPI const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);

int main(int argc, char **argv)
{
int retval = 1;
GLint val = 0;
const char *str = NULL;
SDL_Window *sdlwindow = NULL;

if (SDL_Init(SDL_INIT_VIDEO) == -1)
fprintf(stderr, "SDL_Init() error: %s\n", SDL_GetError());
else if (SDL_GL_LoadLibrary(NULL) == -1)
fprintf(stderr, "SDL_GL_LoadLibrary() error: %s\n", SDL_GetError());
else if ((sdlwindow = SDL_CreateWindow(argv[0], SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL)) == NULL)
fprintf(stderr, "SDL_CreateWindow() error: %s\n", SDL_GetError());
if (SDL_GL_CreateContext(sdlwindow) == NULL)
fprintf(stderr, "SDL_GL_CreateContext() error: %s\n", SDL_GetError());
else
retval = 0;

SDL_Init(SDL_INIT_VIDEO);
SDL_GL_LoadLibrary(NULL);
SDL_SetVideoMode(640, 480, 0, SDL_OPENGL);
if (retval != 0)
{
SDL_Quit();
return retval;
} // if

PFNGLGETSTRINGPROC pglGetString = (PFNGLGETSTRINGPROC) SDL_GL_GetProcAddress("glGetString");
PFNGLGETINTEGERVPROC pglGetIntegerv = (PFNGLGETINTEGERVPROC) SDL_GL_GetProcAddress("glGetIntegerv");
Expand Down

0 comments on commit e197fcd

Please sign in to comment.