Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-10-12 22:32:26 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-10-12 22:32:26 +0400
commit84cf941c291de2c3d03f3125bc29de907d47f56c (patch)
treee30c3189632846541736dca657aaae71ba02bd23 /source
parent1a92054d574dca4b08d3c5c3023c75680adbf628 (diff)
Added a -noglsl option to disable GLSL from the command line.
Diffstat (limited to 'source')
-rw-r--r--source/blender/gpu/GPU_extensions.h1
-rw-r--r--source/blender/gpu/intern/gpu_extensions.c12
-rw-r--r--source/creator/creator.c4
3 files changed, 14 insertions, 3 deletions
diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h
index 3813fe3da8e..66b19449419 100644
--- a/source/blender/gpu/GPU_extensions.h
+++ b/source/blender/gpu/GPU_extensions.h
@@ -51,6 +51,7 @@ typedef struct GPUFrameBuffer GPUFrameBuffer;
struct 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_exit(void);
int GPU_extensions_minimum_support(void);
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index a8dc369460c..7654c67419b 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -66,11 +66,17 @@
- arb draw buffers? 2.0 core
*/
-struct GPUGlobal {
+static struct GPUGlobal {
GLint maxtextures;
GLuint currentfb;
int minimumsupport;
-} GG = {1, 0, 0};
+ int extdisabled;
+} GG = {1, 0, 0, 0};
+
+void GPU_extensions_disable()
+{
+ GG.extdisabled = 1;
+}
void GPU_extensions_init()
{
@@ -89,7 +95,7 @@ void GPU_extensions_init()
int GPU_extensions_minimum_support()
{
- return GG.minimumsupport;
+ return !GG.extdisabled && GG.minimumsupport;
}
int GPU_print_error(char *str)
diff --git a/source/creator/creator.c b/source/creator/creator.c
index ab86c46dbdd..38c37575bd1 100644
--- a/source/creator/creator.c
+++ b/source/creator/creator.c
@@ -77,6 +77,7 @@
#include "RE_pipeline.h"
#include "GPU_draw.h"
+#include "GPU_extensions.h"
#include "playanim_ext.h"
#include "mydevice.h"
@@ -220,6 +221,7 @@ static void print_help(void)
printf (" -d\t\tTurn debugging on\n");
printf (" -noaudio\tDisable audio on systems that support audio\n");
printf (" -nojoystick\tDisable joystick support\n");
+ printf (" -noglsl\tDisable GLSL shading\n");
printf (" -h\t\tPrint this help text\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");
@@ -506,6 +508,8 @@ int main(int argc, char **argv)
SYS_WriteCommandLineInt(syshandle,"nojoystick",1);
if (G.f & G_DEBUG) printf("disabling nojoystick\n");
}
+ if (BLI_strcasecmp(argv[a], "-noglsl") == 0)
+ GPU_extensions_disable();
break;
}
}