[g3dvl] fix power_of_two buffer with/height handling
authorChristian König <deathsimple@vodafone.de>
Sun, 20 Mar 2011 18:00:50 +0000 (19:00 +0100)
committerChristian König <deathsimple@vodafone.de>
Sun, 20 Mar 2011 18:00:50 +0000 (19:00 +0100)
src/gallium/state_trackers/xorg/xvmc/surface.c

index 799dac2efc8462abe9438abc98416671747bf1ce..ef7ea92067349c77ae61df4f957389b7b3c152de 100644 (file)
@@ -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;