From: Dave Airlie Date: Thu, 3 Sep 2009 04:14:31 +0000 (+1000) Subject: r600: make sure the active shader bo is re-added to persistent list. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a25d0dc9ec66e5de932e6e154f6bef9ffa6ab653;p=mesa.git r600: make sure the active shader bo is re-added to persistent list. --- diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index 237eaa8249b..9fb083d33ea 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;