diff options
author | Axel Davy <axel.davy@ens.fr> | 2015-02-19 16:35:45 +0100 |
---|---|---|
committer | Axel Davy <axel.davy@ens.fr> | 2015-04-29 08:28:11 +0200 |
commit | 4c2247ac60f426a6441f964f2204af9f8dc04dc5 (patch) | |
tree | 5344322836836db3038167a53c8bd21189d2d05c /src/gallium/state_trackers/nine/volume9.c | |
parent | e558ce98f2b01e11ff79c29efaea2877121ae04a (diff) | |
download | external_mesa3d-4c2247ac60f426a6441f964f2204af9f8dc04dc5.zip external_mesa3d-4c2247ac60f426a6441f964f2204af9f8dc04dc5.tar.gz external_mesa3d-4c2247ac60f426a6441f964f2204af9f8dc04dc5.tar.bz2 |
st/nine: Remove impossible cases with Managed textures
Copying to/from a Managed texture is forbidden.
Rendering to a Managed texture is forbidden.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
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 24d5d53..8c9f148 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); |