Ver Fonte

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

aignacio_sf há 19 anos atrás
pai
commit
4390cb4db4
1 ficheiros alterados com 16 adições e 0 exclusões
  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++;
   }
+
+  // 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;
 
   CGprofile vertex_profile;