nouveau: nv40: Use same workaround as i915 for segfault related to vbo
authorPatrice Mandin <patmandin@gmail.com>
Sat, 17 Oct 2009 18:49:18 +0000 (20:49 +0200)
committerPatrice Mandin <patmandin@gmail.com>
Sat, 17 Oct 2009 18:49:18 +0000 (20:49 +0200)
src/gallium/drivers/nv40/nv40_context.c

index 8eba6a43ef95338432b628380f57f15676c501cf..4e236712027accfc92f896f380153dea6881a93b 100644 (file)
@@ -10,7 +10,7 @@ nv40_flush(struct pipe_context *pipe, unsigned flags,
           struct pipe_fence_handle **fence)
 {
        struct nv40_context *nv40 = nv40_context(pipe);
-       
+
        if (flags & PIPE_FLUSH_TEXTURE_CACHE) {
                BEGIN_RING(curie, 0x1fd8, 1);
                OUT_RING  (2);
@@ -37,10 +37,14 @@ nv40_is_texture_referenced( struct pipe_context *pipe,
                            unsigned face, unsigned level)
 {
    /**
-    * FIXME: Optimize.
+    * FIXME: Return the correct result. We can't always return referenced
+    *        since it causes a double flush within the vbo module.
     */
-
+#if 0
    return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
+#else
+   return 0;
+#endif
 }
 
 static unsigned int
@@ -48,10 +52,14 @@ nv40_is_buffer_referenced( struct pipe_context *pipe,
                           struct pipe_buffer *buf)
 {
    /**
-    * FIXME: Optimize.
+    * FIXME: Return the correct result. We can't always return referenced
+    *        since it causes a double flush within the vbo module.
     */
-
+#if 0
    return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE;
+#else
+   return 0;
+#endif
 }
 
 struct pipe_context *
@@ -95,4 +103,3 @@ nv40_create(struct pipe_screen *pscreen, unsigned pctx_id)
 
        return &nv40->pipe;
 }
-