diff options
author | marha <marha@users.sourceforge.net> | 2011-10-19 10:44:43 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-10-19 10:44:43 +0200 |
commit | 9f986778bd4393c5a9108426969d45aa7f10f334 (patch) | |
tree | 27d7bd08dac54a54a923e76dccf2b8e388be2a03 /mesalib/src/mesa/main/pbo.c | |
parent | afbd3947071a33f59dda122f1ac396442a02c128 (diff) | |
download | vcxsrv-9f986778bd4393c5a9108426969d45aa7f10f334.tar.gz vcxsrv-9f986778bd4393c5a9108426969d45aa7f10f334.tar.bz2 vcxsrv-9f986778bd4393c5a9108426969d45aa7f10f334.zip |
libX11 libXext libXft mesa libxcb mkfontscale pixman xserver
xkeyboard-config git update 19 oct 2011
Diffstat (limited to 'mesalib/src/mesa/main/pbo.c')
-rw-r--r-- | mesalib/src/mesa/main/pbo.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/pbo.c b/mesalib/src/mesa/main/pbo.c index 4e7e6f925..41ff2ff44 100644 --- a/mesalib/src/mesa/main/pbo.c +++ b/mesalib/src/mesa/main/pbo.c @@ -82,6 +82,19 @@ _mesa_validate_pbo_access(GLuint dimensions, } else { offset = ptr; sizeAddr = ((const GLubyte *) 0) + pack->BufferObj->Size; + /* The ARB_pixel_buffer_object spec says: + * "INVALID_OPERATION is generated by ColorTable, ColorSubTable, + * ConvolutionFilter2D, ConvolutionFilter1D, SeparableFilter2D, + * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, + * TexSubImage2D, TexSubImage3D, and DrawPixels if the current + * PIXEL_UNPACK_BUFFER_BINDING_ARB value is non-zero and the data + * parameter is not evenly divisible into the number of basic machine + * units needed to store in memory a datum indicated by the type + * parameter." + */ + if (type != GL_BITMAP && + ((GLintptr)offset % _mesa_sizeof_packed_type(type))) + return GL_FALSE; } if (sizeAddr == 0) |