In the CopyNativeVertexData template function, in the else clause
use memcpy/memset rather than for loops. This is a performance
improvment for floating point versions of CopyNativeVertexData,
particularly on 32-bit Firefox, where the -arch:IA32 compiler
option used cause the compiler to generate fld/fstp operations
inside the for loops.
Update AUTHORS & CONTRIBUTORS to include AMD.
BUG=angleproject:1317
Change-Id: I7133fc476028284f56783f4e2f9e2395f6227514
Reviewed-on: https://chromium-review.googlesource.com/327590
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
The solution is the same as in GYP version:
1. Check if .git/index is available in angle directory.
2. Use generated commit.h file if git is available or copy the default
file instead.
Change-Id: Ic3cedf6793c368070228a63c0eb270ca6fb47f81
Reviewed-on: https://chromium-review.googlesource.com/289391
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Tomasz Moniuszko <tmoniuszko@opera.com>
Make all fragment shader out variables require location layout
qualifier. Previously, the last variable did not need a location layout
qualifier if the previous variables had those.
TEST=angle_unittests
BUG=angleproject:1070
Change-Id: Ifb66ee52b811409f5278eaad330d6cd9b8ea059f
Reviewed-on: https://chromium-review.googlesource.com/287100
Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
That way RenderbufferStorageMultisample accepts STENCIL_INDEX8 as
an internal format for a multisampled buffer (samples > 0) as it
isn't concerned by the restriction on integer component types anymore.
This is consistent with the component type returned by the NVIDIA driver.
BUG=angle:812
Change-Id: Ic03f502ffa082b1011e8127213a5c1df0617ef43
Reviewed-on: https://chromium-review.googlesource.com/227470
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Removed Borbitsoft from the AUTHORS file, added Tibor den Ouden.
Removed Borbitsoft from CONTRIBUTORS file, company section.
Moved Tibor den Ouden in CONTRIBUTORS file from company section to individual section
Change-Id: I3ab47d637d0879fde8f9dc0f714e2cb44562c897
Reviewed-on: https://chromium-review.googlesource.com/221054
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
vsnprintf is defined in stdio.h according to the standard. It was not in
the include chain of angleutils.cpp, which broke the build on Linux on
some configurations. Seems like other toolchains include the function in
some non-standard way.
BUG=angle:761
Change-Id: Idcd75776e8a9b83dad182d1b4bac0beac006c6ac
Reviewed-on: https://chromium-review.googlesource.com/221053
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
BUG=angle:758
Removed explicit destruction of char[] by using std::vector<char> object.
Added Borbitsoft to AUTHORS and Tibor den Ouden to CONTRIBUTORS
Change-Id: I9c4017eb81ce3fab8b7fb4a5b4ad52a758d14a2d
Reviewed-on: https://chromium-review.googlesource.com/219940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
BUG=None
TEST=Build Chromium and ChromiumOS from source, and run "repo status",
with and without this change.
Contributed by Josh Triplett <josh.triplett@intel.com>
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1316 736b8ea6-26fd-11df-bfd4-992fa37f6226
Description of the algorithm:
http://code.google.com/p/mvujovic/wiki/ShaderControlFlowAnalysis
This flag is one potential solution to timing attacks on textures containing cross-domain content
or user agent data.
This kind of analysis could be useful for both WebGL and CSS Shaders.
The SH_TIMING_RESTRICTIONS flag will reject a shader if it uses texture dependent data to affect
control flow.
Other ways of affecting shader timing such as using NaNs in basic arithmetic operations or using
built-in functions (e.g. atan) with different inputs are still under investigation.
Issue=329
Review URL: http://codereview.appspot.com/6195062/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1101 736b8ea6-26fd-11df-bfd4-992fa37f6226
http://codereview.appspot.com/6050054/
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Authored-by: Jin Yang
With this patch, my HTML5 2D canvas benchmark with Chromium on Windows7 with GPU
acceleration can boost about 4% though the most execution time is in GPU.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1067 736b8ea6-26fd-11df-bfd4-992fa37f6226
With this CL, we have the option to select a code output backend: GLSL, GLSL ES, or HLSL.
Note that we always emit the highest supported float precision for fragment shader due to anglebug 168. Although this is a temporary solution, it's not against GLSL ES spec, because it's ok for implementation to upgrade precision.
Tested with WebGL conformance test suite, GLES2 conformance test suite (only failed 2/1198), and a few webgl demos, including worlds of webgl, aquarium, etc.
anglebug=81
test=translator emitting correct GLSL ES code when ES2 backend is selected.
Review URL: http://codereview.appspot.com/4550129
git-svn-id: https://angleproject.googlecode.com/svn/trunk@687 736b8ea6-26fd-11df-bfd4-992fa37f6226