Mesa (master): python: Transfer only the requested tile.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Thu Mar 26 11:20:19 UTC 2009
Module: Mesa
Branch: master
Commit: f4520277e1a5113146fb99e831d515ba7f74c1f8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4520277e1a5113146fb99e831d515ba7f74c1f8
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Mar 26 10:47:25 2009 +0000
python: Transfer only the requested tile.
---
src/gallium/state_trackers/python/p_texture.i | 50 +++++++++----------------
1 files changed, 18 insertions(+), 32 deletions(-)
diff --git a/src/gallium/state_trackers/python/p_texture.i b/src/gallium/state_trackers/python/p_texture.i
index e53369c..de03f8f 100644
--- a/src/gallium/state_trackers/python/p_texture.i
+++ b/src/gallium/state_trackers/python/p_texture.i
@@ -106,11 +106,9 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_READ,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(transfer) {
- pipe_get_tile_raw(transfer, x, y, w, h, raw, stride);
+ pipe_get_tile_raw(transfer, 0, 0, w, h, raw, stride);
screen->tex_transfer_destroy(transfer);
}
}
@@ -126,11 +124,9 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_WRITE,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(transfer) {
- pipe_put_tile_raw(transfer, x, y, w, h, raw, stride);
+ pipe_put_tile_raw(transfer, 0, 0, w, h, raw, stride);
screen->tex_transfer_destroy(transfer);
}
}
@@ -146,11 +142,9 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_READ,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(transfer) {
- pipe_get_tile_rgba(transfer, x, y, w, h, rgba);
+ pipe_get_tile_rgba(transfer, 0, 0, w, h, rgba);
screen->tex_transfer_destroy(transfer);
}
}
@@ -166,11 +160,9 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_WRITE,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(transfer) {
- pipe_put_tile_rgba(transfer, x, y, w, h, rgba);
+ pipe_put_tile_rgba(transfer, 0, 0, w, h, rgba);
screen->tex_transfer_destroy(transfer);
}
}
@@ -209,12 +201,12 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_READ,
- 0, 0,
- $self->width,
- $self->height);
+ x, y + j,
+ w,
+ 1);
if(transfer) {
pipe_get_tile_rgba(transfer,
- x, y + j, w, 1,
+ 0, 0, w, 1,
rgba);
for(i = 0; i < w; ++i)
for(k = 0; k <4; ++k)
@@ -237,11 +229,9 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_READ,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(transfer) {
- pipe_get_tile_z(transfer, x, y, w, h, z);
+ pipe_get_tile_z(transfer, 0, 0, w, h, z);
screen->tex_transfer_destroy(transfer);
}
}
@@ -257,11 +247,9 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_WRITE,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(transfer) {
- pipe_put_tile_z(transfer, x, y, w, h, z);
+ pipe_put_tile_z(transfer, 0, 0, w, h, z);
screen->tex_transfer_destroy(transfer);
}
}
@@ -291,15 +279,13 @@
$self->level,
$self->zslice,
PIPE_TRANSFER_WRITE,
- 0, 0,
- $self->width,
- $self->height);
+ x, y, w, h);
if(!transfer) {
FREE(rgba2);
return ~0;
}
- pipe_get_tile_rgba(transfer, x, y, w, h, rgba2);
+ pipe_get_tile_rgba(transfer, 0, 0, w, h, rgba2);
screen->tex_transfer_destroy(transfer);
p1 = rgba;
More information about the mesa-commit
mailing list