summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_miptree.c
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-08-03 21:32:42 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-08-21 20:42:14 +0200
commit23639dc046435716042b68359ac6208d99be82f4 (patch)
treef1c7b2a4cf779da67682ccf99f30d2dc75716f80 /src/gallium/drivers/nvfx/nvfx_miptree.c
parented2930e7e2c064458da33089cff902574008bf30 (diff)
nvfx: new 2D: rewrite transfer code to use staging transfers
This greatly simplifies the code, and avoids ad-hoc copy code. Also, these new transfers work for buffers too, even though they are still used for miptrees only.
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_miptree.c')
-rw-r--r--src/gallium/drivers/nvfx/nvfx_miptree.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_miptree.c b/src/gallium/drivers/nvfx/nvfx_miptree.c
index 0b08f88884..27bfa24b28 100644
--- a/src/gallium/drivers/nvfx/nvfx_miptree.c
+++ b/src/gallium/drivers/nvfx/nvfx_miptree.c
@@ -4,6 +4,7 @@
#include "util/u_format.h"
#include "util/u_memory.h"
#include "util/u_math.h"
+#include "util/u_staging.h"
#include "state_tracker/drm_driver.h"
#include "nouveau/nouveau_winsys.h"
#include "nouveau/nouveau_screen.h"
@@ -142,11 +143,11 @@ struct u_resource_vtbl nvfx_miptree_vtbl =
nvfx_miptree_get_handle, /* get_handle */
nvfx_miptree_destroy, /* resource_destroy */
NULL, /* is_resource_referenced */
- nvfx_miptree_transfer_new, /* get_transfer */
- nvfx_miptree_transfer_del, /* transfer_destroy */
- nvfx_miptree_transfer_map, /* transfer_map */
+ nvfx_transfer_new, /* get_transfer */
+ util_staging_transfer_destroy, /* transfer_destroy */
+ nvfx_transfer_map, /* transfer_map */
u_default_transfer_flush_region, /* transfer_flush_region */
- nvfx_miptree_transfer_unmap, /* transfer_unmap */
+ nvfx_transfer_unmap, /* transfer_unmap */
u_default_transfer_inline_write /* transfer_inline_write */
};