Name: mesa Version: 7.9 URL: http://www.mesa3d.org/ License: MIT and LGPL v2 Security Critical: Yes Description: This directory contains a copy of these MesaLib components: Main Mesa code src/mesa/ Device drivers src/mesa/drivers/* Ext headers include/GL/glext.h include/GL/glxext.h SGI GLU library src/glu/sgi/ The license file in this directory is derived from MesaLib/docs/license.html and MesaLib/docs/COPYING. Modifications made with initial commit: - Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.c - Added the file README.chromium (this file) Later modifications (see chromium.patch): - Added OSMesaGetProcAddress to MesaLib/src/mesa/drivers/osmesa/osmesa.def - Added #pragma optimize('', off) to: - MesaLib\src\mesa\main\histogram.c - MesaLib\src\mesa\main\image.c - MesaLib\src\mesa\main\mipmap.c - MesaLib\src\mesa\math\m_eval.c - MesaLib\src\mesa\swrast\s_texcombine.c - Deleted MesaLib/include/EGL/ - it was conflicting with angle - Also deleted MesaLib/include/GLES2/ and MesaLib/include/KHR/ for similar reasons - Deleted MesaLib/include/GLES/ and MesaLib/include/VG/ because they were unneeded - Changed these typedefs in glext.h to be the same as khrplatform.h typedef signed long int GLintptr; typedef signed long int GLsizeiptr; typedef signed long int GLintptrARB; typedef signed long int GLsizeiptrARB; - Commented out this in gl.h: #if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__) # define PRAGMA_EXPORT_SUPPORTED 1 #endif - Commented out this in osmesa.h: #if defined(__BEOS__) || defined(__QUICKDRAW__) #pragma export on #endif - Commented out this in gl.h: # define GLAPI __declspec(dllimport) - Added src/glsl/safe_strcmp.[ch] to handle NULL pointers portably. Changed several files in src/glsl/ to use this new entry point. - Added src/mesa/drivers/osmesa/empty.cpp to fix linkage of osmesa.so on Mac OS X. - Changed glcpp-parse.[cy], glcpp.h, ir_function_inlining.cpp, and ir_validate.cpp to avoid including inttypes.h on Windows. - Changed glapi_nop.c to generate custom OpenGL entry points rather than simply installing NoOpGeneric, because with __stdcall calling convention it is illegal to have a mismatch in the number of arguments passed from caller to callee. - Guarded #define PUBLIC in compiler.h to avoid warnings about macro redefinitions. - Changed querymatrix.c to understand availability of fpclassify on Linux. - Guarded all usage of EGL_Y_INVERTED_NOK with EGL_NOK_texture_from_pixmap so that it can be compiled against standard EGL 1.4 headers. - Initialized uninitialized mask variable in eglconfig.c line 245. - Fixed compiler warning about cast to pointer from integer of different size in eglapi.c line 276. Replaced void* with EGLNativeDisplayType. - Suppressed spurious compiler warning from gcc in eglCompareConfig by reorganizing the .h a little - Corrected the comparison in src/mesa/main/teximage.c line 2801 to check if width > 0 && height > 0 && depth > 0, instead of checking width > 0 && height > 0 && height > 0 . See https://bugs.freedesktop.org/show_bug.cgi?id=37648 - Suppressed (accurate) compiler warnings about return type conflicts from gl_apinop.c. http://code.google.com/p/chromium/issues/detail?id=92568 https://bugs.freedesktop.org/show_bug.cgi?id=40028 - Merged fix for https://bugs.freedesktop.org/show_bug.cgi?id=51574 (commit b1802a2115323233352da558430e109ff187b8af) - Merged the replacement of memcpy() with memmove() in SHIFT_ARRAY declared in s_span.c (commit a44d715d2b19dc2f8f48b01144cc38e4e2c5015a) - Suppressed the OOB read reported by AddressSanitizer in swizzle_for_size from ir_to_mesa.cpp https://code.google.com/p/chromium/issues/detail?id=139772 https://bugs.freedesktop.org/show_bug.cgi?id=52996 https://codereview.chromium.org/11549005/ - Suppressed the OOB read reported by AddressSanitizer in _mesa_add_parameter from prog_parameter.c http://code.google.com/p/chromium/issues/detail?id=142316 https://codereview.chromium.org/11549005/ - Fix the compile errors on Android - Added constants for GL_NVX_gpu_memory_info to glext.h - Added constants for GL_EXT_discard_framebuffer to glext.h - Disabled the IEEE float optimized UNCLAMPED_FLOAT_TO_UBYTE and CLAMPED_FLOAT_TO_UBYTE (src/mesa/main/macros.h) in chromium version of mesa. They produce slightly different results than the un-optimized versions that are used when DEBUG is defined. - Cleaned up redundant comparison in nvvertparse.c.