- 22 Nov, 2019 4 commits
-
-
Sean Risser authored
The Vulkan spec states that if an implementation does not support an extension, then it must ignore all fields other than pNext and pType and continue on without processing any further information contained in the extension's structure. We've been using asserts to log these situations so we can tell which extension structs people are trying to use. This CL changes our behavior so we silently log these unsupported extensions, and warn a user once if they're debugging. Retrying this after updating build files to include added VkStringify.*pp files. Bug: b/139528538 Change-Id: Icd4ea3f53bf2eec5c2c81079b2ebbaa1b9a855db Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38568 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com> Presubmit-Ready: Sean Risser <srisser@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Added new functions to explicitly mark some new extension features as not supported. Fixes the following test: dEQP-VK.api.info.get_physical_device_properties2.features Bug: b/144945388 Change-Id: Id4c5da51d42537f5e1d92352eece67d4e7f5b930 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38531 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I6f56a6e953415cc40eb692a0a019ab2330d63078 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38409 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
In libVulkan.cpp, many structures are received as pointers, which are dereferenced, only to be references on the next line. We can just take the pointers as is. Bug: b/144943261 Change-Id: I60585ab5e953dc9baf1f6951a3762c890ab95641 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38530 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
- 21 Nov, 2019 13 commits
-
-
Sean Risser authored
Reason for revert: Didn't update a build file, which broke the build and commit queue. Bug: b/139528538 Change-Id: I45cd93a01d984175c2dba5351a4cdd1154e50f31 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38528 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Update from: https://github.com/KhronosGroup/Vulkan-Headers To revision: 24347673152e093a48efbf65dfd3b06026b6ed33 Did not modify vulkan.h, so vulkan_fuchsia_extras.h was not removed from it. Bug: b/143197472 Change-Id: Ia96ca3b15fb5d04b4bb5155ae33f39d75043e0fe Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38529 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Sean Risser authored
The Vulkan spec states that if an implementation does not support an extension, then it must ignore all fields other than pNext and pType and continue on without processing any further information contained in the extension's structure. We've been using asserts to log these situations so we can tell which extension structs people are trying to use. This CL changes our behavior so we silently log these unsupported extensions, and warn a user once if they're debugging. Bug: b/139528538 Change-Id: I8d31f147e22f670c9c10c64e239085700eae73a3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36089 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com> Presubmit-Ready: Sean Risser <srisser@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Antonio Maiorano authored
If enabled, and ALLOW_DUMP = 1, emit() outputs text asm to stdout along with liveness info. Useful for debugging register allocation. Bug: b/144688789 Change-Id: I36137c439f6f2ca32af6f208146501b095ccfac4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38478Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
When enabled, coupled with ALLOW_DUMP = 1, will enable verbose and unbuffered logging. Helpful for debugging Subzero bugs. Bug: b/144688789 Change-Id: Ia5ae4456e4ec43dcf616f7f14cf88cd0911fe17b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38477 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Antonio Maiorano authored
Opt_0 and Opt_1 are not implemented, so they weren't useful. With this change, we can at least run Subzero's "0-1" optimization level to compare against "02". Bug: b/144688789 Change-Id: Ic6a5af572ed9a543f76bbc7074f87771f8da1980 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38476Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
Fix asserts that would trip during emit, which we only use to emit textual representation of generated asm to stdout. Useful for debugging. Bug: b/144688789 Change-Id: I42d60da042fa04bf6afc9035b2892249e5e46c59 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38475Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
Subzero would generate invalid code during register allocation in certain instances related to incorrect liveness analysis. With the help of Jim Stichnoth, we identified that "computeInOutEdges" was never being called, so, as Jim put it: "Because control-flow information is not available in InEdges and OutEdges, liveness analysis essentially does block-local liveness instead of global liveness." As a result, values would get incorrectly assigned to registers. The ExtractFromRValue unit test demonstrates this bug. Without the call to computeInOutEdges, the Extract(v, 1) would return the wrong result. Bug: b/144688789 Change-Id: Iad7f7bf9dec74f628120003d316480d83b9fa4f1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38474Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
When lowering Call to external functions on x64, Subzero was not correctly allocating 32 bytes for the shadow store. This became apparent when trying to pass pointers to local variables to Call, in which case, the address of the stack variable would be passed via register. However, in the called external function, on x64, it's allowed to use the first 32 bytes on the stack - the shadow store - as scratch space. In my use-case, the called function ended up overwriting the local stack variable that the callee passed a pointer to. Another use-case where this error was apparent was in passing more than four arguments to a Call, in which case, the callee expected the spilled args to be present after the shadow store. This fixes these problems by correctly allocating the 32 byte shadow store when lowering Call on x64. Note that this is similar to e81e8b3c where I fixed the prolog to the generated entry point to take the shadow store into account. Bug: b/144688789 Change-Id: I9d7960bb9c520f5cc3c0ad885305ca5a3c06b5dc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38473Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Chris Forbes authored
Includes a test fix for dEQP-VK.spirv_assembly.instruction.compute.hlsl_cases.cbuffer_packing Bug: b/144183516 Bug: b/144306942 Change-Id: I3056837e2069841a465b8e4af12713b0a1995272 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38508Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
David 'Digit' Turner authored
This CL fixes a minor compiler warning related to the use of 0xFFFFFFFF to divide a float value. It turns out that this integer value cannot be converted to a float without losing one bit of accuracy. Bug: None Change-Id: I34fefd91afb526edbfafd3d8a2378fa6b7bf325d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38448Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
David Turner <digit@google.com> Kokoro-Presubmit: David Turner <digit@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Because stencil buffers can now be texture sampled, used in cubemaps, blitted, etc, the quadLayout used for stencil buffers requires constant texture coordinate conversion in order to perform various tasks involving stencil buffers. For now, the simplest solution is to remove the quadLayout used by the stencil buffer. Fixes all issues in the following subcategory using SwANGLE: dEQP-GLES31.functional.stencil_texturing.format.*_stencil8_cube Bug: b/144353295 Change-Id: I2a8cbdda0036146f9dca222ec330841788a3ee8b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38188 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Adam Kallai authored
This was committed to LLVM at https://reviews.llvm.org/D57291 . Created by Martin Storsjo. Bug: chromium:893460 Change-Id: Ifbf5a632f8d517b0910aa3274d0cae585729d34f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38452 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 20 Nov, 2019 9 commits
-
-
AWoloszyn authored
The name is wrong, so this only really worked if xcb was actually linked normally, if the user opened it in another way (dlopen) this would get missed. Bug: b/139491466 Change-Id: Ib9a84bd7424a1c4bf027ecb9f1a5b9af6d7210b3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38368Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Andrew Woloszyn <awoloszyn@google.com>
-
Alexis Hetu authored
No depth buffer format uses quad layout currently and stencil quad layout will soon be removed, so the depth buffer quad layout logic can be removed. Bug: b/144353295 Change-Id: I78ab5dbf292af2752ed1c6aea069a8079c21663f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38472 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Alexis Hetu authored
3D subregions were not properly supported in Image::copyTo() Bug: b/144353295 Change-Id: I445881b37be310401b38cffcb6003a1e4461bed8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38471 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Alexis Hetu authored
Blitting should be done either using the depth aspect or the stencil aspect, not both at once. Bug: b/144353295 Change-Id: I5b7a81d3c2b915f6ebb5854edc814f335eb2cac5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38470 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
This is considered non-core functionality. Fixes: b/144686205 Change-Id: I41b811d70db9c07d26a3e6cb2f8c36a2a9e34296 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38450Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Both LLVM and Subzero now support it, so there's no need to expose this as a capability. Yay! Bug: b/142132927 Change-Id: I5cf5eece809f7305d38e8d0f995be45d44a8b1cd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38449Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
rr::ConstantData() returns a Pointer<Byte> to an immutable copy of the provided data. Added two new variants of rr::Call() for calling member function pointers. Added tests. Bug: b/143479561 Change-Id: I5846fb313fbd81821bf4e9bb655414a5e0eaf133 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38408Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
This should have been done as part of 51f08312, but it got missed. Bug: b/143479561 Change-Id: I16d802e753989576ade007c031f11bc5ab351d32 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38390Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
The documentation states: "For T types that have a CToReactorT<> specialization, CToReactorPtrT<T>::type resolves to Pointer< CToReactorT<T> >, otherwise CToReactorPtrT<T>::type resolves to Pointer<Byte>." However, the CToReactorPtrT<T>::cast() function did not behave correctly for some Pointer<Byte> cases. Now fixed. Bug: b/143479561 Change-Id: I64387653e9edf21eb7fa91e3bcb7b76171c7bca4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38389Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 19 Nov, 2019 1 commit
-
-
Ben Clayton authored
Some templated traits need more than just the forward declaration in order to be complied: Reactor.hpp uses the CToReactor<> templates, and some of these specializations use the ConstantPointer() function declared in Reactor.hpp. Without splitting this into a declaration and implementation that sandwich Reactor.hpp, you'll get compilation errors, so include Traits.hpp at the start of Reactor.hpp, and Traits.inl at the end. Bug: b/143479561 Change-Id: I15c2165325633cf01c0ae7a285d1798c128499a7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38388Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 18 Nov, 2019 5 commits
-
-
Chris Forbes authored
We don't actually use this, so it just clutters up search results Bug: b/144696871 Change-Id: Ic8a10bb49cad4f6078dd0c4b548591e3ef828dd9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38288 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
SamplerFunction can then be passed to RR_LOG and RR_WATCH. Bug: b/140287657 Change-Id: If37d99469b7df98b539430abdcd184eec81bc08f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33471Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
So that the print value's 'fmt' is a dynamic function instead of a constexpr. Let's us do smarter stuff based on the type and value, and will allow us to move functionality from overloads on rr::PrintValue to PrintValue::Ty template specializations. Also fix a bunch of missing integer expansion casts which were missing from ca8e3d7c. Bug: b/140287657 Change-Id: I7e18c35ae23d8a2dd6b726562ae1348a1b7075dd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32049Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Add cast() static method to the CToReactor trait specializations. Use this in CallHelper to automatically convert C to Reactor types. This was implicitly handled by (most) reactor types having a contructor that took the C type, but this does not work for more complex conversions, such as 'const char*' -> rr::Pointer<Byte>. This particular conversion is now automatically handled when using Call() to invoke a function with a 'const char*' parameter. This also allows developers to define custom cast functions by specializing rr::CToReactor for their own types. This change also swaps the naming of CToReactor and CToReactorT. CToReactor now has contains 'type' and 'cast', and the 'T' suffix is more in keeping with the C++ traits naming convention for aliasing the ::type. Bug: b/143479561 Change-Id: I81faae365b5cbe0e45055160cc0f5470cd4fb2de Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38028Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I14b005ac32129aea00b38910c5662a791c7fc4eb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38270 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 15 Nov, 2019 8 commits
-
-
Ben Clayton authored
Bug: b/140546382 Change-Id: I71253f73dcd3c2083873cb1f0084b42190e9df8e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38209Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Removes the last use of sw::Event in Vulkan. Bug: b/140546382 Change-Id: I5de63c52e35756dc6d7e4c6cbb77669ea3925d79 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38208Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Bug: b/144388391 Change-Id: I5a9c63899fcb1a39c80be25813d1d89ca22b26a8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38138 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
First step to using marl::Event::any() Bug: b/144388391 Change-Id: I5c6cb24c2d7a1cdb2bc2935d180f5074a8b68ab7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38137 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
* changes: Update Marl to 6dd9ff1e Squashed 'third_party/marl/' changes from 49e4e3141..14e4d862a
-
SwiftShader Regression Bot authored
Change-Id: Ibed8fe26750fa08c7448d0d31834149e65d4a9a6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38269Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Includes new Event methods which can be used for Vulkan fences. Changes: 14e4d862a Scheduler: Fix issues with fiber lists a timeouts. 57f41915d SwiftShader build fixes. 791187298 Add Event::any(). ecd5ab322 Implement yields with timeouts, wait_for() / wait_until() 6ba730d94 Update README.md 8348be4f0 Implement page-based functions for Fuchsia 5e512cd0c Fix condition logic of assert in TasksOnlyScheduledOnWorkerThreads. 37ae48f40 Add marl::Event. a90725760 Update README.md (#49) Commands: git subtree pull --prefix third_party/marl https://github.com/google/marl master --squash Bug: b/140546382 Change-Id: Ifb21caa23fec31e17d9459f52c7cd0bbcc1e499c -
Chris Forbes authored
Includes a test fix for dEQP-VK.api.image_clearing.dedicated_allocation.clear_depth_stencil_attachment.multiple_layers.d32_sfloat_s8_uint_separate_layouts_stencil_200x180 incorrectly assuming VK_KHR_create_renderpass2 is supported. Bug: b/144307043 Change-Id: I2e05901ade4c6c0251cba5db3d426e317df8a91d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38228Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-