- 09 May, 2019 4 commits
-
-
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 15 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>
-
Alexis Hetu authored
Some of these tests were marked as UNIMPLEMENTED because of an unhandled extension structure. Bug b/132185385 Change-Id: Ie1f399d1d69490976950b268dc96225e4c57b174 Tests: dEQP-VK.memory.external_memory_host.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30809 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT *may* cause pipeline creation to be faster by ignoring optimizations. We can safely ignore this flag. Bug b/118386749 Change-Id: Icfc48fd7f54b4ccbd7ad2d5dbfcec08ce62b0f21 Tests: dEQP-VK.pipeline.early_destroy.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30810 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 07 May, 2019 8 commits
-
-
Alexis Hetu authored
dEQP random tests sometimes add a struct of type: VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT This cl handles this case gracefully. Bug b/123244275 b/132185385 Change-Id: I2e0d1af058c33e4014e3ee0e544a95ebf42c9db5 Tests: dEQP-VK.binding_model.descriptorset_random.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30789 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> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Trivially copied from vkBindBufferMemory2. Bug b/119620767 Change-Id: I7338ca1cc4552e842352807308e5dc763a3897f3 Tests: dEQP-VK.memory.binding.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30788 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:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
- Correctly claim that VK_FORMAT_S8_UINT has quadlayout. This is the only layout the ROP code understands for stencil. This by itself will cause blitter ops to take it into account. - Clean up the unused but misleading 'useStencil' flag in Blitter::Options - Mark the cases we don't yet support in Image<->Image and Image<->Buffer copies as UNIMPLEMENTED. These will be corrected in followup patches. Bug: b/132156862 Test: dEQP-VK.api.* Test: dEQP-VK.image.* Test: dEQP-VK.renderpass.* Change-Id: I26ccc82a17fb44043ea9624988473e3835069c71 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30770Tested-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> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Enables reading from multisampled input attachments and storage images Bug: b/131171141 Test: dEQP-VK.renderpass.*.multisample.* Change-Id: I719d54c31eb12f58ba7fbdd614ecf3073bfc6d40 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30553 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
Bug: b/131914569 Change-Id: I228c8812a49ce3333227e1463c7617f942088a4f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30454 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Previously we would check for out-of-range coordinates after filtering to replace the sampled color with the border color. This is incorrect as according to Vulkan 1.1 spec section 15.3.3. Texel Replacement the replacement happens per texel, before filtering. This is achieved by replacing out-of-range coordinates with -1, which will get multiplied by pitch and slice for the second and third coordinate respectively, but will remain negative. These negative coordinates are then detected during sample fetch to look up the texel at 0 instead, and then replace it with the border color. Bug: b/129523279 Test: dEQP-VK.pipeline.image.* Test: dEQP-VK.pipeline.sampler.* Change-Id: I0949e6a4701285f7511bf2b1579bd8a303f2ddb6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30710 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
For both VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK and VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, the internal representation was a 24 bit BGR8 format, which isn't supported by the texture sampling code, not is it intended to add support for these formats. These BGR8 formats were changed to BGRA8 formats, with the A8 value cleared to 0xFF. Also fixed 3D compressed textures by taking depth into account. Tests: dEQP-VK.pipeline.image.*etc2_r8g8b8_* Bug b/119620767 Change-Id: I9dd5c34519c9270580170c70b82c2e62fdbba3da Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30709 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I58213c189a52a24aeb5696d0cde7156ee1804678 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30688Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 06 May, 2019 10 commits
-
-
Chris Forbes authored
When doing multisample rendering, we need to avoid conflicts between render target writes to adjacent slices. - Worst case is an unaligned 16-byte write hitting the last byte of the image, + 15 bytes beyond - Ensure that slices are always 16-byte aligned Test: dEQP-VK.renderpass.* Bug: b/131719815 Change-Id: I5c3ee7c66f0f656fdc85d7388ca907e0173381e5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30608Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
The mask output from the shader is ANDed with the coverage. Slight wrinkle here in that we have a 4 bit mask of samples in each lane, but we want to transpose to a 4 bit mask of lane coverage per sample. Test: dEQP-VK.renderpass.*.multisample.* Bug: b/118386749 Change-Id: Id4d60bef71cd179915db424aa94a9d9728fb42cd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30552Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Treat it as a 2D array image by setting the second coordinate to 0 and assigning the layer coordinate to the third. Bug: b/129523279 Test: dEQP-VK.pipeline.image.* Test: dEQP-VK.pipeline.sampler.* Change-Id: I82e9a8081c2b7d7a2f62ffc016b860925bd853ad Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30708 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>
-
Chris Forbes authored
These are not quite equivalent -- it is possible that we will start waiting before the query begins. Tests: dEQP-VK.query_pool.occlusion_query.get_results_conservative* Change-Id: I66fbe389b5329fbf34ff78cf3cea1078339b2b10 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30728Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
You can use VK_IMAGE_LAYOUT_GENERAL for anything. Bug: b/nnn Test: dEQP-VK.image.* Change-Id: I5ca7612e6957c6adc97055861cdbe2addf665b92 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30668Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/129523279 Test: dEQP-VK.texture.shadow.* Test: dEQP-VK.glsl.* Change-Id: I7e8241cb458200aeabb22992c02f0feb86479ac2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30649Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Previously this would only be applied if the format were directly handled in this path. However, we have to support D16_UNORM, which takes the other branch here. Bug: b/129523279 Test: dEQP-VK.texture.shadow.* Change-Id: I96e71c5b13391c0c6829c8c28a5bbd81e52ca79a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30648Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
This cl does 3 main things: - It pushes the queue submit operation to its own thread - It implements events - It implements fences Some details: - Because we can have N async draw operations and we need to signal the fence only after all operations are completed, fences have a add/done mechanism to allow signaling the fence only when all draw operations are completed. - Device::waitForFences() detects large timeouts to avoid integer overflow if now+timeout is bigger than the remaining nanoseconds available in a long long. Bug b/117835459 Change-Id: I2f02c3b4bb9d9ac9037909b02b0601e1bae15d21 Tests: dEQP-VK.synchronization.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29769 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
The blitter now has the ability to compute borders and corners for seamless cubemaps. Bug b/119620767 Tests: dEQP-VK.pipeline.sampler.view_type.cube.format.* Change-Id: Idf47886526cf7fd9bce6739a558716189f02a64c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30349 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
The ETC2 decoder already existed in SwiftShader, so this cl hooks it up in vk::Image. In order to be transparent to the user, any time a compressed image is created, another image is simultaneously created, which will eventually contain the decompressed image. Bug b/119620767 Tests: dEQP-VK.pipeline.sampler.view_type.2d.format.etc2_r8g8b8a1_unorm_block.* Tests: dEQP-VK.pipeline.sampler.view_type.2d.format.etc2_r8g8b8a8_unorm_block.* Tests: dEQP-VK.pipeline.sampler.view_type.2d.format.eac_r11g11_unorm_block.* Change-Id: I8bfdccccd9cad30e5b707ba82aac2b581ec2a90e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29428 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>
-
- 04 May, 2019 1 commit
-
-
SwiftShader Regression Bot authored
Change-Id: I2d320d2b59c05c492d312b1697b1f2e6ed3e2dcf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30628Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 03 May, 2019 2 commits
-
-
Chris Forbes authored
Test: dEQP-VK.pipeline.blend.* Bug: b/118386749 Change-Id: I382b6101980171fec6b7fad4d2a126b702526f8b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30551 Presubmit-Ready: Chris Forbes <chrisforbes@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
Provides a number of template trait types for Reactor primitive types: CToReactorT<T> transforms the C-type (T) into a suitable Reactor equivalent. Pointer types are now generalized, allowing for translations of T** types. IsRValue<T>::value and IsLValue<T>::value are true iff T is of the respective Reactor type. ReactorType<T> resolves to the corresponding LValue Reactor type for T, where T can be a C-type, RValue or LValue. ValueOf<T> returns a rr::Value* for a C-value, RValue or LValue. This is now used by a single definition of Return(), fixing bad type coercion which in turn produced illegal LLVM IR. CanBeUsedAsReturn<T>::value is true iff T can be used as a function return type. CanBeUsedAsParameter<T>::value is true iff T can be used as a function parameter type. Function signatures are now statically checked that all parameter types and the return type are valid, providing a human readable error message if an invalid type is used (verified on gcc, clang and msvc). Added a whole bunch of static asserts in ReactorUnitTests.cpp to sanity check the templates. Bug: b/131914569 Change-Id: I3267354d6a3f68545079365a657757969ec0047d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30455 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-