]> git.cworth.org Git - vogl/commitdiff
- Fixing driver crash on AMD's fglrx caused by us passing down possibly bogus handles...
authorRich Geldreich <richgel99@gmail.com>
Wed, 19 Mar 2014 21:41:19 +0000 (14:41 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 1 Apr 2014 19:37:30 +0000 (12:37 -0700)
src/voglcommon/vogl_gl_replayer.cpp

index 0df3d49b2b0ff15ff54e71ece80cd7ec708ae193..2a91fe2cf2eae7efea643bc677c82853fca6b632 100644 (file)
@@ -1266,7 +1266,10 @@ GLint vogl_gl_replayer::determine_uniform_replay_location(GLuint trace_program,
 {
     VOGL_FUNC_TRACER
 
-    GLint replay_location = trace_location;
+    // Seems better to return -1 when we can't find the uniform (which can happen if the driver optimizes the program differently vs. tracing).
+    // Otherwise, we can pass an invalid handle down to the driver and this will crash AMD's fglrx.
+    //GLint replay_location = trace_location;
+    GLint replay_location = -1;
 
     glsl_program_hash_map::iterator it = get_shared_state()->m_glsl_program_hash_map.find(trace_program);
     if (it == get_shared_state()->m_glsl_program_hash_map.end())