Module: Mesa
Branch: master
Commit: a25d0dc9ec66e5de932e6e154f6bef9ffa6ab653
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a25d0dc9ec66e5de932e6e154f6bef9ffa6ab653

Author: Dave Airlie <[email protected]>
Date:   Thu Sep  3 14:14:31 2009 +1000

r600: make sure the active shader bo is re-added to persistent list.

---

 src/mesa/drivers/dri/r600/r600_texstate.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c 
b/src/mesa/drivers/dri/r600/r600_texstate.c
index 237eaa8..9fb083d 100644
--- a/src/mesa/drivers/dri/r600/r600_texstate.c
+++ b/src/mesa/drivers/dri/r600/r600_texstate.c
@@ -49,6 +49,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
 #include "r700_state.h"
 #include "radeon_mipmap_tree.h"
 #include "r600_tex.h"
+#include "r700_fragprog.h"
 
 void r600UpdateTextureState(GLcontext * ctx);
 
@@ -647,6 +648,7 @@ GLboolean r600ValidateBuffers(GLcontext * ctx)
 {
        context_t *rmesa = R700_CONTEXT(ctx);
        struct radeon_renderbuffer *rrb;
+       struct radeon_bo *pbo;
        int i;
        int ret;
 
@@ -688,6 +690,12 @@ GLboolean r600ValidateBuffers(GLcontext * ctx)
                                                          RADEON_GEM_DOMAIN_GTT 
| RADEON_GEM_DOMAIN_VRAM, 0);
        }
 
+       pbo = (struct radeon_bo *)r700GetActiveFpShaderBo(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;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to