summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/python/p_device.i
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-01-11 13:57:12 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-01-11 14:01:07 +0000
commitf2f16720274bc0c2d2f2858c9ebc24abc97e3f41 (patch)
tree888a876bfc6d7f0fc894da7459829eed4001d041 /src/gallium/state_trackers/python/p_device.i
parent3e8c82037fcbfe87bb7df93259e6ebb9fdfe5cec (diff)
python: Mask out PIPE_TEXTURE_USAGE_DISPLAY_TARGET usage.
As displaying surfaces directly isn't supported by the python state tracker.
Diffstat (limited to 'src/gallium/state_trackers/python/p_device.i')
-rw-r--r--src/gallium/state_trackers/python/p_device.i10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/python/p_device.i b/src/gallium/state_trackers/python/p_device.i
index 2dc995adb0..0eba488a07 100644
--- a/src/gallium/state_trackers/python/p_device.i
+++ b/src/gallium/state_trackers/python/p_device.i
@@ -87,6 +87,10 @@ struct st_device {
enum pipe_texture_target target,
unsigned tex_usage,
unsigned geom_flags ) {
+ /* We can't really display surfaces with the python statetracker so mask
+ * out that usage */
+ tex_usage &= ~PIPE_TEXTURE_USAGE_DISPLAY_TARGET;
+
return $self->screen->is_format_supported( $self->screen,
format,
target,
@@ -110,6 +114,11 @@ struct st_device {
unsigned tex_usage = 0
) {
struct pipe_texture templat;
+
+ /* We can't really display surfaces with the python statetracker so mask
+ * out that usage */
+ tex_usage &= ~PIPE_TEXTURE_USAGE_DISPLAY_TARGET;
+
memset(&templat, 0, sizeof(templat));
templat.format = format;
templat.width0 = width;
@@ -118,6 +127,7 @@ struct st_device {
templat.last_level = last_level;
templat.target = target;
templat.tex_usage = tex_usage;
+
return $self->screen->texture_create($self->screen, &templat);
}