Index: shader.c
===================================================================
--- shader.c	(revision 420)
+++ shader.c	(revision 421)
@@ -60,6 +60,10 @@
 {
 char log[4096];
 int len;
+
+if(!raydium_shader_support)
+    return;
+
 glGetInfoLogARB(shader,4096,&len,log);
 raydium_log("==== Shader Log ====");
 raydium_log("%s",log);
@@ -73,6 +77,10 @@
 char *str_vert;
 char *str_frag;
 
+
+if(!raydium_shader_support)
+    return -1;
+
 if(raydium_shader_find(name)>=0)
     {
     raydium_log("shader: Error: Cannot create shader \"%s\": name already exists",name);
@@ -167,6 +175,9 @@
 {
 int ret;
 
+if(!raydium_shader_support)
+    return -1;
+
 if(!raydium_shader_isvalid(shader))
     {
     raydium_log("shader: cannot get variable: Invalid shader index or name");
@@ -184,6 +195,9 @@
 
 signed char raydium_shader_var_i(int var_id, int value)
 {
+if(!raydium_shader_support)
+    return 0;
+
 glUniform1iARB(var_id,value);
 return 1;
 }
@@ -194,6 +208,9 @@
 GLhandleARB curr;
 int sid;
 
+if(!raydium_shader_support)
+    return 0;
+
 curr=glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
 sid=raydium_shader_find(shader);
 if(sid>=0) glUseProgramObjectARB(raydium_shader_shaders[sid].prog);
@@ -204,6 +221,9 @@
 
 signed char raydium_shader_var_f(int var_id, float value)
 {
+if(!raydium_shader_support)
+    return 0;
+
 glUniform1fARB(var_id,value);
 return 1;
 }
@@ -214,6 +234,9 @@
 GLhandleARB curr;
 int sid;
 
+if(!raydium_shader_support)
+    return 0;
+
 curr=glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
 sid=raydium_shader_find(shader);
 if(sid>=0) glUseProgramObjectARB(raydium_shader_shaders[sid].prog);
@@ -224,6 +247,9 @@
 
 signed char raydium_shader_var_2f(int var_id, float value1, float value2)
 {
+if(!raydium_shader_support)
+    return 0;
+
 glUniform2fARB(var_id,value1,value2);
 return 1;
 }
@@ -234,6 +260,9 @@
 GLhandleARB curr;
 int sid;
 
+if(!raydium_shader_support)
+    return 0;
+
 curr=glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
 sid=raydium_shader_find(shader);
 if(sid>=0) glUseProgramObjectARB(raydium_shader_shaders[sid].prog);
@@ -244,6 +273,9 @@
 
 signed char raydium_shader_var_3f(int var_id, float value1, float value2, float value3)
 {
+if(!raydium_shader_support)
+    return 0;
+
 glUniform3fARB(var_id,value1,value2,value3);
 return 1;
 }
@@ -254,6 +286,9 @@
 GLhandleARB curr;
 int sid;
 
+if(!raydium_shader_support)
+    return 0;
+
 curr=glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
 sid=raydium_shader_find(shader);
 if(sid>=0) glUseProgramObjectARB(raydium_shader_shaders[sid].prog);
@@ -264,6 +299,9 @@
 
 signed char raydium_shader_var_4f(int var_id, float value1, float value2, float value3, float value4)
 {
+if(!raydium_shader_support)
+    return 0;
+
 glUniform4fARB(var_id,value1,value2,value3,value4);
 return 1;
 }
@@ -274,6 +312,9 @@
 GLhandleARB curr;
 int sid;
 
+if(!raydium_shader_support)
+    return 0;
+
 curr=glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
 sid=raydium_shader_find(shader);
 if(sid>=0) glUseProgramObjectARB(raydium_shader_shaders[sid].prog);
@@ -286,6 +327,9 @@
 // -1 = off
 signed char raydium_shader_current(int shader)
 {
+if(!raydium_shader_support)
+    return 0;
+
 if(shader==-1)
     {
     glUseProgramObjectARB(0);