summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-03-20 19:00:50 +0100
committerChristian König <[email protected]>2011-03-20 19:00:50 +0100
commit1a238efe424c666d730ffe91c01f49415797a7ca (patch)
tree11dc729c6c462835c45c9e95cf367e12a6403b7c /src/gallium/state_trackers
parente9b305c1002c05af0ed60715c8507c407f7febaa (diff)
[g3dvl] fix power_of_two buffer with/height handling
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/xorg/xvmc/surface.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/xorg/xvmc/surface.c b/src/gallium/state_trackers/xorg/xvmc/surface.c
index 799dac2efc8..ef7ea920673 100644
--- a/src/gallium/state_trackers/xorg/xvmc/surface.c
+++ b/src/gallium/state_trackers/xorg/xvmc/surface.c
@@ -232,8 +232,14 @@ Status XvMCCreateSurface(Display *dpy, XvMCContext *context, XvMCSurface *surfac
return BadAlloc;
}
template.last_level = 0;
- template.width0 = util_next_power_of_two(context->width);
- template.height0 = util_next_power_of_two(context->height);
+ if (vpipe->get_param(vpipe, PIPE_CAP_NPOT_TEXTURES)) {
+ template.width0 = context->width;
+ template.height0 = context->height;
+ }
+ else {
+ template.width0 = util_next_power_of_two(context->width);
+ template.height0 = util_next_power_of_two(context->height);
+ }
template.depth0 = 1;
template.array_size = 1;
template.usage = PIPE_USAGE_DEFAULT;