- 10 Apr, 2018 5 commits
-
-
Nicolas Capens authored
Strict compilation requires symbols used in template functions to have been declared, which will be enforced in future compilers. Bug swiftshader:103 Change-Id: Ibfc05011b1a2938e958dfacf6792477362699dc6 Reviewed-on: https://swiftshader-review.googlesource.com/18448Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Greg Hartman authored
Bug b/75229322 Test: Local build of K Fixes build break ab/4660759 Change-Id: Ib2cb43594b331c4415650517df65e8ccd497f820 Reviewed-on: https://swiftshader-review.googlesource.com/18190Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Greg Hartman authored
It's not safe to rely on LOCAL_MODULE_RELATIVE_PATH on all branches Cleaned up some unnecessary ifdef's Bug b/75229322 Test: Local build of K Fixes build break ab/4660124 Change-Id: I48d3400a2109cd5a2cf593e03f9e234f490c8252 Reviewed-on: https://swiftshader-review.googlesource.com/18189Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Android versions before M did not have: std::shared_ptr std::unique_ptr std::to_string This is fixed by extending stlport with custom implementations for these features. This works by using 'string' and 'memory' header files in a path searched before stlport itself, in which the new features are implemented, and including stport's original headers for all other functionality. Bug b/75229322 Change-Id: Icd05c072c366381155e086c3f14f805bc4f104d6 Reviewed-on: https://swiftshader-review.googlesource.com/18408Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Greg Hartman authored
libnativebase and liblog_headers didn't exist until O MR1 Bug b/75229322 Test: Local builds K through P DP1 Change-Id: I07361e4ef8a98108536319428741554b937eda1a Reviewed-on: https://swiftshader-review.googlesource.com/17768Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 09 Apr, 2018 3 commits
-
-
Alexis Hetu authored
Added support for eglCreatePbufferFromClientBuffer(), using an IOSurface on MacOS, or just a straight buffer pointer on other platforms. Added new unit tests (IOSurfaceClientBufferTest class), which pass on both Windows and MacOS. Change-Id: I79a6b420d85fb1f3ae505e0c0067bad2e27510d4 Reviewed-on: https://swiftshader-review.googlesource.com/17168Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
The array size is set using the value returned by arraySizeErrorCheck, even when an error occurred, so don't leave it uninitialized. Bug chromium:801648 Change-Id: If2af27c5f61dca2931796f1681dce61ab6a44341 Reviewed-on: https://swiftshader-review.googlesource.com/18368Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
On MacOS, the BGRA format is used for framebuffers. Because of that, copying from the BGRA format must be allowed in the same places the RGBA format is allowed. This fixes the following WebGL test on MacOS: conformance/textures/misc/copy-tex-image-2d-formats.html Change-Id: I45c6b81a894dd8d55c4ab5cff0cf9ad1a08c8303 Reviewed-on: https://swiftshader-review.googlesource.com/18348Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 06 Apr, 2018 2 commits
-
-
Alexis Hetu authored
The data pointer 'buffer->data()' was being used without the offset applied, which means we were using the wrong part of the index buffer when primitive restart is enabled. 'indices' should already contain the properly offset buffer pointer, so using it directly should work. Bug chromium:823096 Change-Id: If70634f63d40d8efde9b1336370c1a63b1faa19f Reviewed-on: https://swiftshader-review.googlesource.com/18268Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Greg Hartman authored
This cleans up a problem that was introduced by https://swiftshader-review.googlesource.com/17188 LOCAL_VENDOR_MODULE was first supported on O, so when we build SwiftShader on earlier branches the libraries land in /system. The fix in the Android.mk files would be complicated and would revert some of the cleanup, and would cause issues for 64 bit only builds. While it would be possible to extend the original approach, it just seems cleaner to check in /system at runtime. Bug b/76437145 Test: Local build and boot of Cloud Android N Change-Id: I86e0363a8cbd7b8f2ba744f14a67dfe457f3725f Reviewed-on: https://swiftshader-review.googlesource.com/18288Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 04 Apr, 2018 1 commit
-
-
Mustafa Çamurcu authored
Windows implementation for FrameBuffer needs priority over Ozone. When building Chrome for Windows using Ozone, since use_ozone=true, some required windows definitions don't get defined. Change-Id: I6b8475c036dc88f7e3cb118a7db286afc75857fe Reviewed-on: https://swiftshader-review.googlesource.com/17968Tested-by:
Mustafa Çamurcu <camurcu@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 29 Mar, 2018 1 commit
-
-
Nicolas Capens authored
Bug chromium:825545 Change-Id: I37d6192bf65115938943f45d43e153196a7d569a Reviewed-on: https://swiftshader-review.googlesource.com/18128Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 27 Mar, 2018 2 commits
-
-
Alexis Hetu authored
It seems like SwiftShader already supports surfaceless contexts properly in eglMakeCurrent, so we might as well expose the extension strings. Change-Id: I3c1b85296c46536df9a8bd754856d825307181d0 Reviewed-on: https://swiftshader-review.googlesource.com/17948Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
This reverts commit 9869bedb. It broke 32-bit builds on Windows because GLsizeiptr and GLintptr are defined as different types (int vs. long) in gl2.h and glcorearb.h. See also https://github.com/KhronosGroup/OpenGL-Registry/issues/162 Change-Id: Ia7bd4accb1671529ce6da6849a1df76dceddcdee Reviewed-on: https://swiftshader-review.googlesource.com/18068Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 26 Mar, 2018 8 commits
-
-
Nicolas Capens authored
Change-Id: Ifeee2d5c637586e6b843080aaceb446bd0b5af11 Reviewed-on: https://swiftshader-review.googlesource.com/18048Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Convert packed types to the next greater non-packed component type. Specifically, when the red component has fewer than 8 bits, use the corresponding sized internal format with 8-bit components. Note that this is still not fully compliant. The OpenGL ES 3.0 spec section 3.8.5 states that: If internalformat is unsized, the internal format of the new texel array is determined by the following rules, applied in order. If an effective internal format exists that has 1. the same component sizes as, 2. component sizes greater than or equal to, or 3. component sizes smaller than or equal to those of the source buffer’s effective internal format (for all matching components in internalformat), that format is chosen for the new image array, and this is also the new texel array’s effective internal format. This means that in theory when copying an RGBA4 framebuffer into an RGB texture, the effective internal format should be RGB565, not RGB8. However, dEQP does not enforce this, and ANGLE always assumes UNSIGNED_BYTE components. Change-Id: Id243b963779108e205c275499ddfb6e041a873d6 Reviewed-on: https://swiftshader-review.googlesource.com/17969Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Change-Id: I5be0cc629477b6cfb3ede6b4484f067d1c30b0ec Reviewed-on: https://swiftshader-review.googlesource.com/17929Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
When a pixel unpack buffer is bound, glTexImage calls interpret the <pixels> parameter as an offset into the pixel buffer. We weren't validating that the accessed data falls within the buffer, when taking the offset into account. Bug chromium:822976 Change-Id: I3ab23e3b135fd4ad1e55555eec95d584684f5d82 Reviewed-on: https://swiftshader-review.googlesource.com/17928Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Fixing https://github.com/KhronosGroup/OpenGL-Registry/pull/149 enabled including desktop OpenGL headers without conflicts, so we no longer have to define enums for ARB extensions ourselves. Change-Id: Ifa05112f1e1d21bb8a22b83519babbbb3e4d6462 Reviewed-on: https://swiftshader-review.googlesource.com/17909Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Using revision https://github.com/KhronosGroup/OpenGL-Registry/commit/6565c242fbdad6258a73f506b0baa61f62edd67c Change-Id: I0e48ff5d700a2f21c9b52f992e90ca37b9800630 Reviewed-on: https://swiftshader-review.googlesource.com/17908Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
When the external buffer is the one that is dirty, avoid a useless copy from external to internal before fast clearing the buffer by clearing the external buffer directly. Change-Id: I469243ba8a2b8617f9a0f8b6e2a089f667b8ae63 Reviewed-on: https://swiftshader-review.googlesource.com/18033Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
When clearing a multisampled buffer, the reactor blitter was only clearing the first sample. This cl makes the reactor blitter effectively clear all samples of a multisampled buffer. Change-Id: I7ce1af401bf537fe85e1c8393a2c57144641ad8e Reviewed-on: https://swiftshader-review.googlesource.com/18032Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 21 Mar, 2018 1 commit
-
-
Nicolas Capens authored
Bug swiftshader:99 Bug chromium:820461 Change-Id: I2232c27d57aedff03293b37607f97ead56c056c9 Reviewed-on: https://swiftshader-review.googlesource.com/17808Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 20 Mar, 2018 5 commits
-
-
Alexis Hetu authored
On MacOS, libraries have a couple of minor issues and, as a safety, let's make sure no other library than the required library is loaded. Change-Id: I376b77b3cf3f635ff57c12ccde2b9e84d4105adc Reviewed-on: https://swiftshader-review.googlesource.com/17888Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: Ib6e656a7913cf245c73c096376241f6e1f567b6b Reviewed-on: https://swiftshader-review.googlesource.com/17869Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: I7388b3f5d17e35e55726797ba40631fd8590fb24 Reviewed-on: https://swiftshader-review.googlesource.com/17868Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Change-Id: I501b72e5d33b26075488c0af999713c192c4ac0b Reviewed-on: https://swiftshader-review.googlesource.com/17848Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug b/75778024 Change-Id: Idf17c094ef858b3712839ffe335dc943cd0bd084 Reviewed-on: https://swiftshader-review.googlesource.com/17828Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 16 Mar, 2018 1 commit
-
-
Nicolas Capens authored
Change-Id: I92c4c203433c8dc92887c5470631926c3cac1d27 Reviewed-on: https://swiftshader-review.googlesource.com/17788Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 15 Mar, 2018 1 commit
-
-
Nicolas Capens authored
GL_HALF_FLOAT_OES and GL_HALF_FLOAT have different enum values, and we weren't handling the case where a half-float texture was already created (e.g. with an effective internal format of GL_RGBA16F) and then updated with a glTexSubImage call using GL_HALF_FLOAT_OES type. In other words, we assumed the OpenGL ES 3.0 sized internal format could only be used with the OpenGL ES 3.0 half-float type, but this hasn't been true since we started storing only the effective internal format for all versions. Note that GL_OES_texture_half_float, which defines GL_HALF_FLOAT_OES, does not clarify whether HALF_FLOAT images can be updated using FLOAT, or vice-versa. We're assuming the equivalent combinations of OpenGL ES 3.0 table 3.3 are valid. That is, FLOAT can be used to update, HALF_FLOAT, but not the other way around. Bug b/74609191 Change-Id: Ib8548cd37065820eb59a0943fd39647edc5e9f1b Reviewed-on: https://swiftshader-review.googlesource.com/17748Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 14 Mar, 2018 1 commit
-
-
Alexis Hetu authored
GL_CHROMIUM_color_buffer_float_rgba (OpenGL ES 2.0) is a subset of GL_EXT_color_buffer_float (OpenGL ES 3.0), which SwiftShader already supports. Fixes 1 webgl conformance tests: conformance/extensions/oes-texture-float.html Change-Id: Ic1451187db219af74ba41fa7634bd5bcb6fb0b44 Reviewed-on: https://swiftshader-review.googlesource.com/16470Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 13 Mar, 2018 1 commit
-
-
Nicolas Capens authored
We weren't checking the return status of an XGetWindowAttributes() call while checking for a resized window. It appears that it can start to fail possibly due to an out-of-memory situation or the window being destroyed before the EGL surface. Note that the EGL spec does not have a recommendation on how to handle this situation. Generating EGL_BAD_ALLOC is intended for eglCreate* call failures, while EGL_BAD_NATIVE_WINDOW appears to be reserved for calls that take a native window as a parameter. eglSwapBuffers is neither. Bug chromium:819481 Change-Id: I270730567b5179ee43b814e8bd017b601dfbe079 Reviewed-on: https://swiftshader-review.googlesource.com/17708Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 08 Mar, 2018 2 commits
-
-
Alexis Hetu authored
- Added EXPECT_GLENUM_EQ to solve signed/unsigned comparisons - Added createProgram and drawQuad utility functions to reduce code duplication Change-Id: I8a62110346de501a1a77ec9688cf06b321385661 Reviewed-on: https://swiftshader-review.googlesource.com/17668Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Being able to sample from sampler2DRect using the "texture" function is required for Chromium on Mac. Change-Id: Iea8970aaec29734a251bcfc19a03223d0ebfbc7e Reviewed-on: https://swiftshader-review.googlesource.com/17572Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 07 Mar, 2018 3 commits
-
-
Nicolas Capens authored
Change-Id: If560b8b41b869458ff4b3a6a314f389c8e7a22f9 Reviewed-on: https://swiftshader-review.googlesource.com/17648Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Chih-Hung Hsieh authored
Suppress existing warnings. Bug b/66996870 Change-Id: I9b78f840638a57c2559ccc4dbc583cc6a6e21c14 Reviewed-on: https://swiftshader-review.googlesource.com/17630Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Jiyong Park authored
This is using cutils/log.h which is deprecated in O (in favor of log/log.h) and this is causing build error when building with BOARD_VNDK_VERSION=current set. However, since SwiftShader should be able to be built with older versions Android some of which don't have log/log.h, we can't simply change cutils/log.h to log/log.h. Instead, liblog_headers is added to the header lib dependency (only for O and beyond) so that log/log.h can be correctly included via cutils/log.h Bug b/63135587 Change-Id: I763250e7410025b1dcd7ae210693e3d6bffdb6f1 Reviewed-on: https://swiftshader-review.googlesource.com/17629Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 06 Mar, 2018 1 commit
-
-
Nicolas Capens authored
This fixes a regression caused by https://swiftshader-review.googlesource.com/14489 Context::applyVertexBuffer() expects a valid program, so we need to check for it sooner. Not having a current program is not an error and makes the draw call a no-op, but dEQP-GLES3.functional.negative_api.vertex_array.* still expects validation to happen before leaving the function. In particular, the framebuffer completeness check has to be performed. Note that ConvertPrimitiveType() should never return an error because we already check the primitive type in the entry function, sampler validation can only be done when we have a valid program, and likewise applyVertexBuffer() requires a program, so these validations can still happen after the early-out. Change-Id: I7036ca59d37ea0385f79bf87afd1eeeb9728f7af Reviewed-on: https://swiftshader-review.googlesource.com/17228Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 02 Mar, 2018 2 commits
-
-
Nicolas Capens authored
Change-Id: I85886ea83f4d748dce98d79acff204bf855da1ad Reviewed-on: https://swiftshader-review.googlesource.com/17569Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Also remove traces of cube texture support for OpenGL ES 1.1. We don't support the OES_texture_cube_map extension, and it would be non-trivial due to requiring reflective texture coordinate generation. Change-Id: I5c224f925fc9c03053acaf33e126dae4f3ffe4d9 Reviewed-on: https://swiftshader-review.googlesource.com/16750Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-