summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/nine/volume9.c
diff options
context:
space:
mode:
authorAxel Davy <axel.davy@ens.fr>2015-02-19 16:35:45 +0100
committerAxel Davy <axel.davy@ens.fr>2015-04-29 08:28:11 +0200
commit4c2247ac60f426a6441f964f2204af9f8dc04dc5 (patch)
tree5344322836836db3038167a53c8bd21189d2d05c /src/gallium/state_trackers/nine/volume9.c
parente558ce98f2b01e11ff79c29efaea2877121ae04a (diff)
downloadexternal_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.c19
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);