r600: make sure the active vertex shader bo is re-added to persistent list.
authorAlex Deucher <alexdeucher@gmail.com>
Thu, 3 Sep 2009 19:22:16 +0000 (15:22 -0400)
committerAlex Deucher <alexdeucher@gmail.com>
Thu, 3 Sep 2009 19:23:18 +0000 (15:23 -0400)
src/mesa/drivers/dri/r600/r600_texstate.c

index 9fb083d33eaa3dcdd3fb0ece380ada0dee38c5d5..49b603b65e119504d108d457e619d6879397cc32 100644 (file)
@@ -50,6 +50,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "radeon_mipmap_tree.h"
 #include "r600_tex.h"
 #include "r700_fragprog.h"
+#include "r700_vertprog.h"
 
 void r600UpdateTextureState(GLcontext * ctx);
 
@@ -696,6 +697,12 @@ GLboolean r600ValidateBuffers(GLcontext * ctx)
                                                  RADEON_GEM_DOMAIN_GTT, 0);
        }
 
+       pbo = (struct radeon_bo *)r700GetActiveVpShaderBo(ctx);
+       if (pbo) {
+               radeon_cs_space_add_persistent_bo(rmesa->radeon.cmdbuf.cs, pbo,
+                                                 RADEON_GEM_DOMAIN_GTT, 0);
+       }
+
        ret = radeon_cs_space_check_with_bo(rmesa->radeon.cmdbuf.cs, first_elem(&rmesa->radeon.dma.reserved)->bo, RADEON_GEM_DOMAIN_GTT, 0);
        if (ret)
                return GL_FALSE;