- 26 Mar, 2019 10 commits
-
-
Nicolas Capens authored
Bug chromium:944811 Change-Id: Ic44bfa123b5c64e3cd38022645a9e37ae5a29168 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27810Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nico Weber <thakis@chromium.org> Reviewed-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: I7ba31ca504a582a4d36d25ef2747fb1c1607bade Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27775 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
... OpUnreachable and OpReturn. Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: Iec9af723c72c873df8cbdea7c0027e2f7fa25e70 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27774 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
According to the Vulkan spec: "If pResolveAttachments is not NULL, each of its elements corresponds to a color attachment (the element in pColorAttachments at the same index), and a multisample resolve operation is defined for each attachment. At the end of each subpass, multisample resolve operations read the subpass’s color attachments, and resolve the samples for each pixel to the same pixel location in the corresponding resolve attachments, unless the resolve attachment index is VK_ATTACHMENT_UNUSED." Note: This cl adds support for multisampling, but requires syncing before performing the resolve operation. The intent is for the next cl to move the resolve to Renderer::finishRendering(), in order to avoid having to sync when it's not necessary. Bug b/119620965 Change-Id: Id4fae41347e354b822d089fb5b6d4e36592c146b Tests: dEQP-VK.pipeline.multisample.raster_samples.* Tests: dEQP-VK.pipeline.multisample.raster_samples_consistency.* Tests: dEQP-VK.pipeline.multisample.sample_mask.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27650Tested-by:Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
memset was erroneously being used to copy 4 bytes at a time, but the integer input value in memset is used as an 8 bit value, so the fill was failing if the 4 bytes were not identical. Tests: dEQP-VK.api.fill_and_update_buffer.* Tests: dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.* Bug b/118383648 Change-Id: I29cb5915ebd3773b4afbd89850c47a042fff6952 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27872Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
As we implement more complex control flow, we need to emit blocks with different active lane masks, and have finer control over block generation. Bug: b/128527271 Change-Id: Ica51bbea196b87ab442b394f0915e9a2cd375ac0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27770 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
This lets us use Intermediate for building intermediates in loops without the need of an alloca. Bug: b/128527271 Change-Id: Id36db83d0b1cedd7700bbf2431eed9b4a03a7997 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27769 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Bug: b/128527271 Change-Id: Ib66c32ba66bcb322be6fa72f01f6c8b1b4b90f0a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27768 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Change-Id: If4da733b58f118698a84552ee3c9445203837767 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27786Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
Bug: b/129149966 Test: dEQP-VK.*instance* Change-Id: I51642d32a8390495f5d9ecd0bb64bca1db33a03d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26689 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 25 Mar, 2019 3 commits
-
-
Ben Clayton authored
Bug: b/129259232 Change-Id: I095618a97edd5d4e8e28b90dd8f329b140aaa248 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27785 Presubmit-Ready: Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Alexis Hetu authored
Even if all the coordinates are within the bounds, if filtering is enabled and the coordinates are closer to the edge than the center of the pixel, we have to enable clamping to the edge so that the samples used for filtering don't get invalid/negative factors. Bug b/119620767 b/129258757 Change-Id: I0ba50fff2c2873e4a852e34878883c2e707d9886 Tests: dEQP-VK.api.copy_and_blit.core.blit_image.simple_tests.scaling_whole2.* Tests: dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.simple_tests.scaling_whole2.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27808Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Ie7796ec30e26be45a7b4c4233913c2ad94549b6d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27781Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
- 22 Mar, 2019 16 commits
-
-
Chris Forbes authored
In both the classic and pastel backends, we accidentally had *3* sets of stencil state in the draw data. The generated routines use the array only -- the separate stencilCCW variable is never touched. Change-Id: I7898641bc8dbf387335528da3729e30d28b996aa Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27790Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
We now use tests/kokoro/ instead. Bug b/126742833 Change-Id: I50e41a6299238ca91ff92c0947b3060f9a840a5d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27789Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Nico Weber authored
As far as I can tell, swiftshader doesn't use LLVM's threading capabilities for anything, and disabling them sidesteps an issue with libc++/win -- so turn them off. Bug: chromium:944811 Change-Id: Idf7eee5aa4693e9d2dcb744638ad9de53f714173 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27849 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nico Weber <thakis@chromium.org> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Bug b/127472316 Test: dEQP-VK.spirv_assembly.instruction.compute.opatomic.load Test: dEQP-VK.spirv_assembly.instruction.compute.opatomic.store Change-Id: I0379a1a74bc9742a3a9ae4d52b319e0838fd21bf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27728 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Nicolas Capens authored
Array<> emits GEP instructions on every access, which aren't necessary. Note that these temporaries are required because the If/Else blocks both write to them, while the destination intermediate object is an rvalue which can only be initialized once to maintain SSA form. Also EmitAccessChain was moved to match the declaration order. Bug b/128539387 Change-Id: I726fb0fd28b0a19a61e8759679e30bc699f3279d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27788 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
SIMD vector load and store are already atomic on x86 and ARM, and Vulkan only supports atomic operations on "scalar 32-bit integer type". Memory order semantics are handled in a follow-up change. Bug b/127472316 Test: dEQP-VK.spirv_assembly.instruction.compute.opatomic.load Test: dEQP-VK.spirv_assembly.instruction.compute.opatomic.store Change-Id: I4481fe7b7aa792b63f516bd3cb1aab1d773bbcbd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27649 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
"-Wno-error=header-hygiene" was redundant with "-Wno-header-hygiene". Removed it. Change-Id: I5b75e8d42ef78c230cf064372f99db7950caf262 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27868Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Change-Id: I9274f2141f14959ba614b57d45a637232baad5c8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27469Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Bug: b/129056755 Change-Id: I01518b3cb802c45f2b3cc14e6e2c2f81416b4cd4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27782Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nico Weber authored
Bug: chromium:944675 Change-Id: Icfe9d147fc6be936aac5a45f3bb6526022e5e898 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27848 Presubmit-Ready: Nico Weber <thakis@chromium.org> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nico Weber <thakis@chromium.org>
-
Ben Clayton authored
I have no idea why this has suddenly started firing. Bug: b/123933266 Change-Id: If94903e2b549bd628eb912569c1bb803bd576951 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27777 Presubmit-Ready: Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
sw::Intermediate would only clear the contents to zero in debug builds, but would always validate that these were nullptr in release (ASSERT still warns in release). Given the cost nullifying this memory is negligable in comparison to the actual LLVM JIT, always clear. Changed a bunch of ASSERT()s to ASSERT_MSG() where the additional information is useful. Replaced a few remaining calls to assert() with ASSERT() Bug: b/127433389 Change-Id: Ifac89ca061bf7d61ff7d0de1792eeda18fad275c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27568 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <headlessclayton@gmail.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Ic3dcd942fe0f8d56536633434ce0b8ac6da8d066 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27778Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
While not necessary for swiftshader, this is needed to compare against certain system vulkan drivers. Bug: b/128527271 Change-Id: I64c9e39659d565a0369c2989a324e4c09dbf7c02 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27773 Presubmit-Ready: Ben Clayton <headlessclayton@gmail.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
The system vulkan driver can get sulky if you don't free memory. Bug: b/123749916 Change-Id: I9bf2de63a788200c401b41fa3efdfb36f3c15245 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27772 Presubmit-Ready: Ben Clayton <headlessclayton@gmail.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
It seems an update has started make these C++ extension PCH files show up in version control. Change-Id: I9af5dbf7e74bf8fb7d9ef25e84cce28b7424dda8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27771 Presubmit-Ready: Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <headlessclayton@gmail.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 21 Mar, 2019 11 commits
-
-
Nicolas Capens authored
Bug b/126742833 Change-Id: Ic07ebc74f342566905690a6059c742c4c2c47acd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27791Tested-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
This isn't used. We have Ben's shiny new descriptor-based UBO system now instead. Change-Id: If971e6bce3ddfb149d33dc5c42294d7b75c31888 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26609Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Since we're essentially assigning from one rvalue to another, move() seems to describe the intent better and even matches register-to-register move instructions. Bug b/128539387 Change-Id: I409b3ede9578a100f25ea92e61f7492a38341ca4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26869 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
Bug: b/129069789 Test: dEQP-VK.glsl.derivate.* Change-Id: Iac1b5ed51dae0f6d8937b2162eb0a662d02b34ba Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27729 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Basic support for executing secondary command buffers, without support for any inheritance features. Bug b/118619338 Change-Id: Ie3453018a45a722ecfa4f1acd20c95442fbb3d9b Tests: dEQP-VK.memory.pipeline_barrier.host_write_transfer_src.* Tests: dEQP-VK.api.command_buffers.allocate_single_secondary Tests: dEQP-VK.api.command_buffers.allocate_many_secondary Tests: dEQP-VK.api.command_buffers.trim_command_pool_secondary Tests: dEQP-VK.api.command_buffers.record_single_secondary Tests: dEQP-VK.api.command_buffers.record_many_secondary Tests: dEQP-VK.api.command_buffers.submit_twice_secondary Tests: dEQP-VK.api.command_buffers.record_one_time_submit_secondary Tests: dEQP-VK.api.command_buffers.secondary_execute Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27493Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
- secondaryColor control only made sense in fixed-function - Vulkan provoking vertex is always the first vertex Bug: b/125909515 Test: dEQP-VK.rasterization.flatshading.* Change-Id: I9b6826e093076ee7ca5ef6deaf1b1fbd1c2f39e3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27509 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Heavy-handed implementation of implicit or explicit VkSubpassDependency to VK_SUBPASS_EXTERNAL after a subpass. Fixes various test flake. Test: dEQP-VK.glsl.derivate.* Change-Id: I9cb60828e6aff344e28dd7a8e1a867b5c8a11c22 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27708Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
There are no more dependencies on sw::Surface, it can now be removed. Bug b/126883332 Change-Id: I8d2deaa6eb78ffc1ce7be6614876a3c9a30da341 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27492Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
vk::Format was expanded to include more format related checks and the sampler object now uses them. Whether or not the Sampler code ends up actually being used is unsure, but the code has been updated to use vk::Image instead of sw::Surface. This should be the last sw::Surface reference in Vulkan code. Bug b/126883332 Change-Id: Ib1b4c3ce87d0fdad5ac7238b7e86211a499871a5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27490Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Implemented waitEvents as a sync operation, like pipeline barriers, since, as the Vulkan spec states: "vkCmdWaitEvents is used with vkCmdSetEvent to define a memory dependency between two sets of action commands, roughly in the same way as pipeline barriers, but split into two commands such that work between the two may execute unhindered." Only the pEvents parameter is supported and currently doesn't support pMemoryBarrier, pBufferMemoryBarriers or pImageMemoryBarriers. Bug b/118620868 Change-Id: I30ccc65c65dfc7d9a99e25ebb535061c618375cb Tests: dEQP-VK.api.command_buffers.record_simul_use_primary Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27348Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Previously the pointee type of OpVariable was determined starting from the result ID. It just obtains the 'Object' which has the type collected from the OpVariable instruction itself. So the object lookup can be skipped by using the latter directly again. Bug b/129000021 Change-Id: I882d837c4cc1c7a8d0b19de38dc8ee19e622af33 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27651 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-