- 17 Jan, 2017 3 commits
-
-
Nicolas Capens authored
Bug swiftshader:20 Change-Id: I81ad267d450713ffe2a5a84e1d7f7f140b515c85 Reviewed-on: https://swiftshader-review.googlesource.com/8454Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Provide default constructors for each type, and initialize the swizzle parent in a less bug prone manner. Change-Id: Ia7f406a66274c7b1737cbe82db733e2e3ab65175 Reviewed-on: https://swiftshader-review.googlesource.com/8453Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: Ic8785bd56ac7303b0502f0303f9270a6999a1df9 Reviewed-on: https://swiftshader-review.googlesource.com/8452Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 16 Jan, 2017 3 commits
-
-
Nicolas Capens authored
Subzero silently allows inserting a 32-bit integer into a vector with 16-bit elements. This generates a pinsrd instruction, which requires SSE4.1, even when specifying to only support SSE2. This change emits a pinsrw instruction instead, which is SSE2. Bug swiftshader:20 Change-Id: I37bd0ebb6d9cfdd2cdef4788e89e9672386c685e Reviewed-on: https://swiftshader-review.googlesource.com/8450Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Subzero returns vNi1 type results for vector comparisons, which we were sign-extending to v4i32, even for smaller fields. We don't actually ever have to sign-extend these results. Change-Id: Ifdd30edd498d66fc4c557804035794a659eacd87 Reviewed-on: https://swiftshader-review.googlesource.com/8449Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Subzero uses a helper function to convert uint to float. It's faster to just emit a sequence of operations to perform the cast manually. This implementation converts the lower 31 bits as a signed integer, and adds 0x80000000 as a floating-point value when the upper bit is set. This approach does not produce the correct rounding in rare cases, but should still be adequate. For consistency, we're also using this method with the LLVM back-end. Change-Id: Ic5d7b73cd2a9e154056365cdbe9af0962bdbe1cb Reviewed-on: https://swiftshader-review.googlesource.com/8312Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 13 Jan, 2017 1 commit
-
-
Nicolas Capens authored
Change-Id: I01d1e3a5464ba81440cc144ac50beae2c8b3f3c8 Reviewed-on: https://swiftshader-review.googlesource.com/8448Reviewed-by:
Nico Weber <thakis@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 12 Jan, 2017 1 commit
-
-
Alexis Hetu authored
Whenever we land a SwiftShader related change in Chromium, it will look for owners of SwiftShader to make sure the cl is properly LGTMed before landing, so the file was added here. Also fixed a case typo in an rc file. Change-Id: I282a39764654a08b06320360dd66a5d877f368d3 Reviewed-on: https://swiftshader-review.googlesource.com/8428Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 10 Jan, 2017 2 commits
-
-
Nicolas Capens authored
Change-Id: Ie5f7d782764fbc40d4e3ed9cdce0110bbb9da80d Reviewed-on: https://swiftshader-review.googlesource.com/8408Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Chromium does not allow any third_party code to depend on base, so the main test runner for swiftshader's tests in chromium can't live inside the swiftshader repo. To solve this: 1) Added a test environment for swiftshader that will be used for testing in chromium. Currently, it is simply empty. 2) Split unit tests in 2 files, unittests.cpp, which will contain the tests ran by both chromium and swiftshader and main.cpp, which will be used as the swiftshader test runner, but NOT as the chromium test runner (that one will be added in chromium at the same time I do the swiftshader update). 3) The BUILD.gn file was updated to make the chromium version of the test depend on base and on the chromium version of the swiftshader test runner (swiftshader_tests_main.cc, to be added). Change-Id: I1128bb482565908bc285dcd6818d90d1d881a50e Reviewed-on: https://swiftshader-review.googlesource.com/8409Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 09 Jan, 2017 4 commits
-
-
Nicolas Capens authored
PNaCl does not use the Microsoft x86-64 calling convention on Windows, so the System V convention is the new default for Subzero. We need to set a compile definition to explicitly request the use of the Microsoft convention. Change-Id: Ic70f5015d4b5753aa08a1247b6ac73eb9a9d278c Reviewed-on: https://swiftshader-review.googlesource.com/8378Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
libX11 may have already been loaded (dynamically or statically) by the application. Attempting to load it again could result in a different version being loaded, causing various compatibility issues. Bug b/32880157 Change-Id: Ica8e6b1c85b82469885a20dcef31e25e6b598132 Reviewed-on: https://swiftshader-review.googlesource.com/8348Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
CMake considers built-in configuration variables to be predefined, thus setting CMAKE_BUILD_TYPE with a default value doesn't work because it already exists. The FORCE attribute overrides it, but we have to guard against overriding user-specified values. Change-Id: Icf1cad6af15e788c5ae9ac8424f1ef0d29f9a1ff Reviewed-on: https://swiftshader-review.googlesource.com/8377Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug b/34128224 Change-Id: I4aebcda840baa8ceef2ae99c98a80a83e32b89b3 Reviewed-on: https://swiftshader-review.googlesource.com/8376Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 06 Jan, 2017 6 commits
-
-
Nicolas Capens authored
This enables building with either LLVM or Subzero as the Reactor JIT compiler back-end, on both Linux and Windows. Change-Id: I4c052d224cd1302b7de412df58b07ee275ba924f Reviewed-on: https://swiftshader-review.googlesource.com/8375Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Change-Id: I82b6a3f5336ca64dea30a8d9541fcf43c7ead81a Reviewed-on: https://swiftshader-review.googlesource.com/8373Tested-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: I3ad40f5c0f9faf8aa27356b72b4d98763b9711d7 Reviewed-on: https://swiftshader-review.googlesource.com/8372Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I03c5ebf799af288558d08190058d03f1ac2922b7 Reviewed-on: https://swiftshader-review.googlesource.com/8355Reviewed-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: Ib1339f5a40523007ca5832ed1bc7b7d096e6c1f2 Reviewed-on: https://swiftshader-review.googlesource.com/8374Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
This silences a benign assert in the config sorting operator which checks for unique configs. On platforms other than Android, all of the configs are marked as conformant. Bug b/34029810 Change-Id: I600d67747ba24f153a0316609e5a783991093ebd Reviewed-on: https://swiftshader-review.googlesource.com/8388Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 05 Jan, 2017 3 commits
-
-
Nicolas Capens authored
The spec states that glViewport() silently clamps the viewport width and height to GL_MAX_VIEWPORT_DIMS[0] and GL_MAX_VIEWPORT_DIMS[1], respectively. Bug b/34078120 Change-Id: Ifeec0d6b601ce8a3825796fa551eea1f46150002 Reviewed-on: https://swiftshader-review.googlesource.com/8371Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Rasterization of very large triangles was causing signed 32-bit integer overflow due to multiplying two unsigned 12.4 fixed-point coordinates. The equations have been reworked to only require multiplication of 12.4 by 0.4 fixed-point. Bug b/34078120 Change-Id: I227b81254559af04baf50fbfec6a7f123bd230e3 Reviewed-on: https://swiftshader-review.googlesource.com/8370Tested-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: Ibfd483ce3cba6ec036327b32cba1460d68f8c9e8 Reviewed-on: https://swiftshader-review.googlesource.com/3542Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 04 Jan, 2017 1 commit
-
-
Nicolas Capens authored
The index used to index into a structure (a scalar) used to have the vector size of the resulting type. This changed recently to always be 1, so the field type size needs to be determined from the fields themselves, which is also the type of the indexing result. Change-Id: I2dc373d8d31b02c0f69879cb0a3feacd83d6e473 Reviewed-on: https://swiftshader-review.googlesource.com/8368Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 03 Jan, 2017 2 commits
-
-
Lingfeng Yang authored
If VAOs are deleted starting from 0, then the following happens when an app's context has genned two VAO's that are both != 0, and the first of the two nonzero VAOs is the current one: VAO 0 VAO 1 <- current VAO 2 in context dtor loop over vao map: delete vao 0 (done) delete vao 1: is current, so bind 0: in bind 0, we create a new map entry since 0 was deleted next loop iter deletes vao 0 again (done) *** at this point, vao 0 pointer refers to freed memory *** next loop iter wants to delete vao 2, but the current vao is 0 and refers to freed memory. then, in Context::deleteVertexArray: if (getCurrentVertexArray()->name...) <- Segmentation fault (core dumped) This CL deletes VAO 0 last. Change-Id: Ifa606ad7517cd213f21606577d3bdd8d810b640d Reviewed-on: https://swiftshader-review.googlesource.com/8350Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Lingfeng Yang <lfy@google.com>
-
Nicolas Capens authored
Allow experimental access to OpenGL ES 3.0 for Android, when the application explicitly sets the EGL_CONFIG_CAVEAT config attribute to EGL_NON_CONFORMANT_CONFIG or EGL_DONT_CARE. Bug b/34029810 Change-Id: I942a6d4812d89446f7045f020df974489c4c0ab3 Reviewed-on: https://swiftshader-review.googlesource.com/8352Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 16 Dec, 2016 1 commit
-
-
Alexis Hetu authored
Attribute location wasn't working properly. This faulty constructor explains why. Change-Id: I7701ad316df0684ad02ed405bd2905d56a848bd6 Reviewed-on: https://swiftshader-review.googlesource.com/8328Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 14 Dec, 2016 2 commits
-
-
Alexis Hetu authored
A few things were failing when trying to use GL_SAMPLE_ALPHA_TO_COVERAGE: - The alpha test should not be skipped when GL_SAMPLE_ALPHA_TO_COVERAGE is set, otherwise no computation is performed. - The alpha reference value was wrong (the alpha-to-coverage ramp is centered around it) Change-Id: Ib9849868d267ca49fb3f0112192af8f207d34307 Reviewed-on: https://swiftshader-review.googlesource.com/8308Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Change-Id: I6554202f899559903062155833d49fe43456149b Reviewed-on: https://swiftshader-review.googlesource.com/8310Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 13 Dec, 2016 8 commits
-
-
Nicolas Capens authored
Bug swiftshader:23 Change-Id: Ifb2862e8358141f67a7974d3fa0a11e6fe41b904 Reviewed-on: https://swiftshader-review.googlesource.com/8290Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug swiftshader:27 Change-Id: Ia5f7da431902c3e87aab47b1dd388e05ced74cd3 Reviewed-on: https://swiftshader-review.googlesource.com/8274Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug swiftshader:27 Change-Id: I11238decf114381126a7465c462d918a3f16b0d8 Reviewed-on: https://swiftshader-review.googlesource.com/8273Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug swiftshader:27 Change-Id: I58259e00204550a397522fc26578c9f4d847f502 Reviewed-on: https://swiftshader-review.googlesource.com/8272Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug swiftshader:27 Change-Id: If085323dc6cc4325c6ff55c1021e98db94a75302 Reviewed-on: https://swiftshader-review.googlesource.com/8228Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
2 issues affected default attributes: 1) The stream type did not match the attributes' internal representation 2) The normalized flag was left uninitialized, meaning it was using whatever had been set in the previous draw call. Change-Id: I25b425944e6f59206bf3ef4db35b56d26ef83168 Reviewed-on: https://swiftshader-review.googlesource.com/8292Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I09e3615399db4db256d94ba83d44a7b6b17ee2ec Reviewed-on: https://swiftshader-review.googlesource.com/8291Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Imported some of the more trivial bug fixes: - Added a few missing interface block cases - Added checks for varying structs - Added checks for unsized arrays - Added first-class array check for pre ES3 compilation - Added check that ES3 functions do not use builtin names (ES3 only) - Added more binary operator checks Change-Id: I3d75453f17e1123478ef7da0998e869970a7fb7d Reviewed-on: https://swiftshader-review.googlesource.com/8289Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 10 Dec, 2016 1 commit
-
-
Nicolas Capens authored
We were using Ice::Variable as the implementation type for Reactor's abstract Value class only because shuffle operations required them. Bug swiftshader:24 Change-Id: If87ab5f0b0bca5fbffe2df250ed03b7a1b1490c6 Reviewed-on: https://swiftshader-review.googlesource.com/8258Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 09 Dec, 2016 1 commit
-
-
Nicolas Capens authored
Change-Id: I079991d257be4aa00a0aef938ccf0110cd005bcd Reviewed-on: https://swiftshader-review.googlesource.com/8288Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 08 Dec, 2016 1 commit
-
-
Nicolas Capens authored
Change-Id: I98853d4858136553be730b07b02db95d1800035c Reviewed-on: https://swiftshader-review.googlesource.com/8275Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-