Browse Source

Use the shader model from DisplayInformation if it is better than the Cg shader model detection.

aignacio_sf 19 years ago
parent
commit
4390cb4db4
1 changed files with 16 additions and 0 deletions
  1. 16 0
      panda/src/glstuff/glGraphicsStateGuardian_src.cxx

+ 16 - 0
panda/src/glstuff/glGraphicsStateGuardian_src.cxx

@@ -1115,6 +1115,22 @@ reset() {
     }
     }
     cg_profile_to_shader_model++;
     cg_profile_to_shader_model++;
   }
   }
+
+  // DisplayInformation may have better shader model detection
+  {
+    GraphicsPipe *pipe;
+    DisplayInformation *display_information;
+    
+    pipe = this -> get_pipe ( );
+    if (pipe) {
+      display_information = pipe -> get_display_information ( );
+      if (display_information) {
+        if (display_information -> get_shader_model ( ) > _shader_model) {
+          _shader_model = display_information -> get_shader_model ( );
+        }
+      }
+    }
+  }  
   _auto_detect_shader_model = _shader_model;
   _auto_detect_shader_model = _shader_model;
 
 
   CGprofile vertex_profile;
   CGprofile vertex_profile;