Demos (master): shtest: allow compiling only a VS or only a FS

Brian Paul brianp at kemper.freedesktop.org
Tue Dec 18 16:24:41 UTC 2012


Module: Demos
Branch: master
Commit: 6eef979a5488dab01088412f88374b2ea9d615cd
URL:    http://cgit.freedesktop.org/mesa/demos/commit/?id=6eef979a5488dab01088412f88374b2ea9d615cd

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Dec 18 09:24:22 2012 -0700

shtest: allow compiling only a VS or only a FS

---

 src/glsl/shtest.c |   28 +++++++++++-----------------
 1 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/src/glsl/shtest.c b/src/glsl/shtest.c
index 9923f3c..b3c02fa 100644
--- a/src/glsl/shtest.c
+++ b/src/glsl/shtest.c
@@ -580,7 +580,7 @@ ReadConfigFile(const char *filename, struct config_file *conf)
 static void
 Init(void)
 {
-   GLdouble vertTime, fragTime, linkTime;
+   GLdouble vertTime = 0.0, fragTime = 0.0, linkTime = 0.0;
    struct config_file config;
 
    memset(&config, 0, sizeof(config));
@@ -588,30 +588,24 @@ Init(void)
    if (ConfigFile)
       ReadConfigFile(ConfigFile, &config);
 
-   if (!VertShaderFile) {
-      fprintf(stderr, "Error: no vertex shader\n");
+   if (!ShadersSupported())
       exit(1);
-   }
 
-   if (!FragShaderFile) {
-      fprintf(stderr, "Error: no fragment shader\n");
-      exit(1);
+   if (VertShaderFile) {
+      printf("Read vert shader %s\n", VertShaderFile);
+      vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertShaderFile);
+      vertTime = GetShaderCompileTime();
    }
 
-   if (!ShadersSupported())
-      exit(1);
-
-   vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertShaderFile);
-   vertTime = GetShaderCompileTime();
-   fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragShaderFile);
-   fragTime = GetShaderCompileTime();
+   if (FragShaderFile) {
+      printf("Read frag shader %s\n", FragShaderFile);
+      fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragShaderFile);
+      fragTime = GetShaderCompileTime();
+   }
 
    Program = LinkShaders(vertShader, fragShader);
    linkTime = GetShaderLinkTime();
 
-   printf("Read vert shader %s\n", VertShaderFile);
-   printf("Read frag shader %s\n", FragShaderFile);
-
    printf("Time to compile vertex shader: %fs\n", vertTime);
    printf("Time to compile fragment shader: %fs\n", fragTime);
    printf("Time to link shaders: %fs\n", linkTime);




More information about the mesa-commit mailing list