diff options
author | dpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-21 19:09:27 +0000 |
---|---|---|
committer | dpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-21 19:09:27 +0000 |
commit | 1a6346ea9bb24549e2eb09b5b947222803a4d84f (patch) | |
tree | 2be553f94e3c12acef4086f41e0589fc77037b8c | |
parent | 0415561b91de2da6e190a56c601feff295931157 (diff) | |
download | chromium_src-1a6346ea9bb24549e2eb09b5b947222803a4d84f.zip chromium_src-1a6346ea9bb24549e2eb09b5b947222803a4d84f.tar.gz chromium_src-1a6346ea9bb24549e2eb09b5b947222803a4d84f.tar.bz2 |
Re-land r207660 - "Upgrading Mesa to 9.0.3.""
Try again w/ gyp fix.
TBR=kbr@chromium.org, mymax@amazon.com
BUG=238755
Review URL: https://codereview.chromium.org/17115014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207892 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | cc/test/data/anti_aliasing.png | bin | 2009 -> 2011 bytes | |||
-rw-r--r-- | cc/test/data/background_filter_blur.png | bin | 1464 -> 1432 bytes | |||
-rw-r--r-- | cc/test/data/background_filter_blur_off_axis.png | bin | 7227 -> 7214 bytes | |||
-rw-r--r-- | cc/test/data/background_filter_blur_outsets.png | bin | 1767 -> 1742 bytes | |||
-rw-r--r-- | skia/skia_test_expectations.txt | 133 | ||||
-rw-r--r-- | third_party/mesa/README.chromium | 129 | ||||
-rw-r--r-- | third_party/mesa/README.txt | 15 | ||||
-rw-r--r-- | third_party/mesa/generate_git_sha1.py | 31 | ||||
-rw-r--r-- | third_party/mesa/mesa.gyp | 512 | ||||
-rw-r--r-- | third_party/mesa/mesa_gensrc.gypi | 636 | ||||
-rw-r--r-- | third_party/mesa/redirectoutput.py | 25 |
13 files changed, 1209 insertions, 275 deletions
@@ -267,3 +267,4 @@ Chaobin Zhang <zhchbin@gmail.com> Code Aurora Forum <*@codeaurora.org> Jingwei Liu <kingweiliu@gmail.com> Zheng Chuang <zhengchuangscu@gmail.com> +Myles C. Maxfield <mymax@amazon.com> @@ -255,7 +255,7 @@ deps = { "/trunk/deps/cdm@181763", "src/third_party/mesa/src": - "/trunk/deps/third_party/mesa@204346", + "/trunk/deps/third_party/mesa@207256", } diff --git a/cc/test/data/anti_aliasing.png b/cc/test/data/anti_aliasing.png Binary files differindex fae41dc..f10a219 100644 --- a/cc/test/data/anti_aliasing.png +++ b/cc/test/data/anti_aliasing.png diff --git a/cc/test/data/background_filter_blur.png b/cc/test/data/background_filter_blur.png Binary files differindex 1b376de..6a6c6f3 100644 --- a/cc/test/data/background_filter_blur.png +++ b/cc/test/data/background_filter_blur.png diff --git a/cc/test/data/background_filter_blur_off_axis.png b/cc/test/data/background_filter_blur_off_axis.png Binary files differindex a59ffa9..662d47f 100644 --- a/cc/test/data/background_filter_blur_off_axis.png +++ b/cc/test/data/background_filter_blur_off_axis.png diff --git a/cc/test/data/background_filter_blur_outsets.png b/cc/test/data/background_filter_blur_outsets.png Binary files differindex 3e77e06..1d10149 100644 --- a/cc/test/data/background_filter_blur_outsets.png +++ b/cc/test/data/background_filter_blur_outsets.png diff --git a/skia/skia_test_expectations.txt b/skia/skia_test_expectations.txt index ecca8ed..139e30c 100644 --- a/skia/skia_test_expectations.txt +++ b/skia/skia_test_expectations.txt @@ -83,4 +83,137 @@ crbug.com/250525 svg/filters/filter-clip.svg [ ImageOnlyFailure ] crbug.com/250525 svg/W3C-SVG-1.1/filters-turb-01-f.svg [ ImageOnlyFailure ] crbug.com/250525 svg/W3C-SVG-1.1/filters-turb-02-f.svg [ ImageOnlyFailure ] +# Upgrading Mesa to 9.0.3 +crbug.com/238755 compositing/3d-corners.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/color-matching/image-color-matching.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/culling/filter-occlusion-blur-large.html [ Slow Pass ImageOnlyFailure ] +crbug.com/238755 compositing/culling/filter-occlusion-blur.html [ Pass ImageOnlyFailure Slow ] +crbug.com/238755 compositing/geometry/fixed-position-transform-composited-page-scale-down.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/geometry/fixed-position-transform-composited-page-scale.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/geometry/layer-due-to-layer-children-deep.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/geometry/layer-due-to-layer-children.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/geometry/vertical-scroll-composited.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/geometry/video-fixed-scrolling.html [ Pass ImageOnlyFailure Timeout ] +crbug.com/238755 compositing/geometry/video-opacity-overlay.html [ Pass ImageOnlyFailure Slow ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-iframe-composited.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-iframe.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-1-overflow-div.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-iframe.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-2-overflow-div.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-on-promoted-overflow-div-scrolled.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-on-promoted-overflow-div.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-cancel2.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-div-boxshadow-absolute.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-div-boxshadow-fixed-nested.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-div-boxshadow-fixed.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-div-boxshadow-static.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-div-boxshadow.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-margin.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-multi-line.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-nested.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-rotated-div.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-rotated-link.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-scaled-document.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-scaledX.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-scaledY.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple-window-scroll.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/gestures/gesture-tapHighlight-simple.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/huge-layer-rotated.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/layers-inside-overflow-scroll.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/overflow/overflow-compositing-descendant.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/overflow/scroll-ancestor-update.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/perpendicular-layer-sorting.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/reflections/animation-inside-reflection.html [ Pass ImageOnlyFailure Timeout ] +crbug.com/238755 compositing/reflections/load-video-in-reflection.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/reflections/nested-reflection-anchor-point.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/reflections/transform-inside-reflection.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/scaling/tiled-layer-recursion.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/self-painting-layers.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/tiny-layer-rotated.html [ Pass ImageOnlyFailure Slow ] +crbug.com/238755 compositing/transitions/scale-transition-no-start.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/video-frame-size-change.html [ Pass ImageOnlyFailure Slow ] +crbug.com/238755 compositing/video/video-reflection.html [ Pass ImageOnlyFailure Slow ] +crbug.com/238755 compositing/visibility/visibility-image-layers.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/visibility/visibility-simple-video-layer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/custom/custom-filter-shader-cache.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/custom/effect-color-check.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/custom/effect-custom-parameters.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/custom/effect-custom.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-blur-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-brightness-clamping-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-brightness-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-combined-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-contrast-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-drop-shadow-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-reference-colorspace-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-reference-ordering-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-saturate-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-sepia-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/filter-change-repaint-composited.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/filter-change-repaint.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/filter-repaint-composited-fallback-crash.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/filter-repaint-composited-fallback.html [ Pass ImageOnlyFailure ] +crbug.com/238755 fast/canvas/webgl/css-webkit-canvas-repaint.html [ Pass ImageOnlyFailure ] +crbug.com/238755 fast/canvas/webgl/css-webkit-canvas.html [ Pass ImageOnlyFailure ] +crbug.com/238755 fast/canvas/webgl/framebuffer-object-attachment.html [ Failure ] +crbug.com/238755 fast/canvas/webgl/gl-object-get-calls.html [ Failure ] +crbug.com/238755 fast/canvas/webgl/gl-uniform-arrays.html [ Failure ] +crbug.com/238755 fast/canvas/webgl/point-size.html [ Failure ] +crbug.com/238755 fast/canvas/webgl/uniform-location.html [ Failure ] +crbug.com/238755 fast/clip/overflow-border-radius-composited.html [ Pass ImageOnlyFailure ] +crbug.com/238755 plugins/mouse-click-plugin-clears-selection.html [ Pass ImageOnlyFailure ] +crbug.com/238755 transforms/3d/general/perspective-units.html [ Pass ImageOnlyFailure ] +crbug.com/238755 transforms/3d/point-mapping/3d-point-mapping-2.html [ Pass ImageOnlyFailure ] +crbug.com/238755 transforms/3d/point-mapping/3d-point-mapping-3.html [ Pass ImageOnlyFailure ] +crbug.com/238755 transforms/3d/point-mapping/3d-point-mapping-deep.html [ Pass ImageOnlyFailure Slow ] +crbug.com/238755 transforms/3d/point-mapping/3d-point-mapping-origins.html [ Pass ImageOnlyFailure ] +crbug.com/238755 transforms/3d/point-mapping/3d-point-mapping-preserve-3d.html [ Pass ImageOnlyFailure ] +crbug.com/238755 transforms/3d/point-mapping/3d-point-mapping.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/compositedscrolling/overflow/overflow-compositing-descendant.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/compositedscrolling/overflow/scroll-ancestor-update.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/canvas-composite.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/canvas-incremental-repaint.html [ Pass ImageOnlyFailure Timeout ] +crbug.com/238755 virtual/gpu/fast/canvas/canvas-text-alignment.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/fillrect_gradient.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/image-object-in-canvas.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/css-webkit-canvas-repaint.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/css-webkit-canvas.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/framebuffer-object-attachment.html [ Failure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/gl-object-get-calls.html [ Failure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/gl-uniform-arrays.html [ Failure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/point-size.html [ Failure ] +crbug.com/238755 virtual/gpu/fast/canvas/webgl/uniform-location.html [ Failure ] +crbug.com/238755 virtual/threaded/compositing/visibility/visibility-image-layers.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/threaded/compositing/visibility/visibility-simple-video-layer.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/custom/effect-custom-combined-missing.html [ Pass ImageOnlyFailure ] +crbug.com/238755 compositing/geometry/clipping-foreground.html [ Pass ImageOnlyFailure ] +crbug.com/238755 virtual/gpu/fast/canvas/canvas-text-baseline.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-reference-composite-hw.html [ Pass ImageOnlyFailure ] +crbug.com/238755 css3/filters/effect-reference-hw.html [ Pass ImageOnlyFailure ] + # END OVERRIDES HERE (this line ensures that the file is newline-terminated) diff --git a/third_party/mesa/README.chromium b/third_party/mesa/README.chromium index b0c0495..f0931a3 100644 --- a/third_party/mesa/README.chromium +++ b/third_party/mesa/README.chromium @@ -1,128 +1,31 @@ Name: mesa -Version: 7.9 +Version: 9.0.3 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/ +This directory contains a copy of the Mesa sources with minor +modifications to work in Chromium's build infrastructure. The license file in this directory is derived from src/docs/license.html and src/docs/COPYING. -Modifications made with initial commit: -- Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.c - +Modifications made: - Added the file README.chromium (this file) -Later modifications (see chromium.patch): -- Added OSMesaGetProcAddress to src/src/mesa/drivers/osmesa/osmesa.def - -- Added #pragma optimize('', off) to: - - src\src\mesa\main\histogram.c - - src\src\mesa\main\image.c - - src\src\mesa\main\mipmap.c - - src\src\mesa\math\m_eval.c - - src\src\mesa\swrast\s_texcombine.c - -- Deleted src/include/EGL/ - it was conflicting with angle - - Also deleted src/include/GLES2/ and src/include/KHR/ for - similar reasons - - Deleted src/include/GLES/ and src/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 +- Disabled optimizations using #pragma optimize('', off) in the + following files: + - src/src/mesa/main/mipmap.c + - src/src/mesa/main/pack.c + - src/src/mesa/math/m_eval.c + - src/src/mesa/swrast/s_texcombine.c -- Added constants for GL_EXT_discard_framebuffer to glext.h +- Checked in sources normally autogenerated during Mesa's build + process under src/chromium_gensrc. -- 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. +- Modified _mesa_add_parameter to not read from uninitialized + memory -- Cleaned up redundant comparison in nvvertparse.c. +- Added typedefs for EGLNative*Type in eglplatform.h, guarded by an + __APPLE__ define diff --git a/third_party/mesa/README.txt b/third_party/mesa/README.txt new file mode 100644 index 0000000..30e4c8c --- /dev/null +++ b/third_party/mesa/README.txt @@ -0,0 +1,15 @@ +Compilation has a few phases: + +1. Generate the header and dispatch source files that have to match the GL api. + These read in a description of the GL api in the form of XML files. In + addition, generate the GLSL parser and lexer using flex and bison. These + sources are needed for step 2 +2. Compile everything in src/glsl into a library. This step uses the parser and + lexer output. +3. Compile the compiler (executable) that can create the builtin functions' + source file. Note that this step uses builtin_stubs.cpp because we haven't + generated the actual builtin functions' source file yet. +4. Invoke the compiler that we just built to create + gen/mesa/builtin_function.cpp +5. Compile the rest of mesa, using the builtins that we created in step 4. In + addition, link in all the files that we've previously compiled in step 2. diff --git a/third_party/mesa/generate_git_sha1.py b/third_party/mesa/generate_git_sha1.py new file mode 100644 index 0000000..c50e871 --- /dev/null +++ b/third_party/mesa/generate_git_sha1.py @@ -0,0 +1,31 @@ +import os +import os.path +import sys + +output = sys.argv[1] +parentdir = os.path.abspath(os.path.join(output, os.pardir)) + +#The original body of this file is generated by this bash script: +# +#touch "${DIR}/git_sha1.h.tmp" +#if test -d .git; then \ +# if which git > /dev/null; then \ +# git log -n 1 --oneline | \ +# sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \ +# > "${DIR}/git_sha1.h.tmp" ; \ +# fi \ +# fi +#if ! cmp -s "${DIR}/git_sha1.h.tmp" "${DIR}/git_sha1.h"; then \ +# mv "${DIR}/git_sha1.h.tmp" "${DIR}/git_sha1.h" ;\ +# else \ +# rm "${DIR}/git_sha1.h.tmp" ;\ +# fi +# +#However, Chromium shouldn't depend on Bash, and this preprocessor macro isn't +#neccessary in the first place + +if not os.path.isdir(parentdir): + os.makedirs(parentdir) + +with open(output, "w") as f: + pass diff --git a/third_party/mesa/mesa.gyp b/third_party/mesa/mesa.gyp index 4f13bde..63c0ecd 100644 --- a/third_party/mesa/mesa.gyp +++ b/third_party/mesa/mesa.gyp @@ -3,20 +3,73 @@ # found in the LICENSE file. { + 'variables': { + 'generated_src_dir': 'src/chromium_gensrc', + }, 'conditions': [ ['use_system_mesa==0', { 'target_defaults': { + 'defines': [ + 'MAPI_ABI_HEADER="glapi_mapi_tmp_shared.h"', + "PACKAGE_NAME=\"Mesa\"", + "PACKAGE_TARNAME=\"mesa\"", + "PACKAGE_VERSION=\"9.0.3\"", + "PACKAGE_STRING=\"Mesa\ 9.0.3\"", + "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"", + "PACKAGE_URL=\"\"", + "PACKAGE=\"mesa\"", + "VERSION=\"9.0.3\"", + "STDC_HEADERS=1", + "HAVE_SYS_TYPES_H=1", + "HAVE_SYS_STAT_H=1", + "HAVE_STDLIB_H=1", + "HAVE_STRING_H=1", + "HAVE_MEMORY_H=1", + "HAVE_STRINGS_H=1", + "HAVE_INTTYPES_H=1", + "HAVE_STDINT_H=1", + "HAVE_DLFCN_H=1", + "LT_OBJDIR=\".libs/\"", + "YYTEXT_POINTER=1", + "HAVE_LIBEXPAT=1", + "HAVE_LIBXCB_DRI2=1", + "FEATURE_GL=1", + 'MAPI_MODE_GLAPI', + #"USE_X86_64_ASM", + "IN_DRI_DRIVER", + "USE_XCB", + "GLX_INDIRECT_RENDERING", + "GLX_DIRECT_RENDERING", + "USE_EXTERNAL_DXTN_LIB=1", + "IN_DRI_DRIVER", + "HAVE_ALIAS", + "HAVE_MINCORE", + "HAVE_LIBUDEV", + ], 'conditions': [ - ['OS!="win"', { + ['OS=="android"', { 'defines': [ - # For talloc - 'HAVE_VA_COPY', + '__GLIBC__', + ], + 'cflags': [ + '-include assert.h', ], }], - ['OS!="mac"', { + ['OS=="linux"', { 'defines': [ - # For talloc - 'HAVE_STRNLEN', + '_GNU_SOURCE', + ], + }], + ['os_posix == 1', { + 'defines': [ + 'HAVE_DLOPEN', + 'HAVE_PTHREAD=1', + 'HAVE_UNISTD_H=1', + ], + }], + ['os_posix == 1 and OS != "android"', { + 'defines': [ + 'HAVE_POSIX_MEMALIGN', ], }], ['os_posix == 1 and OS != "mac" and OS != "android"', { @@ -24,10 +77,12 @@ '-fPIC', ], }], - ], - 'defines': [ - # For Mesa - 'MAPI_GLAPI_CURRENT', + ['OS=="win"', { + # Pick up emulation headers not supported by Visual Studio. + 'include_dirs': [ + 'src/include/c99', + ], + }], ], }, 'targets': [ @@ -38,17 +93,33 @@ 'include_dirs': [ 'src/include', ], + 'xcode_settings': { + 'WARNING_CFLAGS': [ + '-Wno-unknown-pragmas', + ], + }, + 'cflags': [ + '-Wno-unknown-pragmas', + ], }, }, { - 'target_name': 'mesa', + 'target_name': 'mesa_libglslcommon', 'type': 'static_library', 'include_dirs': [ - '../talloc', + 'src/src/gallium/auxiliary', + 'src/src/gallium/include', 'src/src/glsl', + 'src/src/glsl/glcpp', 'src/src/mapi', + 'src/src/mapi/glapi', 'src/src/mesa', 'src/src/mesa/main', + 'src/include', + '<(generated_src_dir)/mesa/', + '<(generated_src_dir)/mesa/main', + '<(generated_src_dir)/mesa/program', + '<(generated_src_dir)/mesa/glapi', ], 'dependencies': [ 'mesa_headers', @@ -56,22 +127,22 @@ # TODO(scottmg): http://crbug.com/143877 These should be removed if # Mesa is ever rolled and the warnings are fixed. 'msvs_disabled_warnings': [ - 4005, 4018, 4065, 4090, 4099, 4113, 4133, 4146, 4267, 4273, 4291, - 4305, 4334, 4748, + 4005, 4018, 4065, 4090, 4099, 4273, 4291, 4345, 4267, ], 'sources': [ - '../talloc/talloc.c', - 'src/src/glsl/ast.h', + '<(generated_src_dir)/mesa/main/dispatch.h', 'src/src/glsl/ast_expr.cpp', 'src/src/glsl/ast_function.cpp', 'src/src/glsl/ast_to_hir.cpp', 'src/src/glsl/ast_type.cpp', - 'src/src/glsl/builtin_function.cpp', - 'src/src/glsl/builtin_types.h', - 'src/src/glsl/builtin_variables.h', - 'src/src/glsl/glsl_lexer.cpp', - 'src/src/glsl/glsl_parser.cpp', - 'src/src/glsl/glsl_parser.h', + 'src/src/glsl/builtin_variables.cpp', + '<(generated_src_dir)/mesa/glcpp-lex.c', + '<(generated_src_dir)/mesa/glcpp-parse.c', + '<(generated_src_dir)/mesa/glcpp-parse.h', + 'src/src/glsl/glcpp/glcpp.h', + 'src/src/glsl/glcpp/pp.c', + '<(generated_src_dir)/mesa/glsl_lexer.cc', + '<(generated_src_dir)/mesa/glsl_parser.cc', 'src/src/glsl/glsl_parser_extras.cpp', 'src/src/glsl/glsl_parser_extras.h', 'src/src/glsl/glsl_symbol_table.cpp', @@ -81,37 +152,21 @@ 'src/src/glsl/hir_field_selection.cpp', 'src/src/glsl/ir.cpp', 'src/src/glsl/ir.h', - 'src/src/glsl/ir_algebraic.cpp', 'src/src/glsl/ir_basic_block.cpp', 'src/src/glsl/ir_basic_block.h', + 'src/src/glsl/ir_builder.cpp', + 'src/src/glsl/ir_builder.h', 'src/src/glsl/ir_clone.cpp', 'src/src/glsl/ir_constant_expression.cpp', - 'src/src/glsl/ir_constant_folding.cpp', - 'src/src/glsl/ir_constant_propagation.cpp', - 'src/src/glsl/ir_constant_variable.cpp', - 'src/src/glsl/ir_copy_propagation.cpp', - 'src/src/glsl/ir_dead_code.cpp', - 'src/src/glsl/ir_dead_code_local.cpp', - 'src/src/glsl/ir_dead_functions.cpp', - 'src/src/glsl/ir_div_to_mul_rcp.cpp', - 'src/src/glsl/ir_explog_to_explog2.cpp', 'src/src/glsl/ir_expression_flattening.cpp', 'src/src/glsl/ir_expression_flattening.h', 'src/src/glsl/ir_function.cpp', 'src/src/glsl/ir_function_can_inline.cpp', - 'src/src/glsl/ir_function_inlining.cpp', - 'src/src/glsl/ir_function_inlining.h', + 'src/src/glsl/ir_function_detect_recursion.cpp', 'src/src/glsl/ir_hierarchical_visitor.cpp', 'src/src/glsl/ir_hierarchical_visitor.h', 'src/src/glsl/ir_hv_accept.cpp', - 'src/src/glsl/ir_if_simplification.cpp', - 'src/src/glsl/ir_if_to_cond_assign.cpp', 'src/src/glsl/ir_import_prototypes.cpp', - 'src/src/glsl/ir_lower_jumps.cpp', - 'src/src/glsl/ir_mat_op_to_vec.cpp', - 'src/src/glsl/ir_mod_to_fract.cpp', - 'src/src/glsl/ir_noop_swizzle.cpp', - 'src/src/glsl/ir_optimization.h', 'src/src/glsl/ir_print_visitor.cpp', 'src/src/glsl/ir_print_visitor.h', 'src/src/glsl/ir_reader.cpp', @@ -119,66 +174,131 @@ 'src/src/glsl/ir_rvalue_visitor.cpp', 'src/src/glsl/ir_rvalue_visitor.h', 'src/src/glsl/ir_set_program_inouts.cpp', - 'src/src/glsl/ir_structure_splitting.cpp', - 'src/src/glsl/ir_sub_to_add_neg.cpp', - 'src/src/glsl/ir_swizzle_swizzle.cpp', - 'src/src/glsl/ir_tree_grafting.cpp', 'src/src/glsl/ir_validate.cpp', - 'src/src/glsl/ir_variable.cpp', 'src/src/glsl/ir_variable_refcount.cpp', 'src/src/glsl/ir_variable_refcount.h', - 'src/src/glsl/ir_vec_index_to_cond_assign.cpp', - 'src/src/glsl/ir_vec_index_to_swizzle.cpp', - 'src/src/glsl/ir_visitor.h', 'src/src/glsl/link_functions.cpp', + 'src/src/glsl/link_uniform_initializers.cpp', + 'src/src/glsl/link_uniforms.cpp', 'src/src/glsl/linker.cpp', 'src/src/glsl/linker.h', - 'src/src/glsl/list.h', 'src/src/glsl/loop_analysis.cpp', 'src/src/glsl/loop_analysis.h', 'src/src/glsl/loop_controls.cpp', 'src/src/glsl/loop_unroll.cpp', + 'src/src/glsl/lower_clip_distance.cpp', + 'src/src/glsl/lower_discard.cpp', + 'src/src/glsl/lower_discard_flow.cpp', + 'src/src/glsl/lower_if_to_cond_assign.cpp', + 'src/src/glsl/lower_instructions.cpp', + 'src/src/glsl/lower_jumps.cpp', + 'src/src/glsl/lower_mat_op_to_vec.cpp', 'src/src/glsl/lower_noise.cpp', + 'src/src/glsl/lower_output_reads.cpp', + 'src/src/glsl/lower_texture_projection.cpp', + 'src/src/glsl/lower_ubo_reference.cpp', 'src/src/glsl/lower_variable_index_to_cond_assign.cpp', + 'src/src/glsl/lower_vec_index_to_cond_assign.cpp', + 'src/src/glsl/lower_vec_index_to_swizzle.cpp', + 'src/src/glsl/lower_vector.cpp', + 'src/src/glsl/opt_algebraic.cpp', + 'src/src/glsl/opt_array_splitting.cpp', + 'src/src/glsl/opt_constant_folding.cpp', + 'src/src/glsl/opt_constant_propagation.cpp', + 'src/src/glsl/opt_constant_variable.cpp', + 'src/src/glsl/opt_copy_propagation.cpp', + 'src/src/glsl/opt_copy_propagation_elements.cpp', + 'src/src/glsl/opt_dead_code.cpp', + 'src/src/glsl/opt_dead_code_local.cpp', + 'src/src/glsl/opt_dead_functions.cpp', + 'src/src/glsl/opt_function_inlining.cpp', + 'src/src/glsl/opt_if_simplification.cpp', + 'src/src/glsl/opt_noop_swizzle.cpp', 'src/src/glsl/opt_redundant_jumps.cpp', + 'src/src/glsl/opt_structure_splitting.cpp', + 'src/src/glsl/opt_swizzle_swizzle.cpp', + 'src/src/glsl/opt_tree_grafting.cpp', 'src/src/glsl/program.h', + 'src/src/glsl/ralloc.c', + 'src/src/glsl/ralloc.h', 'src/src/glsl/s_expression.cpp', 'src/src/glsl/s_expression.h', - 'src/src/glsl/safe_strcmp.c', - 'src/src/glsl/safe_strcmp.h', - 'src/src/glsl/glcpp/glcpp-lex.c', - 'src/src/glsl/glcpp/glcpp-parse.c', - 'src/src/glsl/glcpp/glcpp-parse.h', - 'src/src/glsl/glcpp/pp.c', - 'src/src/mapi/glapi/glapi.h', - 'src/src/mapi/glapi/glapi_dispatch.c', - 'src/src/mapi/glapi/glapi_entrypoint.c', - 'src/src/mapi/glapi/glapi_getproc.c', - 'src/src/mapi/glapi/glapi_nop.c', - 'src/src/mapi/glapi/glapi_priv.h', - 'src/src/mapi/glapi/glapidispatch.h', - 'src/src/mapi/glapi/glapioffsets.h', - 'src/src/mapi/glapi/glapitable.h', - 'src/src/mapi/glapi/glapitemp.h', - 'src/src/mapi/glapi/glprocs.h', - 'src/src/mapi/mapi/u_compiler.h', + 'src/src/glsl/standalone_scaffolding.cpp', + 'src/src/glsl/standalone_scaffolding.h', + 'src/src/glsl/strtod.c', + 'src/src/glsl/strtod.h', + ], + 'conditions': [ + ['clang == 1', { + 'xcode_settings': { + 'WARNING_CFLAGS': [ + '-Wno-tautological-constant-out-of-range-compare', + ], + 'WARNING_CFLAGS!': [ + # Don't warn about string->bool used in asserts. + '-Wstring-conversion', + ], + }, + 'cflags': [ + '-Wno-tautological-constant-out-of-range-compare', + ], + 'cflags!': [ + '-Wstring-conversion', + ], + }], + ], + }, + { + 'target_name': 'mesa', + 'type': 'static_library', + 'include_dirs': [ + 'src/src/gallium/auxiliary', + 'src/src/gallium/include', + 'src/src/glsl', + 'src/src/glsl/glcpp', + 'src/src/mapi', + 'src/src/mapi/glapi', + 'src/src/mesa', + 'src/src/mesa/main', + '<(generated_src_dir)/mesa/', + '<(generated_src_dir)/mesa/main', + '<(generated_src_dir)/mesa/program', + '<(generated_src_dir)/mesa/glapi', + ], + 'dependencies': [ + 'mesa_headers', + 'mesa_libglslcommon', + ], + # TODO(scottmg): http://crbug.com/143877 These should be removed if + # Mesa is ever rolled and the warnings are fixed. + 'msvs_disabled_warnings': [ + 4005, 4018, 4090, 4099, 4146, 4273, 4291, 4305, 4334, 4748, 4267, + ], + 'sources': [ + '<(generated_src_dir)/mesa/builtin_function.cpp', + '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h', + 'src/src/mapi/mapi/entry.c', + 'src/src/mapi/mapi/entry.h', + 'src/src/mapi/mapi/mapi.c', + 'src/src/mapi/mapi/mapi.h', + 'src/src/mapi/mapi/mapi_glapi.c', + 'src/src/mapi/mapi/stub.c', + 'src/src/mapi/mapi/stub.h', + 'src/src/mapi/mapi/table.c', + 'src/src/mapi/mapi/table.h', 'src/src/mapi/mapi/u_current.c', 'src/src/mapi/mapi/u_current.h', 'src/src/mapi/mapi/u_execmem.c', 'src/src/mapi/mapi/u_execmem.h', - 'src/src/mapi/mapi/u_macros.h', - 'src/src/mapi/mapi/u_thread.c', - 'src/src/mapi/mapi/u_thread.h', 'src/src/mesa/main/accum.c', 'src/src/mesa/main/accum.h', 'src/src/mesa/main/api_arrayelt.c', 'src/src/mesa/main/api_arrayelt.h', 'src/src/mesa/main/api_exec.c', 'src/src/mesa/main/api_exec.h', + '<(generated_src_dir)/mesa/api_exec_es1.c', 'src/src/mesa/main/api_loopback.c', 'src/src/mesa/main/api_loopback.h', - 'src/src/mesa/main/api_noop.c', - 'src/src/mesa/main/api_noop.h', 'src/src/mesa/main/api_validate.c', 'src/src/mesa/main/api_validate.h', 'src/src/mesa/main/arbprogram.c', @@ -189,7 +309,6 @@ 'src/src/mesa/main/atifragshader.h', 'src/src/mesa/main/attrib.c', 'src/src/mesa/main/attrib.h', - 'src/src/mesa/main/bitset.h', 'src/src/mesa/main/blend.c', 'src/src/mesa/main/blend.h', 'src/src/mesa/main/bufferobj.c', @@ -200,40 +319,34 @@ 'src/src/mesa/main/clear.h', 'src/src/mesa/main/clip.c', 'src/src/mesa/main/clip.h', - 'src/src/mesa/main/colormac.h', 'src/src/mesa/main/colortab.c', 'src/src/mesa/main/colortab.h', - 'src/src/mesa/main/compiler.h', 'src/src/mesa/main/condrender.c', 'src/src/mesa/main/condrender.h', - 'src/src/mesa/main/config.h', 'src/src/mesa/main/context.c', 'src/src/mesa/main/context.h', 'src/src/mesa/main/convolve.c', 'src/src/mesa/main/convolve.h', - 'src/src/mesa/main/core.h', 'src/src/mesa/main/cpuinfo.c', 'src/src/mesa/main/cpuinfo.h', - 'src/src/mesa/main/dd.h', 'src/src/mesa/main/debug.c', 'src/src/mesa/main/debug.h', 'src/src/mesa/main/depth.c', 'src/src/mesa/main/depth.h', - 'src/src/mesa/main/depthstencil.c', - 'src/src/mesa/main/depthstencil.h', - 'src/src/mesa/main/dispatch.h', 'src/src/mesa/main/dlist.c', 'src/src/mesa/main/dlist.h', - 'src/src/mesa/main/dlopen.c', - 'src/src/mesa/main/dlopen.h', 'src/src/mesa/main/drawpix.c', 'src/src/mesa/main/drawpix.h', 'src/src/mesa/main/drawtex.c', 'src/src/mesa/main/drawtex.h', 'src/src/mesa/main/enable.c', 'src/src/mesa/main/enable.h', - 'src/src/mesa/main/enums.c', + '<(generated_src_dir)/mesa/enums.c', 'src/src/mesa/main/enums.h', + 'src/src/mesa/main/errors.c', + 'src/src/mesa/main/errors.h', + 'src/src/mesa/main/es1_conversion.c', + 'src/src/mesa/main/es1_conversion.h', 'src/src/mesa/main/eval.c', 'src/src/mesa/main/eval.h', 'src/src/mesa/main/execmem.c', @@ -243,10 +356,15 @@ 'src/src/mesa/main/fbobject.h', 'src/src/mesa/main/feedback.c', 'src/src/mesa/main/feedback.h', + 'src/src/mesa/main/ff_fragment_shader.cpp', 'src/src/mesa/main/ffvertex_prog.c', 'src/src/mesa/main/ffvertex_prog.h', 'src/src/mesa/main/fog.c', 'src/src/mesa/main/fog.h', + 'src/src/mesa/main/format_pack.c', + 'src/src/mesa/main/format_pack.h', + 'src/src/mesa/main/format_unpack.c', + 'src/src/mesa/main/format_unpack.h', 'src/src/mesa/main/formats.c', 'src/src/mesa/main/formats.h', 'src/src/mesa/main/framebuffer.c', @@ -254,7 +372,8 @@ 'src/src/mesa/main/get.c', 'src/src/mesa/main/get.h', 'src/src/mesa/main/getstring.c', - 'src/src/mesa/main/glheader.h', + 'src/src/mesa/main/glformats.c', + 'src/src/mesa/main/glformats.h', 'src/src/mesa/main/hash.c', 'src/src/mesa/main/hash.h', 'src/src/mesa/main/hint.c', @@ -269,27 +388,31 @@ 'src/src/mesa/main/light.h', 'src/src/mesa/main/lines.c', 'src/src/mesa/main/lines.h', - 'src/src/mesa/main/macros.h', 'src/src/mesa/main/matrix.c', 'src/src/mesa/main/matrix.h', - 'src/src/mesa/main/mfeatures.h', 'src/src/mesa/main/mipmap.c', 'src/src/mesa/main/mipmap.h', 'src/src/mesa/main/mm.c', 'src/src/mesa/main/mm.h', - 'src/src/mesa/main/mtypes.h', 'src/src/mesa/main/multisample.c', 'src/src/mesa/main/multisample.h', 'src/src/mesa/main/nvprogram.c', 'src/src/mesa/main/nvprogram.h', + 'src/src/mesa/main/pack.c', + 'src/src/mesa/main/pack.h', + 'src/src/mesa/main/pbo.c', + 'src/src/mesa/main/pbo.h', 'src/src/mesa/main/pixel.c', 'src/src/mesa/main/pixel.h', 'src/src/mesa/main/pixelstore.c', 'src/src/mesa/main/pixelstore.h', + 'src/src/mesa/main/pixeltransfer.c', + 'src/src/mesa/main/pixeltransfer.h', 'src/src/mesa/main/points.c', 'src/src/mesa/main/points.h', 'src/src/mesa/main/polygon.c', 'src/src/mesa/main/polygon.h', + 'src/src/mesa/main/querymatrix.c', 'src/src/mesa/main/queryobj.c', 'src/src/mesa/main/queryobj.h', 'src/src/mesa/main/rastpos.c', @@ -298,18 +421,19 @@ 'src/src/mesa/main/readpix.h', 'src/src/mesa/main/remap.c', 'src/src/mesa/main/remap.h', - 'src/src/mesa/main/remap_helper.h', 'src/src/mesa/main/renderbuffer.c', 'src/src/mesa/main/renderbuffer.h', + 'src/src/mesa/main/samplerobj.c', + 'src/src/mesa/main/samplerobj.h', 'src/src/mesa/main/scissor.c', 'src/src/mesa/main/scissor.h', + 'src/src/mesa/main/shader_query.cpp', 'src/src/mesa/main/shaderapi.c', 'src/src/mesa/main/shaderapi.h', 'src/src/mesa/main/shaderobj.c', 'src/src/mesa/main/shaderobj.h', 'src/src/mesa/main/shared.c', 'src/src/mesa/main/shared.h', - 'src/src/mesa/main/simple_list.h', 'src/src/mesa/main/state.c', 'src/src/mesa/main/state.h', 'src/src/mesa/main/stencil.c', @@ -318,17 +442,18 @@ 'src/src/mesa/main/syncobj.h', 'src/src/mesa/main/texcompress.c', 'src/src/mesa/main/texcompress.h', + 'src/src/mesa/main/texcompress_cpal.c', + 'src/src/mesa/main/texcompress_cpal.h', + 'src/src/mesa/main/texcompress_etc.c', + 'src/src/mesa/main/texcompress_etc.h', 'src/src/mesa/main/texcompress_fxt1.c', 'src/src/mesa/main/texcompress_fxt1.h', + 'src/src/mesa/main/texcompress_rgtc.c', + 'src/src/mesa/main/texcompress_rgtc.h', 'src/src/mesa/main/texcompress_s3tc.c', 'src/src/mesa/main/texcompress_s3tc.h', 'src/src/mesa/main/texenv.c', 'src/src/mesa/main/texenv.h', - 'src/src/mesa/main/texenvprogram.c', - 'src/src/mesa/main/texenvprogram.h', - 'src/src/mesa/main/texfetch.c', - 'src/src/mesa/main/texfetch.h', - 'src/src/mesa/main/texfetch_tmp.h', 'src/src/mesa/main/texformat.c', 'src/src/mesa/main/texformat.h', 'src/src/mesa/main/texgen.c', @@ -339,18 +464,19 @@ 'src/src/mesa/main/teximage.h', 'src/src/mesa/main/texobj.c', 'src/src/mesa/main/texobj.h', - 'src/src/mesa/main/texpal.c', - 'src/src/mesa/main/texpal.h', 'src/src/mesa/main/texparam.c', 'src/src/mesa/main/texparam.h', - 'src/src/mesa/main/texrender.c', - 'src/src/mesa/main/texrender.h', 'src/src/mesa/main/texstate.c', 'src/src/mesa/main/texstate.h', + 'src/src/mesa/main/texstorage.c', + 'src/src/mesa/main/texstorage.h', 'src/src/mesa/main/texstore.c', 'src/src/mesa/main/texstore.h', + 'src/src/mesa/main/texturebarrier.c', + 'src/src/mesa/main/texturebarrier.h', 'src/src/mesa/main/transformfeedback.c', 'src/src/mesa/main/transformfeedback.h', + 'src/src/mesa/main/uniform_query.cpp', 'src/src/mesa/main/uniforms.c', 'src/src/mesa/main/uniforms.h', 'src/src/mesa/main/varray.c', @@ -361,35 +487,26 @@ 'src/src/mesa/main/viewport.h', 'src/src/mesa/main/vtxfmt.c', 'src/src/mesa/main/vtxfmt.h', - 'src/src/mesa/main/vtxfmt_tmp.h', - 'src/src/mesa/math/m_clip_tmp.h', - 'src/src/mesa/math/m_copy_tmp.h', - 'src/src/mesa/math/m_debug.h', 'src/src/mesa/math/m_debug_clip.c', 'src/src/mesa/math/m_debug_norm.c', - 'src/src/mesa/math/m_debug_util.h', 'src/src/mesa/math/m_debug_xform.c', - 'src/src/mesa/math/m_dotprod_tmp.h', 'src/src/mesa/math/m_eval.c', 'src/src/mesa/math/m_eval.h', 'src/src/mesa/math/m_matrix.c', 'src/src/mesa/math/m_matrix.h', - 'src/src/mesa/math/m_norm_tmp.h', - 'src/src/mesa/math/m_trans_tmp.h', 'src/src/mesa/math/m_translate.c', 'src/src/mesa/math/m_translate.h', 'src/src/mesa/math/m_vector.c', 'src/src/mesa/math/m_vector.h', 'src/src/mesa/math/m_xform.c', 'src/src/mesa/math/m_xform.h', - 'src/src/mesa/math/m_xform_tmp.h', 'src/src/mesa/program/arbprogparse.c', 'src/src/mesa/program/arbprogparse.h', 'src/src/mesa/program/hash_table.c', 'src/src/mesa/program/hash_table.h', 'src/src/mesa/program/ir_to_mesa.cpp', 'src/src/mesa/program/ir_to_mesa.h', - 'src/src/mesa/program/lex.yy.c', + '<(generated_src_dir)/mesa/lex.yy.c', 'src/src/mesa/program/nvfragparse.c', 'src/src/mesa/program/nvfragparse.h', 'src/src/mesa/program/nvvertparse.c', @@ -402,6 +519,7 @@ 'src/src/mesa/program/prog_instruction.h', 'src/src/mesa/program/prog_noise.c', 'src/src/mesa/program/prog_noise.h', + 'src/src/mesa/program/prog_opt_constant_fold.c', 'src/src/mesa/program/prog_optimize.c', 'src/src/mesa/program/prog_optimize.h', 'src/src/mesa/program/prog_parameter.c', @@ -412,26 +530,108 @@ 'src/src/mesa/program/prog_print.h', 'src/src/mesa/program/prog_statevars.c', 'src/src/mesa/program/prog_statevars.h', - 'src/src/mesa/program/prog_uniform.c', - 'src/src/mesa/program/prog_uniform.h', 'src/src/mesa/program/program.c', 'src/src/mesa/program/program.h', - 'src/src/mesa/program/program_parse.tab.c', - 'src/src/mesa/program/program_parse.tab.h', + '<(generated_src_dir)/mesa/program/program_parse.tab.c', + '<(generated_src_dir)/mesa/program/program_parse.tab.h', 'src/src/mesa/program/program_parse_extra.c', - 'src/src/mesa/program/program_parser.h', 'src/src/mesa/program/programopt.c', 'src/src/mesa/program/programopt.h', + 'src/src/mesa/program/register_allocate.c', + 'src/src/mesa/program/register_allocate.h', + 'src/src/mesa/program/sampler.cpp', + 'src/src/mesa/program/sampler.h', + 'src/src/mesa/program/string_to_uint_map.cpp', 'src/src/mesa/program/symbol_table.c', 'src/src/mesa/program/symbol_table.h', + 'src/src/mesa/state_tracker/st_atom.c', + 'src/src/mesa/state_tracker/st_atom.h', + 'src/src/mesa/state_tracker/st_atom_array.c', + 'src/src/mesa/state_tracker/st_atom_blend.c', + 'src/src/mesa/state_tracker/st_atom_clip.c', + 'src/src/mesa/state_tracker/st_atom_constbuf.c', + 'src/src/mesa/state_tracker/st_atom_constbuf.h', + 'src/src/mesa/state_tracker/st_atom_depth.c', + 'src/src/mesa/state_tracker/st_atom_framebuffer.c', + 'src/src/mesa/state_tracker/st_atom_msaa.c', + 'src/src/mesa/state_tracker/st_atom_pixeltransfer.c', + 'src/src/mesa/state_tracker/st_atom_rasterizer.c', + 'src/src/mesa/state_tracker/st_atom_sampler.c', + 'src/src/mesa/state_tracker/st_atom_scissor.c', + 'src/src/mesa/state_tracker/st_atom_shader.c', + 'src/src/mesa/state_tracker/st_atom_shader.h', + 'src/src/mesa/state_tracker/st_atom_stipple.c', + 'src/src/mesa/state_tracker/st_atom_texture.c', + 'src/src/mesa/state_tracker/st_atom_viewport.c', + 'src/src/mesa/state_tracker/st_cb_bitmap.c', + 'src/src/mesa/state_tracker/st_cb_bitmap.h', + 'src/src/mesa/state_tracker/st_cb_blit.c', + 'src/src/mesa/state_tracker/st_cb_blit.h', + 'src/src/mesa/state_tracker/st_cb_bufferobjects.c', + 'src/src/mesa/state_tracker/st_cb_bufferobjects.h', + 'src/src/mesa/state_tracker/st_cb_clear.c', + 'src/src/mesa/state_tracker/st_cb_clear.h', + 'src/src/mesa/state_tracker/st_cb_condrender.c', + 'src/src/mesa/state_tracker/st_cb_condrender.h', + 'src/src/mesa/state_tracker/st_cb_drawpixels.c', + 'src/src/mesa/state_tracker/st_cb_drawpixels.h', + 'src/src/mesa/state_tracker/st_cb_drawtex.c', + 'src/src/mesa/state_tracker/st_cb_drawtex.h', + 'src/src/mesa/state_tracker/st_cb_eglimage.c', + 'src/src/mesa/state_tracker/st_cb_eglimage.h', + 'src/src/mesa/state_tracker/st_cb_fbo.c', + 'src/src/mesa/state_tracker/st_cb_fbo.h', + 'src/src/mesa/state_tracker/st_cb_feedback.c', + 'src/src/mesa/state_tracker/st_cb_feedback.h', + 'src/src/mesa/state_tracker/st_cb_flush.c', + 'src/src/mesa/state_tracker/st_cb_flush.h', + 'src/src/mesa/state_tracker/st_cb_program.c', + 'src/src/mesa/state_tracker/st_cb_program.h', + 'src/src/mesa/state_tracker/st_cb_queryobj.c', + 'src/src/mesa/state_tracker/st_cb_queryobj.h', + 'src/src/mesa/state_tracker/st_cb_rasterpos.c', + 'src/src/mesa/state_tracker/st_cb_rasterpos.h', + 'src/src/mesa/state_tracker/st_cb_readpixels.c', + 'src/src/mesa/state_tracker/st_cb_readpixels.h', + 'src/src/mesa/state_tracker/st_cb_strings.c', + 'src/src/mesa/state_tracker/st_cb_strings.h', + 'src/src/mesa/state_tracker/st_cb_syncobj.c', + 'src/src/mesa/state_tracker/st_cb_syncobj.h', + 'src/src/mesa/state_tracker/st_cb_texture.c', + 'src/src/mesa/state_tracker/st_cb_texture.h', + 'src/src/mesa/state_tracker/st_cb_texturebarrier.c', + 'src/src/mesa/state_tracker/st_cb_texturebarrier.h', + 'src/src/mesa/state_tracker/st_cb_viewport.c', + 'src/src/mesa/state_tracker/st_cb_viewport.h', + 'src/src/mesa/state_tracker/st_cb_xformfb.c', + 'src/src/mesa/state_tracker/st_cb_xformfb.h', + 'src/src/mesa/state_tracker/st_context.c', + 'src/src/mesa/state_tracker/st_context.h', + 'src/src/mesa/state_tracker/st_debug.c', + 'src/src/mesa/state_tracker/st_debug.h', + 'src/src/mesa/state_tracker/st_draw.c', + 'src/src/mesa/state_tracker/st_draw.h', + 'src/src/mesa/state_tracker/st_draw_feedback.c', + 'src/src/mesa/state_tracker/st_extensions.c', + 'src/src/mesa/state_tracker/st_extensions.h', + 'src/src/mesa/state_tracker/st_format.c', + 'src/src/mesa/state_tracker/st_format.h', + 'src/src/mesa/state_tracker/st_gen_mipmap.c', + 'src/src/mesa/state_tracker/st_gen_mipmap.h', + 'src/src/mesa/state_tracker/st_glsl_to_tgsi.cpp', + 'src/src/mesa/state_tracker/st_glsl_to_tgsi.h', + 'src/src/mesa/state_tracker/st_manager.c', + 'src/src/mesa/state_tracker/st_manager.h', + 'src/src/mesa/state_tracker/st_mesa_to_tgsi.c', + 'src/src/mesa/state_tracker/st_mesa_to_tgsi.h', + 'src/src/mesa/state_tracker/st_program.c', + 'src/src/mesa/state_tracker/st_program.h', + 'src/src/mesa/state_tracker/st_texture.c', + 'src/src/mesa/state_tracker/st_texture.h', 'src/src/mesa/swrast/s_aaline.c', 'src/src/mesa/swrast/s_aaline.h', - 'src/src/mesa/swrast/s_aalinetemp.h', 'src/src/mesa/swrast/s_aatriangle.c', 'src/src/mesa/swrast/s_aatriangle.h', - 'src/src/mesa/swrast/s_aatritemp.h', - 'src/src/mesa/swrast/s_accum.c', - 'src/src/mesa/swrast/s_accum.h', 'src/src/mesa/swrast/s_alpha.c', 'src/src/mesa/swrast/s_alpha.h', 'src/src/mesa/swrast/s_atifragshader.c', @@ -455,53 +655,46 @@ 'src/src/mesa/swrast/s_fragprog.h', 'src/src/mesa/swrast/s_lines.c', 'src/src/mesa/swrast/s_lines.h', - 'src/src/mesa/swrast/s_linetemp.h', 'src/src/mesa/swrast/s_logic.c', 'src/src/mesa/swrast/s_logic.h', 'src/src/mesa/swrast/s_masking.c', 'src/src/mesa/swrast/s_masking.h', 'src/src/mesa/swrast/s_points.c', 'src/src/mesa/swrast/s_points.h', - 'src/src/mesa/swrast/s_readpix.c', + 'src/src/mesa/swrast/s_renderbuffer.c', + 'src/src/mesa/swrast/s_renderbuffer.h', 'src/src/mesa/swrast/s_span.c', 'src/src/mesa/swrast/s_span.h', - 'src/src/mesa/swrast/s_spantemp.h', 'src/src/mesa/swrast/s_stencil.c', 'src/src/mesa/swrast/s_stencil.h', 'src/src/mesa/swrast/s_texcombine.c', 'src/src/mesa/swrast/s_texcombine.h', + 'src/src/mesa/swrast/s_texfetch.c', + 'src/src/mesa/swrast/s_texfetch.h', 'src/src/mesa/swrast/s_texfilter.c', 'src/src/mesa/swrast/s_texfilter.h', + 'src/src/mesa/swrast/s_texrender.c', + 'src/src/mesa/swrast/s_texture.c', 'src/src/mesa/swrast/s_triangle.c', 'src/src/mesa/swrast/s_triangle.h', - 'src/src/mesa/swrast/s_trispan.h', - 'src/src/mesa/swrast/s_tritemp.h', 'src/src/mesa/swrast/s_zoom.c', 'src/src/mesa/swrast/s_zoom.h', - 'src/src/mesa/swrast/swrast.h', 'src/src/mesa/swrast_setup/ss_context.c', 'src/src/mesa/swrast_setup/ss_context.h', 'src/src/mesa/swrast_setup/ss_triangle.c', 'src/src/mesa/swrast_setup/ss_triangle.h', - 'src/src/mesa/swrast_setup/ss_tritmp.h', - 'src/src/mesa/swrast_setup/ss_vb.h', - 'src/src/mesa/swrast_setup/swrast_setup.h', 'src/src/mesa/tnl/t_context.c', 'src/src/mesa/tnl/t_context.h', 'src/src/mesa/tnl/t_draw.c', 'src/src/mesa/tnl/t_pipeline.c', 'src/src/mesa/tnl/t_pipeline.h', 'src/src/mesa/tnl/t_rasterpos.c', - 'src/src/mesa/tnl/t_vb_cliptmp.h', - 'src/src/mesa/tnl/t_vb_cull.c', 'src/src/mesa/tnl/t_vb_fog.c', 'src/src/mesa/tnl/t_vb_light.c', - 'src/src/mesa/tnl/t_vb_lighttmp.h', 'src/src/mesa/tnl/t_vb_normals.c', 'src/src/mesa/tnl/t_vb_points.c', 'src/src/mesa/tnl/t_vb_program.c', 'src/src/mesa/tnl/t_vb_render.c', - 'src/src/mesa/tnl/t_vb_rendertmp.h', 'src/src/mesa/tnl/t_vb_texgen.c', 'src/src/mesa/tnl/t_vb_texmat.c', 'src/src/mesa/tnl/t_vb_vertex.c', @@ -511,10 +704,6 @@ 'src/src/mesa/tnl/t_vertex_sse.c', 'src/src/mesa/tnl/t_vp_build.c', 'src/src/mesa/tnl/t_vp_build.h', - 'src/src/mesa/tnl/tnl.h', - 'src/src/mesa/vbo/vbo.h', - 'src/src/mesa/vbo/vbo_attrib.h', - 'src/src/mesa/vbo/vbo_attrib_tmp.h', 'src/src/mesa/vbo/vbo_context.c', 'src/src/mesa/vbo/vbo_context.h', 'src/src/mesa/vbo/vbo_exec.c', @@ -523,6 +712,9 @@ 'src/src/mesa/vbo/vbo_exec_array.c', 'src/src/mesa/vbo/vbo_exec_draw.c', 'src/src/mesa/vbo/vbo_exec_eval.c', + 'src/src/mesa/vbo/vbo_noop.c', + 'src/src/mesa/vbo/vbo_noop.h', + 'src/src/mesa/vbo/vbo_primitive_restart.c', 'src/src/mesa/vbo/vbo_rebase.c', 'src/src/mesa/vbo/vbo_save.c', 'src/src/mesa/vbo/vbo_save.h', @@ -533,16 +725,14 @@ 'src/src/mesa/vbo/vbo_split.h', 'src/src/mesa/vbo/vbo_split_copy.c', 'src/src/mesa/vbo/vbo_split_inplace.c', + 'src/src/mesa/x86-64/x86-64.c', + 'src/src/mesa/x86-64/x86-64.h', ], 'conditions': [ ['clang == 1', { 'xcode_settings': { 'WARNING_CFLAGS': [ - # Several functions ignore the result of talloc_steal(). - '-Wno-unused-value', - # texenvprogram.c converts '~0' to a bitfield, which causes clang - # to warn that -1 is implicitly converted to 255. - '-Wno-constant-conversion', + '-Wno-tautological-constant-out-of-range-compare', ], 'WARNING_CFLAGS!': [ # Don't warn about string->bool used in asserts. @@ -550,8 +740,7 @@ ], }, 'cflags': [ - '-Wno-unused-value', - '-Wno-constant-conversion', + '-Wno-tautological-constant-out-of-range-compare', ], 'cflags!': [ '-Wstring-conversion', @@ -565,6 +754,12 @@ '-fno-builtin-sin', ], }], + ['OS=="win"', { + 'defines': [ + # Because we're building as a static library + '_GLAPI_NO_EXPORTS', + ], + }], ], }, # Building this target will hide the native OpenGL shared library and @@ -577,11 +772,12 @@ 'mesa_headers', 'mesa', ], - # Fixes link problems on Mac OS X with missing __cxa_pure_virtual. 'conditions': [ - ['OS=="mac"', { - 'sources': [ - 'src/src/mesa/drivers/osmesa/empty.cpp', + ['OS=="win"', { + 'defines': [ + 'BUILD_GL32', + 'KEYWORD1=GLAPI', + 'KEYWORD2=GLAPIENTRY', ], }], ], @@ -589,11 +785,10 @@ 'src/src/mapi', 'src/src/mesa', 'src/src/mesa/drivers', + '<(generated_src_dir)/mesa', ], - # TODO(scottmg): http://crbug.com/143877 These should be removed if - # Mesa is ever rolled and the warnings are fixed. 'msvs_disabled_warnings': [ - 4005, 4133, 4267, + 4005, 4018, 4065, 4090, 4099, 4273, 4291, 4345, 4267, ], 'sources': [ 'src/src/mesa/drivers/common/driverfuncs.c', @@ -612,24 +807,19 @@ 'target_name': 'mesa_headers', 'type': 'none', 'variables': { - 'headers_root_path': 'src/include', + 'headers_root_path': 'include', # This list can easily be updated using the command below: - # find third_party/mesa/src/include -iname '*.h' \ - # -printf "'%p',\n" | grep -v internal | sed -e \ - # 's|third_party/mesa/src/include/||' | sort -u + # find third_party/mesa/include -iname '*.h' -printf \ + # "'%p',\n" | grep -v internal | grep "/GL/" | sed -e \ + # 's|third_party/mesa/include/||' | sort -u 'header_filenames': [ - 'GL/glext.h', - 'GL/glfbdev.h', 'GL/gl.h', 'GL/gl_mangle.h', - 'GL/glu.h', - 'GL/glu_mangle.h', - 'GL/glxext.h', + 'GL/glext.h', 'GL/glx.h', 'GL/glx_mangle.h', - 'GL/mesa_wgl.h', + 'GL/glxext.h', 'GL/osmesa.h', - 'GL/vms_x_fix.h', 'GL/wglext.h', 'GL/wmesa.h', ], diff --git a/third_party/mesa/mesa_gensrc.gypi b/third_party/mesa/mesa_gensrc.gypi new file mode 100644 index 0000000..b5e65297 --- /dev/null +++ b/third_party/mesa/mesa_gensrc.gypi @@ -0,0 +1,636 @@ +# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'variables': { + 'xmlfiles': [ + 'src/src/mapi/glapi/gen/EXT_draw_buffers2.xml', + 'src/src/mapi/glapi/gen/NV_texture_barrier.xml', + 'src/src/mapi/glapi/gen/NV_primitive_restart.xml', + 'src/src/mapi/glapi/gen/ARB_base_instance.xml', + 'src/src/mapi/glapi/gen/EXT_packed_depth_stencil.xml', + 'src/src/mapi/glapi/gen/ARB_sync.xml', + 'src/src/mapi/glapi/gen/ARB_draw_buffers.xml', + 'src/src/mapi/glapi/gen/ARB_geometry_shader4.xml', + 'src/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml', + 'src/src/mapi/glapi/gen/GL3x.xml', + 'src/src/mapi/glapi/gen/ARB_blend_func_extended.xml', + 'src/src/mapi/glapi/gen/EXT_gpu_shader4.xml', + 'src/src/mapi/glapi/gen/ARB_robustness.xml', + 'src/src/mapi/glapi/gen/ARB_ES2_compatibility.xml', + 'src/src/mapi/glapi/gen/ARB_map_buffer_range.xml', + 'src/src/mapi/glapi/gen/OES_single_precision.xml', + 'src/src/mapi/glapi/gen/ARB_debug_output.xml', + 'src/src/mapi/glapi/gen/ARB_draw_instanced.xml', + 'src/src/mapi/glapi/gen/ARB_copy_buffer.xml', + 'src/src/mapi/glapi/gen/glX_API.xml', + 'src/src/mapi/glapi/gen/ARB_framebuffer_object.xml', + 'src/src/mapi/glapi/gen/OES_EGL_image.xml', + 'src/src/mapi/glapi/gen/gl_and_es_API.xml', + 'src/src/mapi/glapi/gen/ARB_color_buffer_float.xml', + 'src/src/mapi/glapi/gen/ARB_instanced_arrays.xml', + 'src/src/mapi/glapi/gen/APPLE_object_purgeable.xml', + 'src/src/mapi/glapi/gen/APPLE_vertex_array_object.xml', + 'src/src/mapi/glapi/gen/ARB_texture_rgb10_a2ui.xml', + 'src/src/mapi/glapi/gen/ARB_sampler_objects.xml', + 'src/src/mapi/glapi/gen/OES_fixed_point.xml', + 'src/src/mapi/glapi/gen/EXT_provoking_vertex.xml', + 'src/src/mapi/glapi/gen/ARB_texture_float.xml', + 'src/src/mapi/glapi/gen/EXT_texture_integer.xml', + 'src/src/mapi/glapi/gen/es_EXT.xml', + 'src/src/mapi/glapi/gen/gl_and_glX_API.xml', + 'src/src/mapi/glapi/gen/EXT_transform_feedback.xml', + 'src/src/mapi/glapi/gen/ARB_texture_buffer_object.xml', + 'src/src/mapi/glapi/gen/EXT_framebuffer_object.xml', + 'src/src/mapi/glapi/gen/ARB_uniform_buffer_object.xml', + 'src/src/mapi/glapi/gen/ARB_texture_rg.xml', + 'src/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml', + 'src/src/mapi/glapi/gen/ARB_seamless_cube_map.xml', + 'src/src/mapi/glapi/gen/EXT_texture_array.xml', + 'src/src/mapi/glapi/gen/ARB_vertex_array_object.xml', + 'src/src/mapi/glapi/gen/ARB_invalidate_subdata.xml', + 'src/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml', + 'src/src/mapi/glapi/gen/AMD_draw_buffers_blend.xml', + 'src/src/mapi/glapi/gen/ARB_get_program_binary.xml', + 'src/src/mapi/glapi/gen/gl_API.xml', + 'src/src/mapi/glapi/gen/ARB_depth_clamp.xml', + 'src/src/mapi/glapi/gen/ARB_texture_storage.xml', + 'src/src/mapi/glapi/gen/ARB_depth_buffer_float.xml', + 'src/src/mapi/glapi/gen/EXT_separate_shader_objects.xml', + 'src/src/mapi/glapi/gen/ARB_texture_compression_rgtc.xml', + 'src/src/mapi/glapi/gen/NV_conditional_render.xml', + 'src/src/mesa/main/APIspec.xml', + ], + }, + + 'targets': [ + # The targets below generate all of the sources Mesa generates + # during its build process. Mesa's XML processors like gl_XML.py + # rely heavily on Python's libxml2 bindings. Specifically, the + # processors require validation against the DTD for default values + # for attributes, and none of Python's built-in XML parsers support + # validation. It's infeasible to use any third-party XML parser for + # Python which relies on native code due to the large number of + # host platforms Chromium must build on, and pure Python validators + # are in short supply. + + # The main target is generate_mesa_sources, which must be run + # manually on a host platform with libxml2's Python bindings + # installed. (Most Linux distributions should fulfill this + # requirement.) + { + 'target_name': 'mesa_builtin_compiler', + 'type': 'executable', + 'include_dirs': [ + 'src/src/gallium/auxiliary', + 'src/src/gallium/include', + 'src/src/glsl', + 'src/src/glsl/glcpp', + 'src/src/mapi', + 'src/src/mapi/glapi', + 'src/src/mesa', + 'src/src/mesa/main', + '<(generated_src_dir)/mesa/', + '<(generated_src_dir)/mesa/main', + '<(generated_src_dir)/mesa/program', + '<(generated_src_dir)/mesa/glapi', + ], + 'dependencies': [ + 'generate_main_mesa_sources', + 'mesa_headers', + 'mesa_libglslcommon', # implicit dependency on generate_main_mesa_sources + ], + 'sources': [ + 'src/src/mesa/program/hash_table.c', + 'src/src/mesa/program/symbol_table.c', + 'src/src/glsl/standalone_scaffolding.cpp', + 'src/src/glsl/main.cpp', + 'src/src/glsl/builtin_stubs.cpp', + ], + 'conditions': [ + ['clang == 1', { + 'xcode_settings': { + 'WARNING_CFLAGS': [ + '-Wno-tautological-constant-out-of-range-compare', + ], + 'WARNING_CFLAGS!': [ + # Don't warn about string->bool used in asserts. + '-Wstring-conversion', + ], + }, + 'cflags': [ + '-Wtautological-constant-out-of-range-compare', + ], + 'cflags!': [ + '-Wstring-conversion', + ], + }], + ], + }, + { + 'target_name': 'generate_mesa_sources', + 'type': 'none', + 'dependencies': [ + 'mesa_builtin_compiler', + ], + 'actions': [ + { + 'action_name': 'generateBuiltins', + 'inputs': [ + '<(PRODUCT_DIR)/mesa_builtin_compiler', + 'src/src/glsl/builtins/tools/generate_builtins.py' + ], + 'outputs': [ + '<(generated_src_dir)/mesa/builtin_function.cpp', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/builtin_function.cpp', + 'src/src/glsl/builtins/tools/generate_builtins.py', + '<(PRODUCT_DIR)/mesa_builtin_compiler', + ], + 'message': "Generating Mesa builtins ...", + } + ], + }, + { + 'target_name': 'generate_main_mesa_sources', + 'type': 'none', + 'actions': [ + { + 'action_name': 'glsl_parser_cc', + 'inputs': [ + 'src/src/glsl/glsl_parser.yy', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glsl_parser.cc', + '<(generated_src_dir)/mesa/glsl_parser.h', + ], + 'action': [ + 'bison', + '-y', + '-v', + '-o', + '<(generated_src_dir)/mesa/glsl_parser.cc', + '-p', + '_mesa_glsl_', + '--defines=<(generated_src_dir)/mesa/glsl_parser.h', + 'src/src/glsl/glsl_parser.yy' + ], + 'message': "Generating glsl parser ...", + }, + { + 'action_name': 'lex_yy_c', + 'inputs': [ + 'src/src/mesa/program/program_lexer.l', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/lex.yy.c', + ], + 'action': [ + 'flex', + '--never-interactive', + '--outfile=<(generated_src_dir)/mesa/lex.yy.c', + 'src/src/mesa/program/program_lexer.l' + ], + 'message': "Generating lex.yy.c ...", + }, + { + 'action_name': 'glsl_lexer_cc', + 'inputs': [ + 'src/src/glsl/glsl_lexer.ll', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glsl_lexer.cc', + ], + 'action': [ + 'flex', + '--nounistd', + '--outfile=<(generated_src_dir)/mesa/glsl_lexer.cc', + 'src/src/glsl/glsl_lexer.ll', + ], + 'message': "Generating glsl lexer ...", + }, + { + 'action_name': 'glcpp_lex_c', + 'inputs': [ + 'src/src/glsl/glcpp/glcpp-lex.l', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glcpp-lex.c', + ], + 'action': [ + 'flex', + '--nounistd', + '--outfile=<(generated_src_dir)/mesa/glcpp-lex.c', + 'src/src/glsl/glcpp/glcpp-lex.l', + ], + 'message': "Generating glcpp-lex.c ...", + }, + { + 'action_name': 'glcpp_parse_c', + 'inputs': [ + 'src/src/glsl/glcpp/glcpp-parse.y', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glcpp-parse.c', + '<(generated_src_dir)/mesa/glcpp-parse.h', + ], + 'action': [ + 'bison', + '-y', + '-v', + '-d', + '-p', + 'glcpp_parser_', + '-o', + '<(generated_src_dir)/mesa/glcpp-parse.c', + '--defines=<(generated_src_dir)/mesa/glcpp-parse.h', + 'src/src/glsl/glcpp/glcpp-parse.y', + ], + 'message': "Generating glcpp parser ...", + }, + { + 'action_name': 'program_parse_tab_c', + 'inputs': [ + 'src/src/mesa/program/program_parse.y', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/program/program_parse.tab.c', + ], + 'action': [ + 'bison', + '-y', + '-v', + '-d', + '-p', + '_mesa_program_', + '--output=<(generated_src_dir)/mesa/program/program_parse.tab.c', + 'src/src/mesa/program/program_parse.y', + ], + 'message': "Generating program_parse.y ...", + }, + { + 'action_name': 'glapi_mapi_tmp_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/mapi/mapi_abi.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glapi_mapi_tmp.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glapi_mapi_tmp.h', + 'src/src/mapi/mapi/mapi_abi.py', + '--printer', + 'glapi', + '--mode', + 'lib', + 'src/src/mapi/glapi/gen/gl_and_es_API.xml', + ], + 'message': "Generating glapi_mapi_tmp.h ...", + }, + { + 'action_name': 'glapi_mapi_tmp_shared_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/mapi/mapi_abi.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h', + 'src/src/mapi/mapi/mapi_abi.py', + '--printer', + 'shared-glapi', + '--mode', + 'lib', + 'src/src/mapi/glapi/gen/gl_and_es_API.xml', + ], + 'message': "Generating glapi_mapi_tmp_shared.h ...", + }, + { + 'action_name': 'glprocs_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_procs.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glprocs.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glprocs.h', + 'src/src/mapi/glapi/gen/gl_procs.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + ], + 'message': "Generating glprocs.h ...", + }, + { + 'action_name': 'glapitemp_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_apitemp.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glapi/glapitemp.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glapi/glapitemp.h', + 'src/src/mapi/glapi/gen/gl_apitemp.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + ], + 'message': "Generating glapitemp.h ...", + }, + { + 'action_name': 'glapitable_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_table.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glapi/glapitable.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glapi/glapitable.h', + 'src/src/mapi/glapi/gen/gl_table.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + ], + 'message': "Generating glapitable.h ...", + }, + { + 'action_name': 'glapi_gentable_c', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_gentable.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glapi_gentable.c', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glapi_gentable.c', + 'src/src/mapi/glapi/gen/gl_gentable.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + ], + 'message': "Generating glapi_gentable.c ...", + }, + { + 'action_name': 'glapi_x86_64_S', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_x86-64_asm.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/glapi_x86-64.S', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/glapi_x86-64.S', + 'src/src/mapi/glapi/gen/gl_x86-64_asm.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + ], + 'message': "Generating glapi_x86-64.S ...", + }, + { + 'action_name': 'enums_c', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_enums.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/enums.c', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/enums.c', + 'src/src/mapi/glapi/gen/gl_enums.py', + '-f', + 'src/src/mapi/glapi/gen/gl_and_es_API.xml', + ], + 'message': "Generating enums.c ...", + }, + { + 'action_name': 'dispatch_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/gl_table.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/main/dispatch.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/main/dispatch.h', + 'src/src/mapi/glapi/gen/gl_table.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + '-m', + 'remap_table', + ], + 'message': "Generating dispatch.h ...", + }, + { + 'action_name': 'remap_helper_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/remap_helper.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/main/remap_helper.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/main/remap_helper.h', + 'src/src/mapi/glapi/gen/remap_helper.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + ], + 'message': "Generating remap_helper.h ...", + }, + { + 'action_name': 'indirect_c', + 'inputs': [ + '<@(xmlfiles)', + 'src/src/mapi/glapi/gen/glX_proto_send.py', + 'redirectoutput.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/indirect.c', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/indirect.c', + 'src/src/mapi/glapi/gen/glX_proto_send.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + '-m', + 'proto', + ], + 'message': "Generating indirect.c ...", + }, + { + 'action_name': 'indirect_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/glX_proto_send.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/indirect.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/indirect.h', + 'src/src/mapi/glapi/gen/glX_proto_send.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + '-m', + 'init_h', + ], + 'message': "Generating indirect.h ...", + }, + { + 'action_name': 'indirect_init_c', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/glX_proto_send.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/indirect_init.c', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/indirect_init.c', + 'src/src/mapi/glapi/gen/glX_proto_send.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + '-m', + 'init_c', + ], + 'message': "Generating indirect_init.c ...", + }, + { + 'action_name': 'indirect_size_h', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/glX_proto_size.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/indirect_size.h', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/indirect_size.h', + 'src/src/mapi/glapi/gen/glX_proto_size.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + '-m', + 'size_h', + '--only-set', + '-h', + '_INDIRECT_SIZE_H_', + ], + 'message': "Generating indirect_size.h ...", + }, + { + 'action_name': 'indirect_size_c', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mapi/glapi/gen/glX_proto_size.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/indirect_size.c', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/indirect_size.c', + 'src/src/mapi/glapi/gen/glX_proto_size.py', + '-f', + 'src/src/mapi/glapi/gen/gl_API.xml', + '-m', + 'size_c', + '--only-set', + ], + 'message': "Generating indirect_size.c ...", + }, + { + 'action_name': 'api_exec_es1_c', + 'inputs': [ + '<@(xmlfiles)', + 'redirectoutput.py', + 'src/src/mesa/main/es_generator.py', + ], + 'outputs': [ + '<(generated_src_dir)/mesa/api_exec_es1.c', + ], + 'action': [ + 'python', + 'redirectoutput.py', + '<(generated_src_dir)/mesa/api_exec_es1.c', + 'src/src/mesa/main/es_generator.py', + '-S', + 'src/src/mesa/main/APIspec.xml', + '-V', + 'GLES1.1', + ], + 'message': "Generating api_exec_es1.c ...", + }, + { + 'action_name': 'git_sha1_h', + 'inputs': [ + ], + 'outputs': [ + '<(generated_src_dir)/mesa/git_sha1.h', + ], + 'action': [ + 'python', + 'generate_git_sha1.py', + '<(generated_src_dir)/mesa/git_sha1.h', + ], + 'message': "Generating Mesa sources ...", + }, + ], + }, + ], +} diff --git a/third_party/mesa/redirectoutput.py b/third_party/mesa/redirectoutput.py new file mode 100644 index 0000000..5103403 --- /dev/null +++ b/third_party/mesa/redirectoutput.py @@ -0,0 +1,25 @@ +import os +import os.path +import subprocess +import sys + +if len(sys.argv) < 3: + print "Usage: %s OUTPUTFILE SCRIPTNAME ARGUMENTS" % sys.argv[0] + print "Re-execs the python interpreter against SCRIPTNAME with ARGS," + print "redirecting output to OUTPUTFILE." + sys.exit(1) + +abs_outputfile = os.path.abspath(sys.argv[1]) +abs_outputdir = os.path.dirname(abs_outputfile) + +if not os.path.isdir(abs_outputdir): + os.makedirs(abs_outputdir) + +ret = 0 + +with open(abs_outputfile, "w") as f: + ret = subprocess.Popen([sys.executable] + sys.argv[2:], stdout=f).wait() + +if ret: + os.remove(abs_outputfile) + sys.exit(ret) |