Added a -noglsl option to disable GLSL from the command line.

This commit is contained in:
Brecht Van Lommel 2008-10-12 18:32:26 +00:00
parent 1a92054d57
commit 84cf941c29
3 changed files with 14 additions and 3 deletions

@ -51,6 +51,7 @@ typedef struct GPUFrameBuffer GPUFrameBuffer;
struct GPUShader; struct GPUShader;
typedef struct GPUShader GPUShader; typedef struct GPUShader GPUShader;
void GPU_extensions_disable(void);
void GPU_extensions_init(void); /* call this before running any of the functions below */ void GPU_extensions_init(void); /* call this before running any of the functions below */
void GPU_extensions_exit(void); void GPU_extensions_exit(void);
int GPU_extensions_minimum_support(void); int GPU_extensions_minimum_support(void);

@ -66,11 +66,17 @@
- arb draw buffers? 2.0 core - arb draw buffers? 2.0 core
*/ */
struct GPUGlobal { static struct GPUGlobal {
GLint maxtextures; GLint maxtextures;
GLuint currentfb; GLuint currentfb;
int minimumsupport; int minimumsupport;
} GG = {1, 0, 0}; int extdisabled;
} GG = {1, 0, 0, 0};
void GPU_extensions_disable()
{
GG.extdisabled = 1;
}
void GPU_extensions_init() void GPU_extensions_init()
{ {
@ -89,7 +95,7 @@ void GPU_extensions_init()
int GPU_extensions_minimum_support() int GPU_extensions_minimum_support()
{ {
return GG.minimumsupport; return !GG.extdisabled && GG.minimumsupport;
} }
int GPU_print_error(char *str) int GPU_print_error(char *str)

@ -77,6 +77,7 @@
#include "RE_pipeline.h" #include "RE_pipeline.h"
#include "GPU_draw.h" #include "GPU_draw.h"
#include "GPU_extensions.h"
#include "playanim_ext.h" #include "playanim_ext.h"
#include "mydevice.h" #include "mydevice.h"
@ -220,6 +221,7 @@ static void print_help(void)
printf (" -d\t\tTurn debugging on\n"); printf (" -d\t\tTurn debugging on\n");
printf (" -noaudio\tDisable audio on systems that support audio\n"); printf (" -noaudio\tDisable audio on systems that support audio\n");
printf (" -nojoystick\tDisable joystick support\n"); printf (" -nojoystick\tDisable joystick support\n");
printf (" -noglsl\tDisable GLSL shading\n");
printf (" -h\t\tPrint this help text\n"); printf (" -h\t\tPrint this help text\n");
printf (" -y\t\tDisable automatic python script execution (scriptlinks, pydrivers, pyconstraints, pynodes)\n"); printf (" -y\t\tDisable automatic python script execution (scriptlinks, pydrivers, pyconstraints, pynodes)\n");
printf (" -P <filename>\tRun the given Python script (filename or Blender Text)\n"); printf (" -P <filename>\tRun the given Python script (filename or Blender Text)\n");
@ -506,6 +508,8 @@ int main(int argc, char **argv)
SYS_WriteCommandLineInt(syshandle,"nojoystick",1); SYS_WriteCommandLineInt(syshandle,"nojoystick",1);
if (G.f & G_DEBUG) printf("disabling nojoystick\n"); if (G.f & G_DEBUG) printf("disabling nojoystick\n");
} }
if (BLI_strcasecmp(argv[a], "-noglsl") == 0)
GPU_extensions_disable();
break; break;
} }
} }