changeset 28074:24871084fad6

ati_hack only makes sense when PBOs are used, not with mesa_buffer.
author reimar
date Sat, 06 Dec 2008 12:13:14 +0000
parents fa17a5971df6
children ca9badc94740
files libvo/vo_gl.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_gl.c	Sat Dec 06 06:44:54 2008 +0000
+++ b/libvo/vo_gl.c	Sat Dec 06 12:13:14 2008 +0000
@@ -177,8 +177,8 @@
     while (*texh < h)
       *texh *= 2;
   }
-  if (ati_hack) *texw = (*texw + 511) & ~511;
   if (mesa_buffer) *texw = (*texw + 63) & ~63;
+  else if (ati_hack) *texw = (*texw + 511) & ~511;
 }
 
 //! maximum size of custom fragment program
@@ -699,11 +699,11 @@
     return VO_FALSE;
   }
   if (mpi->flags & MP_IMGFLAG_READABLE) return VO_FALSE;
-  if (ati_hack) {
+  if (mesa_buffer) mpi->width = texture_width;
+  else if (ati_hack) {
     mpi->width = texture_width;
     mpi->height = texture_height;
   }
-  if (mesa_buffer) mpi->width = texture_width;
   mpi->stride[0] = mpi->width * mpi->bpp / 8;
   needed_size = mpi->stride[0] * mpi->height;
   if (mesa_buffer) {
@@ -746,7 +746,7 @@
     mpi->stride[1] = mpi->width >> 1;
     mpi->planes[2] = mpi->planes[1] + mpi->stride[1] * (mpi->height >> 1);
     mpi->stride[2] = mpi->width >> 1;
-    if (ati_hack) {
+    if (ati_hack && !mesa_buffer) {
       mpi->flags &= ~MP_IMGFLAG_COMMON_PLANE;
       if (!gl_buffer_uv[0]) GenBuffers(2, gl_buffer_uv);
       if (mpi->stride[1] * mpi->height > gl_buffersize_uv) {