- 02 Oct, 2017 6 commits
-
-
Casey Dahlin authored
Test: New tests pass Bug: b/37496856 Change-Id: Ifae1f802d61a7d51f6e8f5c135e3c8c67be30125 Reviewed-on: https://swiftshader-review.googlesource.com/12950Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Casey Dahlin <sadmac@google.com>
-
Nicolas Capens authored
We weren't clamping the value when less than zero. Bug b/37496082 Change-Id: I3170d14a622f8571f0142dd4ce80f96617c7e0aa Reviewed-on: https://swiftshader-review.googlesource.com/12948Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Casey Dahlin <sadmac@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
When SSE4.1 isn't available, we were infinitely calling PackUnsigned() recursively. Bug b/37496082 Change-Id: Ie1fa8150d64740776c5b80baf07d997dde9d51be Reviewed-on: https://swiftshader-review.googlesource.com/12929Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Casey Dahlin <sadmac@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Casey Dahlin authored
Test: New tests pass Bug: b/37496082 Change-Id: I4a0aae14318f03b5ce59f12f7542db13270f52ab Reviewed-on: https://swiftshader-review.googlesource.com/12848Tested-by:
Casey Dahlin <sadmac@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Integer division already had this modification, to avoid division by 0, but integer modulo hadn't been modified to match the other fix, which is now done here. Bug chromium:763435 Change-Id: I40f4ed9f1c4b5889ddf47abc1bb7c70c21cbd7b8 Reviewed-on: https://swiftshader-review.googlesource.com/12908Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
MultiplyAddPairs is implemented using VMULL+VPADD. MultiplyHighSigned/Unsigned is implemented using VMULL+VSHRN. SubVectorLoad/Store is implemented using VLDR/VLD1/VSTR/VST1. VectorPackSigned/Unsigned is implemented using two VQMOVN. Bug b/37496078 Bug b/37496856 Bug b/37496321 Bug b/37496082 Change-Id: I141fd901d53da24ce780f503dc7ad17b94fc6ba8 Reviewed-on: https://chromium-review.googlesource.com/693049Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Reviewed-on: https://swiftshader-review.googlesource.com/12709Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 29 Sep, 2017 5 commits
-
-
Casey Dahlin authored
Test: New test passes Bug: b/67106219 Change-Id: Ib21f73d312d39cf2b3aa15a11d2a207885a58978 Reviewed-on: https://swiftshader-review.googlesource.com/12828Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Casey Dahlin <sadmac@google.com>
-
Alexis Hetu authored
If imageSize is 0, inputPitch may be 0, which would cause a division by 0. In any case, if imageSize is 0, there's no work to perform, so we just skip loadCompressedData() entirely in that case. Bug:765094 Change-Id: Iedc6516ef6d025d24a8827597045cb3b83599e4a Reviewed-on: https://swiftshader-review.googlesource.com/12648Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
WindowSurface::checkForResize() contained an assert which got triggered in some tests. In order to avoid this issue, this cl gracefully handles an invalid window handle. Change-Id: I6bace88370980e94676d4af9de0d88e561175835 Reviewed-on: https://swiftshader-review.googlesource.com/12808Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Casey Dahlin authored
Bug b/37495545 Test: New tests pass Change-Id: Icc81729d8c65aadccdd685490218d298e671b638 Reviewed-on: https://swiftshader-review.googlesource.com/12768Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Casey Dahlin <sadmac@google.com>
-
Casey Dahlin authored
Bug b/37495545 Change-Id: I1d025f894bb7cf08dcaafd950605781633596ab3 Reviewed-on: https://chromium-review.googlesource.com/689098Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Reviewed-on: https://swiftshader-review.googlesource.com/12748Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 28 Sep, 2017 4 commits
-
-
Nicolas Capens authored
This also fixes the encoding of right shifts with unsigned elements. Bug b/37496338 Change-Id: I9a1dc91359daea5f4391a137b7f9e03bd941146b Reviewed-on: https://chromium-review.googlesource.com/688057Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Reviewed-on: https://swiftshader-review.googlesource.com/12668Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: I24a2ac536c24732538cc5c7f2aad4e7763989f9e Reviewed-on: https://chromium-review.googlesource.com/568673Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Reviewed-on: https://swiftshader-review.googlesource.com/12690Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Aaron Gable authored
R=bradnelson@chromium.org Bug: 665593 Change-Id: I1b9a5fd31c5e426bd193a32a2feb291eb17af5a6 Reviewed-on: https://chromium-review.googlesource.com/587993Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Reviewed-on: https://swiftshader-review.googlesource.com/12689Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Lei Zhang authored
The gold linker thinks that causes an ODR violation. BUG=chromium:449754 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2896133003 . Patch from Lei Zhang <thestig@chromium.org>. Change-Id: I7f39b1f6e638ad3462b9b462ebdb6348473b9fc5 Reviewed-on: https://swiftshader-review.googlesource.com/12688Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 27 Sep, 2017 6 commits
-
-
Nicolas Capens authored
x86 vector packing instructions always treat the input as having signed integer components, but can perform signed or unsigned saturation on the output. In Reactor the Pack() intrinsic has overloads which differentiate between them based on the signedness of the input, but this is confusing. Also simplify emulation of saturating add/subtract. Bug b/37496082 Change-Id: I0625fff429ffb40f42baf9600c7760d9858b5d89 Reviewed-on: https://swiftshader-review.googlesource.com/12548Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Google Test by default disables breaking into the debugger to be able to run to completion without interaction. Enable it for debug builds within Visual Studio. Change-Id: If36e3d74ab1ec98eefa221761e02a33bd8117151 Reviewed-on: https://swiftshader-review.googlesource.com/12588Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Call make before launching a debug session. Also move from the 'build' subdirectory to the 'debug' subdirectory to allow for a separate release build or other configuration. Change-Id: I6db00a5bb0a707ebbf9c160897852526a8bb73e1 Reviewed-on: https://swiftshader-review.googlesource.com/12528Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
We don't start timing until after the first frame finished rendering and is presented, so the frame count has to be 0 at that point. Change-Id: Ic242bb5625c6c50694e7625008565ee421859624 Reviewed-on: https://swiftshader-review.googlesource.com/12488Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
The problem was at line 827, where "(qHead - qSize) % 32" could give unexpected results if qSize > gHead (which wasn't a problem with unsigned values). Also removed other % operations which could have cause some issues. Change-Id: Ia443e05ce1add3879720e90f7dbac771e712d2ab Reviewed-on: https://swiftshader-review.googlesource.com/12568Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
The copy constructor of std::atomic is not allowed, so initialization through operator= is not allowed. Explicitly using the AtomicInt constructor to fix this issue. Change-Id: If77763e89e0d958d8a4b5a83d5d7bd9e3ba08ff6 Reviewed-on: https://swiftshader-review.googlesource.com/12508Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 26 Sep, 2017 1 commit
-
-
Alexis Hetu authored
MSAN detected uninitialized memory which caused many test failures. This can be easily fixed by zeroing out the memory before calling XCreateImage. Change-Id: I913c818ef38446055af7fd6aa885028e5f3f8bfb Reviewed-on: https://swiftshader-review.googlesource.com/12388Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 25 Sep, 2017 1 commit
-
-
Alexis Hetu authored
A few more variables were causing possible data races, so they were changed to AtomicInt variables. Change-Id: Icf233482528e086fc58f6919232ab2e3f0784689 Reviewed-on: https://swiftshader-review.googlesource.com/12368Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 21 Sep, 2017 2 commits
-
-
Alexis Hetu authored
TSAN detected many data race errors in the SwiftShader Renderer class. x86 has a strong memory ordering model which guarantees that changes are observed in the same order by other threads. However, C++ does not provide such guarantees unless specified using atomic operations. In order to fix these, a new AtomicInt class was added which is a basically a wrapper class for std::atomic<int> and which only exposes the portion of the API required by SwiftShader. Since std::atomic isn't available on older versions of Android, a fallback class was implemented without using std::atomic, which is closer to the previous implementation. Both classes appear to work properly after performing a few dEQP tests. Both also perform similarly. A few minor changes were made in order to attempt to reduce the use of atomic integer operations when possible. Change-Id: Ife6d3a2b6113346f8f8163b692e79c2a0e03b22f Reviewed-on: https://swiftshader-review.googlesource.com/12308Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
In order to catch errors faster, this change enables asserts on Chromium trybots. Change-Id: Ifdc4c9e0ec7d54aa7f6f333d992054c4e0062efe Reviewed-on: https://swiftshader-review.googlesource.com/12328Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 18 Sep, 2017 2 commits
-
-
Nicolas Capens authored
This FPS counter is disabled by default. Change-Id: Ida04352dece25a212cb678c9ceca4c31d654f373 Reviewed-on: https://swiftshader-review.googlesource.com/12128Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
The spec defines that the initial state for a newly bound renderbuffer has a format of RGBA4. However, when querying the number of red/green/ blue/alpha/depth/stencil bits, we should report the actual number of bits allocated (0), and not assert. Bug chromium:765912 Bug b/25351344 Change-Id: Icc3eb59e76bcbd6f0f2f16a2a75ace706ae17251 Reviewed-on: https://swiftshader-review.googlesource.com/12148Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 15 Sep, 2017 1 commit
-
-
Nicolas Capens authored
OpenGL requires depth values to be clamped to the [0, 1] range. Due to frustum clipping already limiting the range, this can only happen when non-zero polygon offset parameters are active. Also fix the 'minimum resolvable difference' for the 32-bit floating- point internal depth format that we use. Bug swiftshader:82 Change-Id: Ic9ebcac182a2bc81ab51d79cfe0bb451d340bd1e Reviewed-on: https://swiftshader-review.googlesource.com/12108Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 14 Sep, 2017 1 commit
-
-
Nicolas Capens authored
This does not fix the OGLSimpleCube sample. See swiftshader:81. Change-Id: I4bb5755d8b63f234965c3d12f774706968f2d34e Reviewed-on: https://swiftshader-review.googlesource.com/12088Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 13 Sep, 2017 1 commit
-
-
Nicolas Capens authored
Some applications may not call eglReleaseThread() before terminating a thread, which can cause a minor memory leak. pthread_key_create() supports specifying a destructor callback to implicitly free the thread-local storage on thread termination. On Windows we use the DLL_THREAD_DETACH signal to free it explicitly. This change also simplifies TLS management by removing the ability to set a new value. Bug swiftshader:80 Change-Id: I249ca519c1c9ab722e570516d0931cb17ea081bb Reviewed-on: https://swiftshader-review.googlesource.com/12068Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 11 Sep, 2017 1 commit
-
-
Nicolas Capens authored
The stencil test compares the unsigned masked reference value against the unsigned masked stencil value. But because x86 vector instructions only support signed comparison, we have to add 0x80 to both sides. However, this offset was incorrectly added before the masking. Bug b/64683344 Change-Id: I49748e25d8d99e1c2b3c87d3dbe74a9dba75fb1c Reviewed-on: https://swiftshader-review.googlesource.com/12028Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 05 Sep, 2017 1 commit
-
-
Nicolas Capens authored
eglReleaseThread() was leaking some memory because even though it deletes the 'current' thread state, it was inadvertently getting re-allocated when recording the success error state. Change-Id: I92efb1b34e62a21998b4fc19aaeba6473b06548b Reviewed-on: https://swiftshader-review.googlesource.com/11968Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 01 Sep, 2017 1 commit
-
-
Nicolas Capens authored
Emulated vectors have fewer elements than their underlying type, e.g. v4i16 is stored in the lower half of a v8i16 vector, but for constant vector construction we need to provide values for all the elements of the underlying vector. Bug b/65124545 Change-Id: Iaf942c4d517b1d4d464894ec501f7d339ae86438 Reviewed-on: https://swiftshader-review.googlesource.com/11908Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 31 Aug, 2017 2 commits
-
-
Nicolas Capens authored
Change-Id: Ia4feb6791c6da8dc4beef86aab7eb4fa06af461b Reviewed-on: https://swiftshader-review.googlesource.com/11869Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Jiyong Park authored
When BOARD_VNDK_VERSION is set, a vendor lib cannot link against a platform lib and is not provided with global include path. So, some internal libraries such as swiftshader_top_[release|debug] were also marked as vendor module and dependency to some header libs (libhardware_headers, libnativebase_headers, etc.) were added explicitly. Bug: 64704866 Test: lunch sdk_gphone_x86-user, BOARD_VNDK_VERSION=current m -j libEGL_swiftshader libGLESv1_CM_swiftshader libGLESv2_swiftshader successful Change-Id: I37851c9876f7f7c247bbc5d6e18946cb5bf72fa2 Reviewed-on: https://swiftshader-review.googlesource.com/11868Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 17 Aug, 2017 2 commits
-
-
Alexis Hetu authored
Removing the "STRICT_CONFORMANCE" restriction from Chromium. This allows OpenGL ES3 context creation when using the flag "--use-gl=swiftshader", which is the case when running layout tests. This does not allow WebGL 2 content to be used when using the flag "--disable-gpu". This will require extra validation on the Chromium side. Change-Id: Ic4770c1acbc454a954e1ce813ebed9ed3aee5cd2 Reviewed-on: https://swiftshader-review.googlesource.com/11750Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Implemented glGetFragDataLocation. There's very little coverage for this function in dEQP, but the one test that uses it passes. Change-Id: I6cfc93d7eaad54f23c922e45dafee9cba3401c83 Note: Chromium's ES3 path requires this function to be implemented. Reviewed-on: https://swiftshader-review.googlesource.com/11728Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 16 Aug, 2017 1 commit
-
-
Alexis Hetu authored
- GL_MAX_PROGRAM_TEXEL_OFFSET and GL_MIN_PROGRAM_TEXEL_OFFSET were technically already properly implemented, since the spec mentions that the behavior outside of these limits is undefined, and SwiftShader has no actual hard limit for these parameters. - GL_MAX_TEXTURE_LOD_BIAS also has no hard limit in SwiftShader, other than the limit imposed on LOD itself, so that limit was used for GL_MAX_TEXTURE_LOD_BIAS. Change-Id: I60b15b7f7a0febbc3e6582caff6c6a414a5d4964 Reviewed-on: https://swiftshader-review.googlesource.com/11709Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 14 Aug, 2017 1 commit
-
-
Robert Liao authored
SwiftShader requests the optimized flags for debug buidls for performance. This leads to an incompatible use of /O1 and /RTC1. BUG=chromium:755195 Change-Id: I53b6f99a67d0b8d5fc5932b677ee278aca300702 Reviewed-on: https://swiftshader-review.googlesource.com/11594Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Robert Liao <robliao@chromium.org>
-
- 12 Aug, 2017 1 commit
-
-
Nicolas Capens authored
Travis CI by default uses XCode 7.3 on Mac OS X, which does not support the C++11 thread_local keyword expected by Subzero. Request XCode 8 GM instead. Change-Id: I0afa7804997ff5b5a6bbfe7829ba6134fe3d54ca Reviewed-on: https://swiftshader-review.googlesource.com/11548Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-