- 18 Oct, 2018 4 commits
-
-
Alexis Hetu authored
GLES unit tests were in the generic "unittests" directory. In order to avoid confusion with Vulkan unit tests, the GLES unit tests directory was renamed to GLESUnitTests. Change-Id: Idc40f63daddc6f822207fc4a75dd037a46ae22a6 Reviewed-on: https://swiftshader-review.googlesource.com/c/21628Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
On linux, clang is unable to find the Cast() function used in the templated destroy() function unless it has already been defined before the template function. This forces us to make sure all Cast() functions are available, but simply adding the vulkan objects' header files in VkMemory.h would cause a circular dependency, which, while it would be properly guarded by the preprocessor directives, wouldn't guarantee any include order, due to the nature of circular dependencies. So, to fix the issue, a new header file, called VkDestroy.h was added, which can depend on all vulkan objects' header files without creating a circular dependency. Also fixed some warnings. Change-Id: I1f343a8c476d6308d4555009848a234b0695661e Reviewed-on: https://swiftshader-review.googlesource.com/c/21668Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Bug b/116778367 Change-Id: Iff07e00a36669d10518b83a6bfdb1e6af4ffcef3 Reviewed-on: https://swiftshader-review.googlesource.com/c/21688Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Sergey Ulanov authored
LLVM_DEFAULT_TARGET_TRIPLE was defined in config.h and llvm-config.h, which was causing warnings when compiling it for Fuchsia. Also made some other cleanups in llvm-config.h, particularly removed i386 and arm ifdefs. There are still some other warnings not fixed in this CL ('using namespace' in headers), but these don't look Fuchsia-specific. Bug: 881334 Change-Id: Iaf54e622e9d31553268afe960d6330dcb5920321 Reviewed-on: https://swiftshader-review.googlesource.com/c/21689Reviewed-by:Nicolas Capens <nicolascapens@google.com> Tested-by:
Sergey Ulanov <sergeyu@chromium.org>
-
- 16 Oct, 2018 3 commits
-
-
Nicolas Capens authored
Bug b/115344057 Bug chromium:881334 Change-Id: Id3d673b8cf9ff3d3eea0675b1b58f0f6663ba074 Reviewed-on: https://swiftshader-review.googlesource.com/c/21528Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Sergey Ulanov <sergeyu@chromium.org>
-
Merck Hung authored
The implementation of OpenGLES_v2 glCompressedTexSubImage2D() API lacks of a sanity check for compressed formats. When a non-compressed format is specified (e.g. GL_RGB), an unreachable condition of SS's internal function, ComputeCompressedSize(), is hit. This patch is to add a check in CompressedTexSubImage2D() function to prevent invalid formatd from being entered, in terms of OpenGL_v2 API integrity in accordance with Khorons's specification Bug: b/116776984 Test: Manual tests using OGLESHelloAPI by specifying GL_RGB format Change-Id: Icc964ecb9dbbdef6c6bc82dab42c35290917159e Reviewed-on: https://swiftshader-review.googlesource.com/c/21548Reviewed-by:
Merck Hung <merckhung@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Merck Hung <merckhung@google.com>
-
Nicolas Capens authored
Note that this is left undefined by the spec, but glGetBoolean converts non-zero integers to GL_TRUE, so this makes things symmetric. Bug swiftshader:90 Change-Id: Ie2d3b2b8d66e63f542f758ddc6482b451fb4140d Reviewed-on: https://swiftshader-review.googlesource.com/c/21511Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 15 Oct, 2018 4 commits
-
-
Alexis Hetu authored
Vulkan has a few dispatchable objects: Instance, Device, Physical Device, Command Buffer and Queue. These objects, when loaded through an ICD, are constrained to have a bit of memory allocated at the beginning of these objects to contain loader data. In order to do this, a wrapper class, DispatchableObject, was created to handle pointing directly to the loader data when casting to the associated VK handle and similarly back to a pointer to the internal object. Note that Queue, being allocated within another object, and not directly through the API, simply have the loader data at the beginning of the class, without requiring a wrapper class. Also, since all these object are allocated through a custom placement new operator, they have to be deallocated through an associated destroy() function, so the DispatchableObject destructor is deleted, in order to prevent these objects from being released any other way. Bug b/116336664 Change-Id: Iac749f6adcba0eaf7557f0df876ac0474081d9cc Reviewed-on: https://swiftshader-review.googlesource.com/c/20948Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug b/115344057 Bug chromium:881334 Change-Id: Ib54e43a106c17b4878780382c4a80415e8f3583b Reviewed-on: https://swiftshader-review.googlesource.com/c/21508Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
This enables supporting ARM64 for Chromium. Bug b/115344057 Bug chromium:881334 Change-Id: I45020e826684c6fa6e663a90b75703193ad670c3 Reviewed-on: https://swiftshader-review.googlesource.com/c/21451Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Bug b/117564133 Bug swiftshader:104 Change-Id: I6e5c4aca219e344df7b113fe445c5f1faeb7dd4b Reviewed-on: https://swiftshader-review.googlesource.com/c/21488Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 12 Oct, 2018 10 commits
-
-
Nicolas Capens authored
Change-Id: I36237afe7b01070cd665f4ab990e9d7cc87a6360 Reviewed-on: https://swiftshader-review.googlesource.com/c/21390Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Bug b/115344057 Bug swiftshader:16 Change-Id: I0e7d49cb5f66cef7d8ccd80506deeae8aab1824c Reviewed-on: https://swiftshader-review.googlesource.com/c/21389Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Bug b/115344057 Bug swiftshader:16 Change-Id: I2ef387ee237e964c089d9a7a5eb156a8733cc77f Reviewed-on: https://swiftshader-review.googlesource.com/c/21388Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Core SwiftShader should no longer be able to allocate executable memory. That responsibility now falls entirely on Reactor. Bug b/115344057 Bug swiftshader:16 Change-Id: If5dad25e52e661331ef0555b2d9de743cbfd3173 Reviewed-on: https://swiftshader-review.googlesource.com/c/21369Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
This is accomplished by duplicating files from the Common directory that Reactor (both with LLVM and Subzero back-end) depended on. They will be minimized in the next change. Bug b/115344057 Bug swiftshader:16 Change-Id: I2dc087e91b761cc4402ed8594022551e9246b855 Reviewed-on: https://swiftshader-review.googlesource.com/c/20108Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
This prevents clashes between intermediates. Also update the D3D8 project to not depend on debug macro implementations in the SwiftShader layer. Bug b/29024574 Change-Id: I206b750bf752e3b47867f35379a82f32549a7843 Reviewed-on: https://swiftshader-review.googlesource.com/c/21348Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
We were using sw, the namespace used in the rest of SwiftShader, as the namespace for Reactor. Putting Reactor code into its own namespace makes it easier to untangle dependencies. Bug swiftshader:16 Bug b/115344057 Change-Id: Iea4e049a4796323bf80b4f5e6e17778ccf17b995 Reviewed-on: https://swiftshader-review.googlesource.com/c/21308Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Adds commit '65ce2e56889' from https://git.llvm.org/git/llvm as 'third_party/llvm-7.0/llvm' Commands: git remote add llvm https://git.llvm.org/git/llvm.git git subtree add --prefix third_party/llvm-7.0/llvm llvm release_70 --squash Bug b/115344057 Change-Id: I981f7e2fc47639ca8a8998b188e837bc3f268de5
-
Nicolas Capens authored
git-subtree-dir: third_party/llvm-7.0/llvm git-subtree-split: 65ce2e56889af84e8be8e311f484a4dfe4b62d7a
-
Nicolas Capens authored
LLVM 7.0 will be added back as a subtree instead. This reverts commit 1841c50c. Bug b/115344057 Change-Id: I5fc51be1f107f3de0e97e8b53e282b0cc9557bed
-
- 10 Oct, 2018 1 commit
-
-
Nicolas Capens authored
Change-Id: Idc041213e40c0650b52209de199a098bd26a1b39 Reviewed-on: https://swiftshader-review.googlesource.com/c/21328Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 09 Oct, 2018 1 commit
-
-
Nicolas Capens authored
This reverts part of https://swiftshader-review.googlesource.com/21108 Bug b/73656151 Change-Id: I35c91cb5b28ede65eadebcb5e8141be4cf3f2e0e Reviewed-on: https://swiftshader-review.googlesource.com/c/21368Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Shannon Woods <shannonwoods@google.com>
-
- 04 Oct, 2018 1 commit
-
-
Nicolas Capens authored
Bug b/116336664 Change-Id: I388b3c602d0b697ecedf19e390d8008ada0ea849 Reviewed-on: https://swiftshader-review.googlesource.com/c/21289Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 02 Oct, 2018 8 commits
-
-
Nicolas Capens authored
Bug b/117152542 Change-Id: I8bfa40d0e912f90946109c6d80889889ef7c5c55 Reviewed-on: https://swiftshader-review.googlesource.com/c/21249Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
The Vulkan implementation needs a directory for each architectural layer, similar to the OpenGL ES stack. The entire rendering stack is duplicated, leaving only Reactor common between them: Renderer -> Device Shader -> Pipeline Common -> System Main -> WSI Bug b/117152542 Change-Id: I9c26b23654016d637f88ec2416f019ef65b9afbd Reviewed-on: https://swiftshader-review.googlesource.com/c/21248Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Although we only produce libraries, 'lib' is confusing as an output directory. We already used 'out' for the CMake build. Bug b/116336664 Bug b/29024574 Change-Id: I2bc1015a72100f81f734fc969a32e9f5a967e17c Reviewed-on: https://swiftshader-review.googlesource.com/c/21228Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
The Vulkan implementation shouldn't depend on any of the legacy directories. Also, changes to the environment-wide include paths may have undesired consequences. Bug b/116336664 Change-Id: Ied3c8f4e56994379db3518a4fbf0268451d84079 Reviewed-on: https://swiftshader-review.googlesource.com/c/21188Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug swiftshader:116 Change-Id: I93208ea733cfe69474477ad2e00e52c8e86d1e25 Reviewed-on: https://swiftshader-review.googlesource.com/c/21268Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
##__VA_ARGS__ causes an error with clang if it's not preceded by a comma. The ## is wholly unnecessary in this case so it can just be removed. Bug b/73656151 Change-Id: Icc8a67a91b270d0e9b006cae7a438cdefa412f87 Reviewed-on: https://swiftshader-review.googlesource.com/21208Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
Merck Hung authored
Starting from Android O, <cutils/log.h> is planned to be deprecated in the future. The use of the original <cutils/log.h> is split into 2 header files. Per Treble team's (b/78370064) description, <log/log.h> is for native shared libs or executables, and <android/log.h> is for app JNI. So a conditional preprocessor is put in place to look at the ANDROID_PLATFORM_SDK_VERSION definition. If the value is less than 27, means it's Android N or older, and it ought to include <cutils/log.h>. Otherwise, it should be 27 (Android O) or any greater version, and it's supposed to include the new <log/log.h> file. If ANDROID_PLATFORM_SDK_VERSION is not definied, Andorid build system catches it and stops the building process with an error message. Bug: b/116855807 Test: pi-dev(28), oc-mr1-dev(27), and nyc-mr2-dev(26) branches Test: aosp_arm-eng target Change-Id: I732803e900144bf291feeb2cba1d632301c4fa21 Reviewed-on: https://swiftshader-review.googlesource.com/21130Tested-by:
Merck Hung <merckhung@google.com> Reviewed-by:
Merck Hung <merckhung@google.com> Reviewed-by:
Alistair Strachan <astrachan@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
SwiftShader shouldn't print anything to stdout in Release builds. Also refactor UNIMPLEMENTED macro to be able to take a formatted string with arguments. Bug b/73656151 Change-Id: Ibadbfba3371324ba1bd608bd51bdac5e5923a20e Reviewed-on: https://swiftshader-review.googlesource.com/21108Reviewed-by:
Merck Hung <merckhung@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 01 Oct, 2018 2 commits
-
-
Nicolas Capens authored
Bug b/115344057 Change-Id: Iac34e89f56a1f67301beae3fcf492596522d08a2 Reviewed-on: https://swiftshader-review.googlesource.com/21168Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Locking stencil buffers with a NULL format resulted in nullptr being returned without acquiring the resource lock, while unlocking did release the lock. Instead of not releasing it on unlock, we must acquire it on lock because otherwise the object could get destroyed before draw operations end and attempt to unlock. Bug b/116876483 Change-Id: Ie883115a1d6df3b40eb7c1feb5dcfde7316ec970 Reviewed-on: https://swiftshader-review.googlesource.com/21148Reviewed-by:
Krzysztof Kosiński <krzysio@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Krzysztof Kosiński <krzysio@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 28 Sep, 2018 3 commits
-
-
Nicolas Capens authored
Bug b/115784742 Change-Id: Id3225adcaf77e1d26560151c506e885318bd0ff6 Reviewed-on: https://swiftshader-review.googlesource.com/21088Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Merck Hung authored
Replace all-makefiles-under makefile-macro with explicitly including Android.mk(s) from subdirectories that are related to OpenGL and are only needed by Android builds. The change are mainly made to the top-level Android.mk and the src/Android.mk. The other three sub-Android.mk(s) are deprecated and deleted. Soong compile-time is expected to shorten with no use of all-makefiles-under macros. Since the project co-existed with both Android.bp and Android.mk. The test was performed in absence of Android.bp on oc-mr1-dev branch against aosp_arm-eng and aosp_arm64-eng targets. NOTE: Android Pie uses Android.bp only. Bug: b/29023322 Test: oc-mr1-dev branch, aosp_arm-eng (LLVM3) & aosp_arm64-eng (LLVM7) targets Change-Id: I05ac46213f849747621c7084bca2549a22513881 Reviewed-on: https://swiftshader-review.googlesource.com/21068Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Merck Hung <merckhung@google.com>
-
Nicolas Capens authored
The spec for glDeleteVertexArrays states that "Unused names in arrays are silently ignored, as is the value zero." b/116699321 Change-Id: I7cca0336dd9841b360f8fa20f6c0ac9677ec3ce1 Reviewed-on: https://swiftshader-review.googlesource.com/21048Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 27 Sep, 2018 3 commits
-
-
Logan Chien authored
This commit fixes `Trunc(Float)` and `Trunc(Float4)` generic LLVM code generation. If `Trunc(x)` is implemented with `Float(Int(x))`, it will result in quality warning in dEQP. Bug: b/115344057 Test: dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc Test: dEQP-GLES3.functional.shaders.builtin_functions.precision.modf Change-Id: I62d2dd1907e345fb00307b6c0d4d74613237f94b Reviewed-on: https://swiftshader-review.googlesource.com/21029Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Logan Chien authored
This commit fixes `Frac(Float)` and `Frac(Float4)` generic LLVM code generation. See also: https://bugs.chromium.org/p/swiftshader/issues/detail?id=74 Bug: b/115344057 Test: functional.shaders.builtin_functions.precision.fract.highp_vertex Test: functional.shaders.builtin_functions.precision.fract.highp_fragment Change-Id: I027b7ab44ba3060dc100a220ba19e5275f41d4c9 Reviewed-on: https://swiftshader-review.googlesource.com/20933Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Logan Chien authored
This commit fixes `RoundInt(Float)` and `RoundInt(Float4)` generic LLVM code generation. Bug: b/115344057 Test: functional.shaders.builtin_functions.precision.sinh.highp_vertex Test: functional.shaders.builtin_functions.precision.sinh.highp_fragment Test: functional.shaders.builtin_functions.precision.cosh.highp_vertex Test: functional.shaders.builtin_functions.precision.cosh.highp_fragment Change-Id: I35de5cf6bec6607725523a10ebf098333957f39a Reviewed-on: https://swiftshader-review.googlesource.com/20931Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-