Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(743)

Issue 6446083: ANGLE GCC compilation fixes

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 9 months ago by jacek
Modified:
9 years, 7 months ago
Reviewers:
dgkoch
CC:
angleproject-review_googlegroups.com
Base URL:
http://angleproject.googlecode.com/svn/trunk
Visibility:
Public.

Description

ANGLE GCC compilation fixes The following series fixes compilation on GCC (from mingw-w64) and allows cross compiling the source on Linux. It was tested in Mozilla tree since ANGLE has no support for GCC in its build system. Originally it was a series of separated patches for easier review, but it looks like codereview doesn't support it (I'm new to the system, so sorry if I missed something). Here are my original changelogs: Moved SSE2 code to separated file to allow using different compiler flags on GCC To use SSE2 in GCC, a compiler -msse2 flag is needed. It adds both possibility to write SSE2 code in the file, but also allows compiles to optimize the whole file with SSE2. To make sure that the code works on non-SSE2 machines, moving SSE2 functions to separated file and compiling only that file with -msse2 is the common practice. Minor GCC fixes - Added missing typename keyword - Use proper filenames in cludes (this matters when cross compiling on case sensitive OSes) - Added <string> include where GCC requires it - Avoid collision between enum variables and template params Use unordered_map instead of hash_map on GCC stdext namespace is a non-standard extension. Use standard std::unordered_map on GCC. Fixed preprocessors errors on GCC - Preprocessor variables need to be separated from string constants to be separated token - Use ##__VA_ARGS__ GCC extension to support empry __VA_ARGS__ (should be no-op on MSVC). See: http://www.delorie.com/gnu/docs/gcc/gcc_44.html for details.

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+173 lines, -110 lines) Patch
M src/build_angle.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M src/common/debug.h View 1 chunk +6 lines, -4 lines 0 comments Download
M src/libEGL/ShaderCache.h View 4 chunks +16 lines, -3 lines 0 comments Download
M src/libEGL/libEGL.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/libGLESv2/Context.h View 2 chunks +16 lines, -3 lines 0 comments Download
M src/libGLESv2/Context.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M src/libGLESv2/ProgramBinary.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/libGLESv2/ResourceManager.h View 2 chunks +17 lines, -5 lines 0 comments Download
M src/libGLESv2/ResourceManager.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/libGLESv2/Shader.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/libGLESv2/Shader.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/libGLESv2/Texture.cpp View 3 chunks +0 lines, -83 lines 0 comments Download
A src/libGLESv2/TextureSSE2.cpp View 1 chunk +100 lines, -0 lines 1 comment Download
M src/libGLESv2/VertexDataManager.cpp View 1 chunk +3 lines, -3 lines 0 comments Download
M src/libGLESv2/libGLESv2.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M src/libGLESv2/libGLESv2.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 2
jacek
11 years, 8 months ago (2012-08-14 15:18:31 UTC) #1
dgkoch
11 years, 8 months ago (2012-08-27 16:13:00 UTC) #2
LGTM. I presume you'll need help landing it, so I'll fix and commit for you.

http://codereview.appspot.com/6446083/diff/1/src/libGLESv2/TextureSSE2.cpp
File src/libGLESv2/TextureSSE2.cpp (right):

http://codereview.appspot.com/6446083/diff/1/src/libGLESv2/TextureSSE2.cpp#ne...
src/libGLESv2/TextureSSE2.cpp:8: // in a separated file for GCC, whilch can
enable SSE usage only per-file,
"whilch" typo
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b