diff options
Diffstat (limited to 'src/gallium/state_trackers/nine/volume9.c')
-rw-r--r-- | src/gallium/state_trackers/nine/volume9.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/src/gallium/state_trackers/nine/volume9.c b/src/gallium/state_trackers/nine/volume9.c index 24d5d53f01d..8c9f148373b 100644 --- a/src/gallium/state_trackers/nine/volume9.c +++ b/src/gallium/state_trackers/nine/volume9.c @@ -355,6 +355,8 @@ NineVolume9_CopyVolume( struct NineVolume9 *This, DBG("This=%p From=%p dstx=%u dsty=%u dstz=%u pSrcBox=%p\n", This, From, dstx, dsty, dstz, pSrcBox); + assert(This->desc.Pool != D3DPOOL_MANAGED && + From->desc.Pool != D3DPOOL_MANAGED); user_assert(This->desc.Format == From->desc.Format, D3DERR_INVALIDCALL); dst_box.x = dstx; @@ -392,20 +394,6 @@ NineVolume9_CopyVolume( struct NineVolume9 *This, dst_box.height = src_box.height; dst_box.depth = src_box.depth; - /* Don't copy to device memory of managed resources. - * We don't want to download it back again later. - */ - if (This->desc.Pool == D3DPOOL_MANAGED) - r_dst = NULL; - - /* Don't copy from stale device memory of managed resources. - * Also, don't copy between system and device if we don't have to. - */ - if (From->desc.Pool == D3DPOOL_MANAGED) { - if (!r_dst || NineVolume9_IsDirty(From)) - r_src = NULL; - } - if (r_dst && r_src) { pipe->resource_copy_region(pipe, r_dst, This->level, @@ -452,8 +440,7 @@ NineVolume9_CopyVolume( struct NineVolume9 *This, src_box.x, src_box.y, src_box.z); } - if (This->desc.Pool == D3DPOOL_DEFAULT || - This->desc.Pool == D3DPOOL_MANAGED) + if (This->desc.Pool == D3DPOOL_DEFAULT) NineVolume9_MarkContainerDirty(This); if (!r_dst && This->resource) NineVolume9_AddDirtyRegion(This, &dst_box); |