wined3d: Do not report pixel shaders if not supported.
authorStefan Dösinger <stefan@codeweavers.com>
Tue, 1 Apr 2008 14:02:10 +0000 (16:02 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 2 Apr 2008 18:07:30 +0000 (20:07 +0200)
dlls/wined3d/arb_program_shader.c

index 8868dac33b62b0dfe5f00d55b641f35c14f5063b..e372cdc01152c18a90c25be8ce147a6026599290 100644 (file)
@@ -2049,13 +2049,17 @@ static void shader_arb_get_caps(WINED3DDEVTYPE devtype, WineD3D_GL_Info *gl_info
      */
     none_shader_backend.shader_get_caps(devtype, gl_info, pCaps);
 
-    pCaps->VertexShaderVersion = WINED3DVS_VERSION(1,1);
-    TRACE_(d3d_caps)("Hardware vertex shader version 1.1 enabled (ARB_PROGRAM)\n");
-    pCaps->MaxVertexShaderConst = GL_LIMITS(vshader_constantsF);
+    if(GL_SUPPORT(ARB_VERTEX_PROGRAM)) {
+        pCaps->VertexShaderVersion = WINED3DVS_VERSION(1,1);
+        TRACE_(d3d_caps)("Hardware vertex shader version 1.1 enabled (ARB_PROGRAM)\n");
+        pCaps->MaxVertexShaderConst = GL_LIMITS(vshader_constantsF);
+    }
 
-    pCaps->PixelShaderVersion    = WINED3DPS_VERSION(1,4);
-    pCaps->PixelShader1xMaxValue = 8.0;
-    TRACE_(d3d_caps)("Hardware pixel shader version 1.4 enabled (ARB_PROGRAM)\n");
+    if(GL_SUPPORT(ARB_FRAGMENT_PROGRAM)) {
+        pCaps->PixelShaderVersion    = WINED3DPS_VERSION(1,4);
+        pCaps->PixelShader1xMaxValue = 8.0;
+        TRACE_(d3d_caps)("Hardware pixel shader version 1.4 enabled (ARB_PROGRAM)\n");
+    }
 }
 
 static void shader_arb_load_init(void) {