diff options
author | José Fonseca <[email protected]> | 2010-01-11 13:57:12 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2010-01-11 14:01:07 +0000 |
commit | f2f16720274bc0c2d2f2858c9ebc24abc97e3f41 (patch) | |
tree | 888a876bfc6d7f0fc894da7459829eed4001d041 /src/gallium/state_trackers | |
parent | 3e8c82037fcbfe87bb7df93259e6ebb9fdfe5cec (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')
-rw-r--r-- | src/gallium/state_trackers/python/p_device.i | 10 |
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 2dc995adb07..0eba488a078 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); } |