- 29 May, 2017 1 commit
-
-
Nicolas Capens authored
Bug b/38514001 Change-Id: I6d2d891545840beee54db95a7456b6ede293d0eb Reviewed-on: https://swiftshader-review.googlesource.com/9908Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 25 May, 2017 2 commits
-
-
Lingfeng Yang authored
TableGen uses exceptions, but is not used. Change-Id: I3a54c2f72784169804b3305c26f17c63c313931e Reviewed-on: https://swiftshader-review.googlesource.com/9851Reviewed-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Lingfeng Yang <lfy@google.com>
-
Nicolas Capens authored
Bug b/38268007 Change-Id: I5a75b7ea475848739ca5f3717e2b42c89088dafb Reviewed-on: https://swiftshader-review.googlesource.com/9828Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 24 May, 2017 8 commits
-
-
Lingfeng Yang authored
bug: 38257724 With this CL, dEQP-GLES3.functional.shaders.functions.invalid no longer results in a stack overflow and system crash. The fix is to explicitly loop over switch cases in the function call depth analysis. Later on, we probably want to change TIntermSwitch traversal to loop over all cases of the switch statement as well, but that requires a lot of changes; all traversers need to be changed to not have to loop over switch statements themselves, which will break expectations and perhaps functionality that critically depends on seeing/controlling iteration over switch statement cases. Not tested for regressions in dEQP-GLES2.functional.shaders.* Test: dEQP-GLES3.functional.shaders.functions.invalid.dynamic_switch_recursion_vertex: system crash, hang, or fail -> Pass Change-Id: I5d13a5f3296579c8818975e103f5ed6e03a47b68 Reviewed-on: https://swiftshader-review.googlesource.com/9789Reviewed-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Lingfeng Yang <lfy@google.com>
-
Lingfeng Yang authored
Bug b/38257724 Change-Id: I4157ef825ed4ed8f805e9dad35b43bb5780877b6 Reviewed-on: https://swiftshader-review.googlesource.com/9788Reviewed-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Lingfeng Yang <lfy@google.com> Tested-by:
Lingfeng Yang <lfy@google.com>
-
Nicolas Capens authored
Bug b/17893069 Change-Id: I78d582455192456625523d7bf2bdc5d16c88d68e Reviewed-on: https://swiftshader-review.googlesource.com/9814Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
If the EGLDisplay input parameter to eglInitialize isn't PRIMARY_DISPLAY or HEADLESS_DISPLAY, egl::Display::get() will return null. Instead of crashing, we should return an EGL_BAD_DISPLAY error. Change-Id: Ie1e39f2807db5a38f8d21fd6e22270c02cbeba3a Reviewed-on: https://swiftshader-review.googlesource.com/9813Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Removed flags and verified Linux build / execution still works properly. Change-Id: Ibad4ec5d1b89d8e9b826c57bf2d6dbd0d18b7a2e Reviewed-on: https://swiftshader-review.googlesource.com/9812Reviewed-by:
Nico Weber <thakis@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Bug swiftshader:53 Change-Id: I20500e567e58ed29caa0a0ad9ad7884e66e96cb9 Reviewed-on: https://swiftshader-review.googlesource.com/9811Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug swiftshader:52 Change-Id: I972c769551acf19898f10579685f45f3192612c4 Reviewed-on: https://swiftshader-review.googlesource.com/9810Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
In OpenGL ES 3.0, varyings declared in the vertex shader may be used by transform feedback, regardless of whether or not they are also declared in the fragment shader. In OpenGL ES 2.0, these unmatched varyings are usually discarded. In order to preserve the OpenGL ES 2.0 behavior and to not burden the Open GL ES 3.0 implementation with new unused varyings, only the unmatched varyings which may be used as transform feedback inputs will be added to the vertex shader, instead of always adding all of them. Change-Id: I35f37b6ee77181b5d3a47605ef246c7d1ecf904d Reviewed-on: https://swiftshader-review.googlesource.com/9808Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 19 May, 2017 3 commits
-
-
Nicolas Capens authored
Surface should not lock the resource of a parent texture at destruction, because it can already have been destroyed. For example when a texture's image was bound as a render target, and the texture is deleted by the app, then the image holds the last reference to the texture. When the render target image gets deleted, it first releases its parent texture, and then the underlying surface gets destroyed. This is fixed by synchronizing, by locking and unlocking the (parent) resource, earlier. The derived class is responsible for calling Surface::sync() before releasing the parent resource. Bug chromium:716803 Change-Id: Ifc3685dcf9e25e8419000af65d4bb7407f26bbcb Reviewed-on: https://swiftshader-review.googlesource.com/9750Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug b/37991302 Change-Id: I8a1c28d4a9c8968be3a04da64a19ddd3f5274dd6 Reviewed-on: https://swiftshader-review.googlesource.com/9768Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I383c7b3f18f9dd80c37eea8a4b06a024a060cfd1 Reviewed-on: https://swiftshader-review.googlesource.com/9749Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 17 May, 2017 1 commit
-
-
Nicolas Capens authored
Bug b/31651425 Change-Id: Ic6c1f16b1ec3ef039e15e72e70a1daee711fba2f Reviewed-on: https://swiftshader-review.googlesource.com/9748Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 16 May, 2017 1 commit
-
-
Nicolas Capens authored
Fixes a double free. Change-Id: Ieb71dff4476132b9b2fb624223e26af49a4131ee Reviewed-on: https://swiftshader-review.googlesource.com/9728Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 12 May, 2017 1 commit
-
-
Nicolas Capens authored
Fixes Android Lollipop (and older) build failures. Change-Id: I30481a59562854b9891a2ac82ac2e7aab8ff570c Reviewed-on: https://swiftshader-review.googlesource.com/9709Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 11 May, 2017 1 commit
-
-
Nicolas Capens authored
libEGL has to call virtual methods on objects created withing libGLESv2, and vice-versa. Clang's aggressive link-time-optimization considers calls to these methods unreachable, because they're not defined within the same linkage unit. So when they do get called, we're hitting UD instructions. It can be fixed by marking these classes with [[clang::lto_visibility_public]] attributes: https://clang.llvm.org/docs/LTOVisibility.html Bug chromium:720933 Change-Id: I87f9b09921a1b2d443121efcdb5525ff4cb5797b Reviewed-on: https://swiftshader-review.googlesource.com/9688Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 08 May, 2017 1 commit
-
-
Nicolas Capens authored
Bug chromium:719291 Change-Id: I5ddf6d45d3a66a4b626ec1d73995a2a4fd4b28b9 Reviewed-on: https://swiftshader-review.googlesource.com/9668Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 05 May, 2017 3 commits
-
-
Nicolas Capens authored
EGL does not and should not depend on LLVM. Change-Id: I36ef1d67e67cdf7625ca8c1a6f1bf3214c39ee4c Reviewed-on: https://swiftshader-review.googlesource.com/9611Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Direct3D 9 provides support for a "hardware" cursor. There is no such thing in newer APIs, so we shouldn't waste time dynamically generating code for it. Change-Id: I8d54c3500966ce075afb83c98c5013024062eed8 Reviewed-on: https://swiftshader-review.googlesource.com/9629Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
C++11 does not allow narrowing a constant expression value to a type that can't fully represent it. So when char is considered unsigned, we can't store -1 in it. Explicitly using signed char fixes it. Change-Id: I5c0e9fe0025659e06291655a12220ab589d5f5bd Reviewed-on: https://swiftshader-review.googlesource.com/9630Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 03 May, 2017 4 commits
-
-
Nicolas Capens authored
Bug swiftshader:47 Bug b/37478805 Change-Id: I7519eb7c743530a7bf6a4253244011c29d7ed7c5 Reviewed-on: https://swiftshader-review.googlesource.com/9609Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
The submodule is at /third-party/pnacl-subzero The subtree is at /third-party/subzero Bug swiftshader:47 Bug b/37478805 Change-Id: I2da86151f111448e962b6b24c085a2f288de18b4 Reviewed-on: https://swiftshader-review.googlesource.com/9608Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
This fixes a pedantic warning about 'patchSite' being an unused variable. Change-Id: I2540461fb3da98cebf94350f731fe452e9768b8f Reviewed-on: https://swiftshader-review.googlesource.com/9610Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Add 'third_party/subzero/' from commit 'fb705a6d' from repository https://chromium.googlesource.com/native_client/pnacl-subzero Bug swiftshader:47 Bug b/37478805 Change-Id: I9cc7a7f3d788059984102c8275ec7b28c4b0aad0 git-subtree-dir: third_party/subzero git-subtree-mainline: 1ba2611b git-subtree-split: fb705a6d
-
- 02 May, 2017 3 commits
-
-
Nicolas Capens authored
Bug b/37478805 Change-Id: I3a452410d44c0da1cb01c80e3e4fcade221f7304 Reviewed-on: https://swiftshader-review.googlesource.com/9569Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
ARM does not support shifting by 0. An immediate value of 0 is interpreted as shifting by 32. See section A8.4.1 Constant shifts of the ARMv7-A/R reference manual. Change-Id: I289a7c6091c04387700dc2e9b3f959639bd919ce Reviewed-on: https://chromium-review.googlesource.com/491949Reviewed-by:
Jim Stichnoth <stichnot@chromium.org>
-
Nicolas Capens authored
This implementation works by adding a large value which makes the fractional part no longer fit in the mantissa, and then subtracting it again. It matches nearbyint() for values up to 2^22, positive or negative. The 'magic number' of 0x00C00000 is derived by first observing that the integer values 0x00800000 to 0x00FFFFFF can be represented exactly in single-precision floating-point format but can't have a fractional part because there are 24 mantissa bits (the top one being hidden). So when adding 0x00800000 to for example 0.6, it forces the hardware to round it to the nearest representable integer, being 0x00800001. Subtracting 0x00800000 again gives us 1.0. This works for rounding any value from 0.0 to 0x007FFFFF. However, it doesn't work for negative values, because the intermediate result would be less than 0x00800000 and thus leave some room for fractional bits in the mantissa. The solution is to use 0x00C00000 instead so the range gets split between positive and negative values. Note that values greater than the upper bound will still round to integers, but not the nearest ones, while values less than the lower bound can result in fractional values. Bug b/37495485 Change-Id: I1aed2d831269fcf21b8d3313856a9b9756a532ef Reviewed-on: https://swiftshader-review.googlesource.com/9488Reviewed-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 28 Apr, 2017 1 commit
-
-
Nicolas Capens authored
Some CPU architectures require all memory accesses to be naturally aligned. We read polygon outline spans in pairs, so we need two underflow spans. b/37478805 Change-Id: If74fd59654fb6fa56cbed93122b496b9e86dda06 Reviewed-on: https://swiftshader-review.googlesource.com/9528Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 27 Apr, 2017 1 commit
-
-
Nicolas Capens authored
Bug swiftshader:41 Change-Id: I4ece1a7aff5cb431ebb80452be0b6698163b7081 Reviewed-on: https://swiftshader-review.googlesource.com/9468Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 26 Apr, 2017 3 commits
-
-
Nicolas Capens authored
Change-Id: I57b57f49490b711b9e5d6598a9224f02d5cfa93a Reviewed-on: https://swiftshader-review.googlesource.com/9490Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug b/37478805 Change-Id: Ib3af3edfcc24308b2a0f37cb0f534226aa83e446 Reviewed-on: https://swiftshader-review.googlesource.com/9448Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug b/37478805 Change-Id: Idb44b05cea24eed8a46d267c3de9fc769ac58977 Reviewed-on: https://swiftshader-review.googlesource.com/9489Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 25 Apr, 2017 4 commits
-
-
Nicolas Capens authored
When the compiler does not perform return value optimization, the LockPtr<> destructor of the temporary object is called after the move constructor has set the Lock to null, thus causing a null pointer dereference in the destructor. This can be replicated using the -fno-elide-constructors build flag. Change-Id: Ie00c3f93364fdf78ea1993469b9a606b3c87ebdc Reviewed-on: https://chromium-review.googlesource.com/486985Reviewed-by:
Jim Stichnoth <stichnot@chromium.org>
-
Nicolas Capens authored
This does not provide full support for ARM, but merely makes things (statically) compile. Bug b/37478805 Change-Id: I01d1d84e396c04c84e74d521946595014d2eafb5 Reviewed-on: https://swiftshader-review.googlesource.com/9430Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
x86 does not strictly require this because it performs snooping to ensure consistency, but it is essential on ARM and some other architectures. Bug b/37478805 Change-Id: I9fad94571ec65b67132ba40c3e1814c63d6af468 Reviewed-on: https://swiftshader-review.googlesource.com/9429Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug chromium:710753 Change-Id: Ie74d86de027417579c9c6949aabad1c3ae89ebfc Reviewed-on: https://swiftshader-review.googlesource.com/9329Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 19 Apr, 2017 1 commit
-
-
Nicolas Capens authored
Writing or reading an ordinary volatile boolean does not provide memory ordering guarantees. Use atomic<bool> with release and acquire semantics instead. On x86 this should have no impact on the generated code, since it architecturally offers strong memory ordering guarantees. Bug chromium:710753 Change-Id: I5aa2a6eeecfcd691a0aa8d06fd067f9d59ab13c3 Reviewed-on: https://swiftshader-review.googlesource.com/9328Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 18 Apr, 2017 1 commit
-
-
Ivan Krasin authored
BUG=chromium:686980 Change-Id: I5f22f57288246c262a0fdb0ca1b0b321e4a58c1b Reviewed-on: https://swiftshader-review.googlesource.com/9310Tested-by:
Ivan Krasin <krasin@chromium.org> Reviewed-by:
Nicolas Capens <capn@google.com>
-