- 26 Jul, 2017 12 commits
-
-
Nicolas Capens authored
Bug b/37496082 Change-Id: I993f34baf6169b0bc3c37742f6238dba38a67d0a Reviewed-on: https://swiftshader-review.googlesource.com/10955Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug b/37495545 Change-Id: I767f7b5555706cd42b80863fe1ae04b36f4f1189 Reviewed-on: https://swiftshader-review.googlesource.com/10932Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug b/37496809 Change-Id: I34d0d511bd50890c36d292ab431115f5d2e65a58 Reviewed-on: https://swiftshader-review.googlesource.com/9492Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug b/37496338 Change-Id: I01e4aaf49e86d9c2f11647a0e84bf1ee388a90cf Reviewed-on: https://swiftshader-review.googlesource.com/10931Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug b/37496321 Change-Id: I173b458a0d1d477ad75deaa33508ae1766c182c0 Reviewed-on: https://swiftshader-review.googlesource.com/9491Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: I4eaee73caca1e2552cd63901a6c9107efbeaa2f8 Reviewed-on: https://swiftshader-review.googlesource.com/10930Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Subzero only supports 128-bit vectors currently, but we need to support bitcasting between scalars and (emulated) short vectors of the same size. Subzero implicitly supports it on x86 by using movd instructions, but on ARM we have to emulate it in Reactor until support for it is added in Subzero. Bug swiftshader:48 Change-Id: I95accbc3665815a46dac8e52ce30939ac64aaf44 Reviewed-on: https://swiftshader-review.googlesource.com/10929Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
If a load uses the same address as a previous store, we can only replace it with the store's data when their types match. Also, stores can only be eliminated when all the loads following them have been replaced. Bug swiftshader:48 Change-Id: I5968b256cb295243c30df3598e49015bccb5bff1 Reviewed-on: https://swiftshader-review.googlesource.com/10950Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
If the previous store operation is wider than the next one, we can't eliminate it because there could be a subsequent wide load reading its non-overwritten data. Bug swiftshader:48 Change-Id: Iccb9cabad8ab8503140061ec4ce711a2959de33d Reviewed-on: https://swiftshader-review.googlesource.com/10948Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug swiftshader:48 Change-Id: I05352fd64cb2e5a929295ff6a8f6196da7fdbb4b Reviewed-on: https://swiftshader-review.googlesource.com/10949Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
When constructing an RValue<T> from a Value, the types should match. Else a bitcast is required. Bug swiftshader:48 Change-Id: I5073091524d2f56681dab052c9f84a06b3be7b4f Reviewed-on: https://swiftshader-review.googlesource.com/10908Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: I0d25174bc92b6228f433f5d6840d3d94223c683e Reviewed-on: https://swiftshader-review.googlesource.com/11008Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 25 Jul, 2017 2 commits
-
-
Alexis Hetu authored
glGetString wasn't returning es3 specific extensions. Change-Id: Ief89eb448b3e821bfb7919ece97c03976569060c Reviewed-on: https://swiftshader-review.googlesource.com/10954Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Function pointers from exported functions are wrongly flagged as being of incorrect type. This happens both on libEGL and libGLESv2 entry functions, as well as functions called between them. Bug chromium:746914 Change-Id: I2bf5a8f06546c233ede7a4820c0cda3e997f096e Reviewed-on: https://swiftshader-review.googlesource.com/10868Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 24 Jul, 2017 1 commit
-
-
Alexis Hetu authored
UInt4 -> Float4 already existed, but not UInt -> Float. Added the scalar conversion code and used it in the Blitter where appropriate. Change-Id: I9ebf63fdf8b139b960237b269f2da088f6ecac86 Reviewed-on: https://swiftshader-review.googlesource.com/10888Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 21 Jul, 2017 2 commits
-
-
Nicolas Capens authored
Only libGLESv2 was clearing all the samples of a multisample buffer. Since all known APIs always clear all the samples, this could be handled in the Renderer. Bug swiftshader:77 Change-Id: Ib9adc3c61d263420ed0a0ae4828a693bd360b076 Reviewed-on: https://swiftshader-review.googlesource.com/10788Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
By default, in D3D, R, G or B channels default to 1 when no value is assigned to them. In OpenGL, these channels default to 0. Added an entry to Conventions to fix this issue. In dEQP, this fixes all R and RG types tests from: functional.texture.format.* Change-Id: Ib5552aa36eaf4e3e1132f016f002250b40436227 Reviewed-on: https://swiftshader-review.googlesource.com/10828Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 20 Jul, 2017 5 commits
-
-
Alexis Hetu authored
All texture formats, except YUV or sRGB formats, now have access to the floating point path for texture filtering. High precision filtering can be enabled using: glHint(GL_TEXTURE_FILTERING_HINT_CHROMIUM, GL_NICEST) Bug swiftshader:76 Change-Id: Iabbe86d1bbf43070bfc5f61254c101a75c744401 Reviewed-on: https://swiftshader-review.googlesource.com/10808Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Integer formats are: UInt32/Int32/UInt16/Int16/UInt8/Int8 The 32 bit formats required using the floating point path for precision, while the 16 bit and 8 bit formats were going through the short integer path. Since all formats need to be treated as Int within a 32 bit Float in the end, this cl unifies all integer formats under the same path. Related dEQP tests are: functional.texture.format.sized.2d.* Bug swiftshader:76 Change-Id: Ia2e0972243290e8b1139081222a3f19ab9e65c9f Reviewed-on: https://swiftshader-review.googlesource.com/10748Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: Ie02591ba84ba8a4b204a2cb05179718e397e5c21 Reviewed-on: https://swiftshader-review.googlesource.com/10768Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Modified the texture coordinate computation to use floating point operations when sampling floating point textures to increase accuracy and remove useless type conversions. Bug swiftshader:76 Change-Id: I76e5fd9a68aa6ba5eb21524edb8c6c6183e5430e Reviewed-on: https://swiftshader-review.googlesource.com/10628Tested-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Our approximation for log2() linearly interpolates between powers of two. This is not accurate enough for some use cases. Squaring the input effectively doubles the number of piecewise linear segments. Bug swiftshader:71 Change-Id: Ie7a1da6b93cb5fbed018b61cf8510393964b5aa4 Reviewed-on: https://swiftshader-review.googlesource.com/10450Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 19 Jul, 2017 3 commits
-
-
Alexis Hetu authored
A new extension will be added to SwiftShader in order to allow Chromium to trigger high precision filtering when necessary. This extension is documented in: extensions/CHROMIUM_texture_filtering_hint.txt Bug swiftshader:76 Change-Id: I7c5b5c5fd01afbd7079e7949ecbd9c18fc539f2b Reviewed-on: https://swiftshader-review.googlesource.com/10708Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Sanitizer tools require type information to catch undefined behavior and other issues. This wasn't available accross libraries due to the version script giving them hidden visibility, leading to false positives. Bug chromium:737384 Change-Id: Iab3e25f4da3672f694e32c1c89278a3fe677d51a Reviewed-on: https://swiftshader-review.googlesource.com/10728Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
This change is effectively noop by itself, but allows the floating point path to read all texture formats (except YUV). This is required by the floating point path to be able to perform higher precision filtering on all formats (except YUV). Bug swiftshader:76 Change-Id: I5d0d24c00357b4b77cca2ca8a65d082db7635b40 Reviewed-on: https://swiftshader-review.googlesource.com/10668Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 17 Jul, 2017 2 commits
-
-
Nicolas Capens authored
Visual C++ 2015 provides an actual snprintf implementation, so we shouldn't use _snprintf, which does not guarantee null-termination. Bug swiftshader:75 Change-Id: Ia45e49e77a6076e8f9f12ad74c6ad50dbdbf2dbd Reviewed-on: https://swiftshader-review.googlesource.com/10688Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Frac() should always produce results in the range [0.0, 1.0), and thus never produce a 1.0. However, the current implementation uses x - floor(x) and this returns 1.0 for very small negative values due to catastrophic cancellation. Bug swiftshader:74 Change-Id: I942dd7cfb1f7ee3a260070e748704f005eed0b13 Reviewed-on: https://swiftshader-review.googlesource.com/10648Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 14 Jul, 2017 1 commit
-
-
Alexis Hetu authored
The code to compute the final RGB565 conversion is now generated once instead of being generated 4 times. Change-Id: Id90ddd28d6ec4fb957d8093e6b9689462751002b Reviewed-on: https://swiftshader-review.googlesource.com/10609Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 12 Jul, 2017 3 commits
-
-
Ben Vanik authored
Currently in debug builds swiftshader is not thread safe because of this tracking code. This change makes it safe to create/delete objects from multiple threads. Change-Id: I9c8d3efc370687891b1acc786499bda02c86ad01 Reviewed-on: https://swiftshader-review.googlesource.com/10528Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Vanik <benvanik@google.com>
-
Ben Vanik authored
Fixes bug swiftshader:73. Change-Id: I6d36348996d22cf507a4badc3af90ce8d654eb71 Reviewed-on: https://swiftshader-review.googlesource.com/10510Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Vanik authored
Fixes bug swiftshader:72. Change-Id: I4fcc6c47ec8561150c88fea200aeb6baf9534c00 Reviewed-on: https://swiftshader-review.googlesource.com/10511Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Ben Vanik <benvanik@google.com>
-
- 11 Jul, 2017 3 commits
-
-
Nicolas Capens authored
Change-Id: Ibec89dd4463274db4ed7381cf20320a0c9f46a57 Reviewed-on: https://swiftshader-review.googlesource.com/10549Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Android now also uses OWNERS files for commit approval in Gerrit (see b/33166666). But they don't recognize the @chromium.org accounts. We shouldn't need them for Chromium if we just use our @google.com accounts, so they can be removed. Also use full account names instead of aliases. Bug b/63147516 Change-Id: Ic5dfab1aad0025ec20f5a0f79b612c893fece8fc Reviewed-on: https://swiftshader-review.googlesource.com/10548Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
eglGetCurrentDisplay() returned a pointer to the concrete egl::Display object, instead of the opaque identifier obtained from eglGetDisplay. This was a regression caused by https://swiftshader-review.googlesource.com/10188 Bug chromium:738298 Change-Id: Id3a87fc3978f8f4efdc77d6c5eaa85743fa3672c Reviewed-on: https://swiftshader-review.googlesource.com/10508Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 10 Jul, 2017 1 commit
-
-
Nicolas Capens authored
Some platforms don't support constructors that get called when the shared library gets loaded. This results in the thread-local-storage key to never be allocated. Instead we can check if it was allocated on each use. Also prevent creating new 'current' state if it already exists, and avoid pthreads undefined behavior. Bug b/25629882 Change-Id: I5e2486f88185150b976d88d0144e4d13a349eb79 Reviewed-on: https://swiftshader-review.googlesource.com/10451Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 07 Jul, 2017 2 commits
-
-
Alexis Hetu authored
No behavior is modified in this cl. log2() was calling logarithm2() with the wrong options, but logarithm2() currently ignores all options, so this had no consequence. Fixing to prevent future errors. Change-Id: I6518d9d90fc1f34cadab2de12657064b2510b463 Reviewed-on: https://swiftshader-review.googlesource.com/10429Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
The MemorySanitizer tool can't instrument JIT-compiled code, so it's unaware that the vertex processing routine writes the clip flags before they're being read by triangle setup. This false positive can be silenced by zeroing the memory at allocation. For good measure, zero out all intermediate buffers. Bug chromium:737875 Change-Id: Ic37ff5c64cb63bbddb151744af1d7dff0a254c2d Reviewed-on: https://swiftshader-review.googlesource.com/10431Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 06 Jul, 2017 1 commit
-
-
Nicolas Capens authored
We were only checking depth stencil surface height against OUTLINE_RESOLUTION. Instead both color buffers and depth stencil buffers should be checked against the GL implementation's limits. Change-Id: I3784f80df4ea950760db7273185fb9312802bdd3 Reviewed-on: https://swiftshader-review.googlesource.com/10410Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 05 Jul, 2017 2 commits
-
-
Nicolas Capens authored
getGlobalInits() moves ownership of a unique_ptr<>, which we released to obtain the raw pointer, but we didn't delete it afterwards. This is fixed by keeping the unique_ptr<> and having it freed at the end of the scope. Bug chromium:732739 Change-Id: I4d8c9367f34790944daabc0417af08eb4b4c7c2e Reviewed-on: https://swiftshader-review.googlesource.com/10409Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
The blitter aborts generating a Reactor routine when a less common format is being used (causing fallback to statically compiled code). But the intermediate Reactor and Subzero structures were not being freed. It is fixed by deleting the global routine when the Function<> goes out of scope and it hasn't been acquired yet. Bug chromium:732691 Change-Id: I4904a467454e8e8d2ff0dbf64545823c9fd15802 Reviewed-on: https://swiftshader-review.googlesource.com/10408Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-