python: Mask out PIPE_TEXTURE_USAGE_DISPLAY_TARGET usage.
As displaying surfaces directly isn't supported by the python state tracker.
This commit is contained in:
@@ -87,6 +87,10 @@ struct st_device {
|
|||||||
enum pipe_texture_target target,
|
enum pipe_texture_target target,
|
||||||
unsigned tex_usage,
|
unsigned tex_usage,
|
||||||
unsigned geom_flags ) {
|
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,
|
return $self->screen->is_format_supported( $self->screen,
|
||||||
format,
|
format,
|
||||||
target,
|
target,
|
||||||
@@ -110,6 +114,11 @@ struct st_device {
|
|||||||
unsigned tex_usage = 0
|
unsigned tex_usage = 0
|
||||||
) {
|
) {
|
||||||
struct pipe_texture templat;
|
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));
|
memset(&templat, 0, sizeof(templat));
|
||||||
templat.format = format;
|
templat.format = format;
|
||||||
templat.width0 = width;
|
templat.width0 = width;
|
||||||
@@ -118,6 +127,7 @@ struct st_device {
|
|||||||
templat.last_level = last_level;
|
templat.last_level = last_level;
|
||||||
templat.target = target;
|
templat.target = target;
|
||||||
templat.tex_usage = tex_usage;
|
templat.tex_usage = tex_usage;
|
||||||
|
|
||||||
return $self->screen->texture_create($self->screen, &templat);
|
return $self->screen->texture_create($self->screen, &templat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user