- 10 May, 2019 9 commits
-
-
Ben Clayton authored
Tests: dEQP-VK.compute.device_group.device_index Bug: b/130937460 Change-Id: I994632be31b7c8c53dc86b0de900ab9f9ff62ae3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31111Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
Unlike getPointer() with just returns the raw pointer, GetPointerToData() derefs the buffer data for DescriptorSets. Test: dEQP-VK.spirv_assembly.instruction.compute.opcopymemory.struct Change-Id: I5d8d6139952673a2680f9e05f2f64785198b0797 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31110Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
Tests: dEQP-VK.glsl.texture_functions.query.texturequerylevels.* Bug: b/129523279 Change-Id: I385eaa4a8d5fc50c12c7cf284c26037ed93aa469 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31109 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
We don't have to actually do anything for either of these as all the features introduced are gated by capabilities which we don't have to support. We must accept the OpExtension though. Bug: b/130937460 Change-Id: Iea869e32f165c4a2457f89fcf953fc08f1e346b1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31128Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
This cl is a very basic implementation of primitive restart which records every segment of at least 1 primitive into a vector of index buffers and primitive counts which are then looped over at draw time. There's no caching involved, so the primitive restart segments will get recomputed at every draw, until a caching mechanism is introduced. Tests: dEQP-VK.pipeline.input_assembly.primitive_restart.* Bug b/118619338 Change-Id: If2f88ffb7971d1aa7d1451c7916f0ba65a2e09de Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31032Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/129523279 Change-Id: I0f124103375372e28688298eddf976069a41f211 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30968Tested-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>
-
Chris Forbes authored
This has really spotty coverage [see VK-GL-CTS #1770], but is legal. Test: dEQP-VK.api.descriptor_set.descriptor_set_layout_lifetime.graphics Change-Id: I1452fb7a2146e882f6d792d153135ff8b474aca4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31069Tested-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>
-
SwiftShader Regression Bot authored
Change-Id: I5f53ac2e8b21d7c23d5feffed377ab4591cb0ff2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31108Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
We're supposed to validate the request against what we can actually support, and return VK_ERROR_FORMAT_NOT_SUPPORTED if not supported. We had previously only considered total lack of support for the format. Test: dEQP-VK.texture.shadow.* Change-Id: Ic5aa81f232bf04583060e88334f7f38dd5f2b2e9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31068Tested-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>
-
- 09 May, 2019 18 commits
-
-
Ben Clayton authored
Only one will be used. Tests: dEQP-VK.spirv_assembly.instruction.compute.multiple_shaders.* Bug: b/132341142 Change-Id: I75588f3281f325dc1753222a1f89476267c56ad3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31011 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
There is nothing unimplemented here. We produce the correct error. Test: dEQP-VK.api.device_init.create_device_unsupported_features Change-Id: I663fa376bda0752e1c17992be29aac7bd1cbecda Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31028Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
We don't support any of the variable pointers capabilities, but we must accept the extension token. Bug: b/130937460 Test: dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.buffer_memory_variable_pointers_frag Change-Id: Icb6511b6e1de85c3736e12b4a4e21aa4d1be6622 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31030Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Avoids collisions in the dynamic sampling function cache. Change-Id: I41b5e5723c3f23f67722e006bdbc603ba1ba18f5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31029Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
A multi-layer 2D image can be copied to and from a 3D image. Bug b/119620767 Change-Id: Idcee857ab50845702bbcd7826ed8739ed91f2791 Tests: dEQP-VK.api.copy_and_blit.*d_to_* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30948 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>
-
Ben Clayton authored
Tests: dEQP-VK.ssbo.unsized_array_length.* Bug: b/132336662 Change-Id: I122788b1096795ff32b87418e2d65cbe1641af33 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31010Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
Bug: b/132333003 Tests: dEQP-VK.spirv_assembly.instruction.compute.opcopyobject.spotcheck Change-Id: I0b94fa49e4d788d045e296970f60ee2e9c460de6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31009 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
Bug: b/132336537 Test: dEQP-VK.binding_model.* Change-Id: I75014c0db6a331bdcf8a4ec3ded4c1e8225dccb8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30930Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Bug: b/126873455 Test: dEQP-VK.*carry* Test: dEQP-VK.*borrow* Change-Id: I2e1ec3cac30bb6abbb305a903bf457da241c8bdc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30969Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Bug: chromium:950230 Bug: chromium:958072 Change-Id: Iaf806df9b35606c9f18d78c3a98f8d3a0d6b3a93 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31008Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Test: dEQP-VK.*a2b10g10r10* Bug: b/131246807 Change-Id: I51ca0fb2d7bf6f41f1e230bd5111caa9a54dddf1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30952Tested-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
Clipper was essentially a static class used from an object. Changed it to actually being fully static and removed the Clipper member from the Renderer class. Change-Id: I146a9966317cfa9f73e679c7b471873cdd030122 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30951Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Remove sw::Context members from the processor classes and removed many related functions. Also, the Renderer::draw() function now takes a const sw::Context object in, so it is no longer legal to modify sw::Context object within the Renderer::draw() function. Bug b/132280877 Change-Id: I890b5ba7db2306c02a96ec3e10496aa35c51bbe2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30950Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I56f744c61926140c2c7bfeb70ef47d490d4062d8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30988Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Use the new coroutines to yield when hitting a ControlBarrier. A barrier pushes the shader subgroup to the end of the compute invocation queue, which forces all subgroups to be brought to the fence before continuing. Tests: dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.* Tests: dEQP-VK.subgroups.basic.compute.* Tests: dEQP-VK.compute.basic.* Bug: b/131672705 Bug: b/132232716 Change-Id: Id78be9ce9d9455cb2cb7254482568985845b8b6a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30851 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@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
Tests: dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.* Tests: dEQP-VK.subgroups.basic.compute.* Tests: dEQP-VK.compute.basic.* Bug: b/132232716 Change-Id: If238f6b4af5c0ff6909a62241e0adb5677cb6c0b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30852 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
This is a smallest-change migration: • The yield type is a dummy int. Nothing currently yields. • There's no handling of coroutine resumes. Bug: b/131672705 Change-Id: I238b1fa65c62ded7148816d87000103245373e33 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30849 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
• Split up ComputeProgram::emit() into a few smaller functions. • Calculate the subgroup count in C++, and pass it in as a parameter. • Add a firstSubgroup, this is currently always 0, but will be used in a later change. • Pass the workgroup ID as parameters instead of through Data. Data now holds fields common for all workgroups. This refactoring prepares the code for migrating to coroutines. Bug: b/131672705 Change-Id: Id3492adc0a7aedc3f16c0e37f135294862c55700 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30848Tested-by:
Ben Clayton <bclayton@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 08 May, 2019 13 commits
-
-
Ben Clayton authored
rr::Coroutines are similar to rr::Functions in that it builds a new executable function, but Coroutines have the following differences: (1) Coroutines do not support Return() statements. (2) Coroutines support Yield() statements to suspend execution of the coroutine and pass a value up to the caller. Yield can be called multiple times in a single execution of a coroutine. (3) The template argument T to Coroutine<T> is a C-style function signature. (4) Coroutine::operator() returns a rr::Stream<T> instead of an rr::Routine. (5) operator() starts execution of the coroutine immediately. (6) operator() uses the Coroutine's template function signature to ensure the argument types match the generated function signature. It is my personal opinion that (3), (5) and (6) provide a more convenient and safer interface and this could be adopted by rr::Function (post immediate milestone). Coroutines expose 3 externally callable functions: (1) 'coroutine_begin' - the main entry point of the coroutine. Allocates a coroutine stack frame, and executes up to the first call to Yield(). (2) 'coroutine_await' - the function to collect a yielded value and resume execution of the suspended coroutine. (3) 'coroutine_destroy' - the function to destruct and release the coroutine stack frame. As there are now three exposed functions for coroutines, rr::Routine::getEntry() now takes a function index. Standard rr::Functions always pass 0. rr::Nucleus::CoroutineEntries is an enumerator of these coroutine functions that correspond to the function index passed to rr::Routine::getEntry(). This change also adds third_party/llvm-7.0/stubs/Stubs.cpp. This file holds stub functions that are never called by LLVM, but are referenced by the linker. Actually linking in the file that declares these functions will drag in more referenced files, significantly slowing the build and potentially bloating the final executable size. Coroutines are not currently supported by Subzero. Bug: b/131672705 Change-Id: I0b13fe38b84c8dc85f4678019bf8d8afa7d9c37a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30212Tested-by:Ben Clayton <bclayton@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Bug: b/123244275 Bug: b/129523279 Change-Id: I46e59313ac152ba493fad78cfcdadbcd31566554 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30929 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Tests: dEQP-VK.ycbcr.query.size_lod.* Tests: dEQP-VK.glsl.texture_functions.query.texturesize.* Bug: b/129523279 Change-Id: I0a0db0f462d51b6b650ce798eacc66977a3fe896 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30853 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
I couldn't find any tests that did not rely on another feature being implemented. Bug: b/131667866 Change-Id: Ic872c06865b9c7a2bafffbe733f79718ba1505e5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30209 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>
-
Chris Forbes authored
Test: dEQP-VK.renderpass.* Test: dEQP-VK.texture.* Test: dEQP-VK.image.* Change-Id: Ibf80fc3b9ff7e56b39531ede72c1c63112d245c3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30928Tested-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>
-
Alexis Hetu authored
Fixed 2 issues: - Added missing VK_FORMAT_R16* formats in SamplerCore - Made sure the minimum signed EAC value also gets bit shifted Bug b/119620767 Change-Id: I3189001316cc0c65d3be9a9bd2e986df4f7a3690 Tests: dEQP-VK.*eac* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30908Tested-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> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Device groups can be used to: - only render on certain physical devices, using a device mask - only allocate memory on certain physical devices, using a device mask - distribute rendering across different physical devices, using different render areas for each physical device SwiftShader only supports a single physical device, so most of these settings can simply be ignored. Bug b/117974925 Change-Id: Ic61e1551e3a54671f8780cb7bec5c67aaa37ec09 Tests: dEQP-VK.device_group.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30790 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Bug: b/132156862 Test: dEQP-VK.api.* Test: dEQP-VK.image.* Change-Id: I3672bb34e9556c65ba9630f66e7d926fb15761ea Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30888Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Test: dEQP-VK.*d32_sfloat_s8_uint* Bug: b/123244275 Bug: b/131171141 Change-Id: Ic13fee99754e78619c7769000a666c90a5c56218 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30748Tested-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>
-
SwiftShader Regression Bot authored
Change-Id: I08c865699a7e4390e67f84e7be24bcd59c5a8203 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30850Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
ReactorType<Reference<T>> will now resolve to T. This also enables support of ValueOf(ReactorType<Reference<T>>). Required for Coroutines. Bug: b/131672705 Change-Id: Icbc95488f5299b8d70e72142e44af9ed1af598d1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30569Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Stuff is broken and has gone unnoticed. Bug: b/131914569 Change-Id: I2624a38f78a05114caf69681291733343fbe1c90 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30451 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
The documentation and verifier both say the pointee needs to be a integer, pointer, or floating point type. It looks like invalid atomic stores may be lowered to __atomic_load / __atomic_store via the AtomicExpandPass, but this comes much later in the transform pipeline, and before the verifier. Bug: b/131914569 Bug: b/127472316 Change-Id: Ieae5527ca5d65c890251c802baeaca6c5a9eacbb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30568 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-