- 28 Sep, 2017 2 commits
-
-
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 2 commits
-
-
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>
-
Nicolas Capens authored
matrix.include adds to the default builds which use Ubuntu Precise which doesn't come with C++11 support by default. Change-Id: I3c009bedc62aefd3363f749bb3cb22e9bc36fb9a Reviewed-on: https://swiftshader-review.googlesource.com/11528Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 11 Aug, 2017 2 commits
-
-
Nicolas Capens authored
Change-Id: I36a39720b34ccc58276f9943bf6ef289b1af9b1e Reviewed-on: https://swiftshader-review.googlesource.com/11511Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Subzero requires full C++11 support, which isn't available on Android versions prior to Marshmallow. Change-Id: Icf09a51b525a1503f72441c969a9e364306096bd Reviewed-on: https://swiftshader-review.googlesource.com/11488Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 10 Aug, 2017 2 commits
-
-
Alexis Hetu authored
The SwiftShader library, when used to render Layout Tests in Debug, causes too many timeouts. For that reason, we need the Debug version of the library have better overall performance. In Debug, the "default_optimization" defaults to "no_optimization". See: https://cs.chromium.org/chromium/src/build/config/compiler/BUILD.gn?l=1698 In Release, "default_optimization" defaults to "optimize", so in order to at least use the same optimization flags in both case, we replace "default_optimization" by "optimize" in Debug. The Win 7 (dbg) bot ran successfully with this change (the telemetry_tests were failing when building the full Release version of the SwiftShader library with the Debug version of Chromium). Change-Id: I3529160b539319e26f9898d2588536d378c3ee01 Reviewed-on: https://swiftshader-review.googlesource.com/11469Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
This follows the GLSL ES 1.0 and 3.0 specs more strictly. Change-Id: I323e90ef0a1588109e2cb7988136a9520e501a6d Reviewed-on: https://swiftshader-review.googlesource.com/5065Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 09 Aug, 2017 2 commits
-
-
Nicolas Capens authored
~mask[i % size] is the same as mask[~i % size] because it's just an expansion of i, so there's no need for invMask[] to store the former. Change-Id: I754732a2c4978281d35037941ecb74448ab78a8e Reviewed-on: https://swiftshader-review.googlesource.com/3258Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Branimir Karadžić authored
A timestamp query records the current time when it's issued, not when the data is being retrieved. Change-Id: Idb6e7fe6736a5b54bd23ef1613eaf953da86aa08 Reviewed-on: https://swiftshader-review.googlesource.com/5771Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 08 Aug, 2017 2 commits
-
-
Alexis Hetu authored
This cl simply makes the code compile on Ozone. It does not implement the FrameBufferOzone class, but provides a skeleton for it, which can be implemented by people on the ChromeOS team. Change-Id: Ib77e20b00e8208d992c80f47b5ba55e00254c812 Reviewed-on: https://swiftshader-review.googlesource.com/11348Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
There's an issue with the new debug specific path in the build files. Rolling back these changes in order to do the DEPS roll while the investigation on this issue continues. Change-Id: I9c2174d3ec2ab4e8f817c7cae32f69af1728c6c2 Reviewed-on: https://swiftshader-review.googlesource.com/11328Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 05 Aug, 2017 1 commit
-
-
Nicolas Capens authored
This enables swizzling of Int4 and UInt4 types using swizzle operators. Change-Id: I83fe5b472433d84a7b092e18eb78a919fb39b03b Reviewed-on: https://swiftshader-review.googlesource.com/8530Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 04 Aug, 2017 3 commits
-
-
Nicolas Capens authored
Known projects avoid using HAL_PIXEL_FORMAT_RGB_888 because we have no immediate desire to support it (for performance reasons), but other users may run into unexpected issues that previously would leave no trace. Change-Id: Idc606809117f8e0b200b4b38c58ba24696e7193c Reviewed-on: https://swiftshader-review.googlesource.com/11311Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
We currently don't support EGL configs/surfaces with sRGB formats. Change-Id: Ie23a5121bec784fe807c03feae19442fece3f1d7 Reviewed-on: https://swiftshader-review.googlesource.com/11268Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
This should allow to compile on the OZONE platform without hitting the X11 include library problem. The change is imported from: https://cs.chromium.org/chromium/src/third_party/khronos/EGL/eglplatform.h Change-Id: I3b3acc139865797ce6c4173991f15840e91f5935 Reviewed-on: https://swiftshader-review.googlesource.com/11308Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-