- 14 Dec, 2020 2 commits
-
-
Nicolas Capens authored
Remove the requirement that Subzero must not diverge from the upstream repo. Recommend using the MAKE_BUILD_PARALLEL_LEVEL environment variable to change the default parallelism. Fixes: b/166244497 Fixes: b/170565506 Change-Id: I00029e392282edd650712f031079073482365af3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51188 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
Bug: b/155148722 Change-Id: Idd8a9109eebaa436eee69eddde9a399402fe5119 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50808 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 12 Dec, 2020 1 commit
-
-
Nicolas Capens authored
This is the revision where the newly created 1.2.5 version is merged back into the master branch. Revision https://github.com/KhronosGroup/VK-GL-CTS/commit/41331850eb212df08e010b4d861992fe0aae622264676f3ed52018f0959e00aff3976cf65fe8d1fc Branch https://github.com/KhronosGroup/VK-GL-CTS/tree/master Notable new tests: - Enable random writes for storage images (https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/1973) - Add tests for oob access in unexecuted shader paths (https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2171) - Add array of images copy tests (https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2452) - Add tests for clamping of depth values (https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2312) - Add cube compat. to array image copy tests (https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2542) - Tests for pipeline layout early destroy (https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2362) Bug: b/167692239 Change-Id: I320742f00ddc745774e47cc89e3317400f27ed0b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51028 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 11 Dec, 2020 7 commits
-
-
Nicolas Capens authored
This extension is relied on by dEQP-VK.robustness.image_robustness.* but it is only checked for since dEQP 1.2.5. Tests: dEQP-VK.* Bug: b/159329067 Bug: b/167692239 Change-Id: I52cc47302534537b4c95ea01b19308d9d39d9632 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51128Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
The last element of sw::Constants::maxPos was inadvertently 0x7F7FFFFE instead of 0x7F7FFFFF. Replace it with a scalar which is broadcast to all elements within Reactor code. Bug: b/175073806 Change-Id: Ia82cfe199bb2ea85367c6ff4f59b31e2acf5c6f2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50988Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Nicolas Capens authored
Validation is costly and it's the applications' responsibility to send valid SPIR-V to the ICD, so we shouldn't do it in Release builds. Note that while in Debug builds we already perform validation during creation of the shader module (to catch issues even sooner), we should validate again during pipeline compilation to ensure we (or the tooling we use) didn't alter the SPIR-V to become invalid. Bug: b/158228522 Change-Id: I5b8153f0397c609d139e37909868b5836d57d40e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51168Reviewed-by:
Sean Risser <srisser@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
These were implemented using 64-bit and 128-bit accesses, respectively, and thus cause both alignment and overflow issues. We weren't exposing support for them, so they can be removed for now instead of requiring an implementation which doesn't have these flaws. According to https://vulkan.gpuinfo.org/listformats.php, R16G16B16 is very rarely supported as an image format (but as a buffer format it is fairly common). R32G32B32 is very widely supported actually, due to being mandatory for Direct3D 10: https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/format-support-for-direct3d-feature-level-10-0-hardware#dxgi_format_r32g32b32_typelesspcs-5 Bug: b/146387550 Change-Id: Ife0a1786a5228c872c3585403ab1ce47eafb4ce5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51088 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Also fix clamping of the smallest negative value to -1.0. See https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#fundamentals-fixedfpconv Bug: b/167582422 Tests: dEQP-VK.* Change-Id: Ie77a048c2a3111c19554329e73d81a864f69cf94 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50948 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Bug: b/167582422 Tests: dEQP-VK.* Change-Id: I38e77b0bf224bb0a8cd97864d0592ee4f5ec564d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50930 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
When all three vertices of a triangle have depth 0, the maximum exponent e is 0. We can't just use (e - n) << n as the bit pattern for 2^(e - n), because the exponent field underflows and creates a negative value. All triangles where all depth values have a bias-adjusted exponent less than 23 have this issue (note 2^(23 - 127) = 4.9e-32). The fix is to perform 2^(e - n) as 2^e * 2^(-n). The multiplication handles the underflow of the exponent either by creating a subnormal, or zero. Bug: b/139341727 Change-Id: I44b87feb55f61c5fa18ba235e9ec211926de3b3e Fixes: b/174051829 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51148 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
-
- 10 Dec, 2020 4 commits
-
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: I033790ccc4d88a4cf5acc96bd90a94f6cc8ebdc4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51089Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Cherry now runs out of memory when using 32-bit Go. The 64-bit version of Go requires a 64-bit version of GCC, which comes with MinGW-W64. See also https://android.googlesource.com/platform/external/cherry/+/9592629522babac1fb1a337433ae27f78f696703/README#29 dEQP's Python scripts have been updated to require Python 3. Bug: b/167692239 Change-Id: I6397f048420ba5b46199660166bb560182334c99 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51108Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Overview of the changes: The Context class has been split into more Vulkan related functional elements: - The IndexBuffer class, which contains the index buffer information and has been extended to also the functionality to support primitive restart. Should we need primitive restart related caching in the future, this would be the place to do it. - The Attachments class, which contains information about render targets and depth and stencil buffers - The Inputs class, which contains information about descriptor sets and input streams. - The GraphicsState is a completely constant class which can only be modified in the constructor, which represents the state of a graphics pipeline, which never changes past construction. The GraphicsState can be combined with a DynamicState structure in order to create a complete state used by rendering. Also to note: - The DynamicState class in now in Context.hpp, in order for the GraphicsState to have functionality related to it. - PushConstantStorage was moved to vk::Pipeline, as it is used by both the Graphics Pipeline and the Compute Pipeline. - Viewport/scissor functionality is contained in the GraphicsState and was removed from the Renderer. - All *Processor::update() functions now receive only the information that they require, rather that having access to the entire context. Bug: b/132280877 Change-Id: I74f2582d34e45aa1e7b192dbd2b9b770e7af118d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48830Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Commit-Queue: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Jason Macnak authored
... to make VkAHardwareBufferImage::init() happy. Bug: b/147316305 Bug: b/141698760 Test: cts CtsGraphicsTestCases -t android.graphics.cts.BasicVulkanGpuTest Change-Id: I599e2c0803a4008b80c1cd1f3ba9e4198cd0b72d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51069Tested-by:
Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 09 Dec, 2020 8 commits
-
-
Jason Macnak authored
... as it does not have an equivalent format in the AHardwareBuffer Format Equivalence table in the Vulkan spec. (Note: AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 format handling needs to be updated as we currently assume a 3 plane layout) Bug: b/175132241 Test: launch Cuttlefish w/ SwANGLE and open Camera Change-Id: I2ac6a9937b2fd75f559d654f1e179ea5bcfa456f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51051 Presubmit-Ready: Jason Macnak <natsu@google.com> Tested-by:
Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Jason Macnak authored
Bug: b/147316305 Test: launch Cuttlefish w/ SwANGLE and open Youtube Change-Id: Ife9f4c906d2b4af86060c11d8338ce8b65d8439f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51068 Presubmit-Ready: Jason Macnak <natsu@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com>
-
Sean Risser authored
SPIR-V 1.4 is coupled with Vulkan 1.2 to introduce a core extension that exposes float controls and new OpExecutionMode arguments for controlling floating point behavior. Those Execution Modes are only legal if the implementation says it supports them in the FloatControlsProperties struct. SPIR-V 1.4 also adds some operands and a few new opcodes. This version update tells SPIR-V tools to allow behavior created to support version 1.4, like uniform buffer standard packing. It also exposes the Vulkan extension for SPIR-V 1.4. Bug: b/173046235 Tests: dEQP-VK.* Change-Id: I4bb387fd7ba4695babff3edbcaabca583c4fdde1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50228Tested-by:
Sean Risser <srisser@google.com> Commit-Queue: Sean Risser <srisser@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Jason Macnak authored
Images for YUV-format AHBs will have VK_FORMAT_UNDEFINED in their VkImageCreateInfo->format and will have a VkExternalFormatANDROID with externalFormat containing the AHARDWAREBUFFER_FORMAT_*. Translate this AHB_FORMAT_* back to VK_FORMAT_* during image and image view creation. Bug: b/175132241 Test: launch Cuttlefish w/ SwANGLE and open Camera Change-Id: If2e6cd88d6e8f35fe972bd1a5873ed16b0c95b39 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51049 Presubmit-Ready: Jason Macnak <natsu@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Sean Risser authored
OpDecorateId was added to SPIR-V 1.2, but was missing from SwiftShader. OpDecorateString and OpMemberDecorateString were added in SPIR-V 1.4 as a part of the SPV_GOOGLE_decorate_string extension being integrated as a core part of SPIR-V 1.4. All of the decorations for these operations are to support HLSL at a level before the graphics driver is involved, to include debug information in the SPIR-V code, or to inform the SPIR-V compiler about potential optimizations that SwiftShader currently doesn't implement. Test: dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.* Test: dEQP-VK.spirv_assembly.instruction.spirv1p4.uniformid.* Bug: b/174693410 Change-Id: I7a22b335da9f5566e3d08869a80ea6701f035155 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50850Tested-by:
Sean Risser <srisser@google.com> Commit-Queue: Sean Risser <srisser@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Jason Macnak authored
Some external device memories really represent existing images with requirements and not just memory blobs. For AHB, retrieve planes offsets and row strides from the gralloc plane metadata. Bug: b/171302758 Test: launch Cuttlefish w/ SwANGLE and open camera Change-Id: I9af7aae9d19035cacd736b127b9d03cee4374fab Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51048 Presubmit-Ready: Jason Macnak <natsu@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com>
-
Jason Macnak authored
Eventually, this should probably be fetched from the gralloc buffer metadata using Gralloc4::Get(android::gralloc4::MetadataType_Dataspace) Bug: b/175132241 Test: launch Cuttlefish w/ SwANGLE and open Camera Change-Id: I83cde939e04f9752f71df5c65fe62a0e2782ecc2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51050 Presubmit-Ready: Jason Macnak <natsu@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com>
-
Alexis Hetu authored
This cl changes Constants into a singleton. The constructor of Constants previously ran at library load time, and this implementation of the singleton pattern achieves running the construction on first use. This saves startup time, and omits the construction entirely when no draw call or compute invocation is made. Bug: b/175073772 Change-Id: I58727c6e5b8cf9a17d548707222d39cad92fb4c1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50849 Commit-Queue: Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 07 Dec, 2020 2 commits
-
-
Yuly Novikov authored
So that we will get logs on https://chromium-cq-status.appspot.com/recent#codereview_hostname=swiftshader-review.googlesource.com regarding what CQ is doing. Change-Id: If289f7ec312b57b7182803d369f3c05a4b58c95a Bug: chromium:1069673 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50968Reviewed-by:
Yuly Novikov <ynovikov@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Commit-Queue: Yuly Novikov <ynovikov@google.com> Tested-by:
Yuly Novikov <ynovikov@google.com>
-
Alexis Hetu authored
Minor fixes: - Fixed printing uint64_t type - Added a few missing parentheses Bug: b/174866721 Change-Id: Ifd68cf493cffe1ef3dedffb85c6568caa337aca6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50893Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 05 Dec, 2020 1 commit
-
-
Nicolas Capens authored
These were used for platforms which don't have full C++11 support. We've since moved on to requiring at least C++14. Bug: b/75229322 Bug: b/147359661 Change-Id: I0754c3b9cd5ac38e8b690f66d719101298c1e25e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50888 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
-
- 04 Dec, 2020 7 commits
-
-
Yuly Novikov authored
With 2 Chromium builders: linux-swangle-try-tot-swiftshader-x64 and win-swangle-try-tot-swiftshader-x86 Change-Id: Ie80b1d5001010caccfc739e2c4f16dffbbb00e48 Bug: chromium:1069673 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43789Tested-by:
Yuly Novikov <ynovikov@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Make ReactorUnitTests use C++17 so we can use std::filesystem. Since ReactorUnitTests is also built in other build systems, this is made optional by conditionally compiling based on the __cplusplus macro. - CMake: ensure that __cplusplus is defined on MSVC - Also replaced "swiftshader" with "reactor" in the assembly output filename. - Added run of unit test to Kokoro. Bug: b/174358505 Bug: b/174843857 Change-Id: I9c558957f7179e4c295b6d32d78375e18f9e65dd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50868Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
Also fix Windows build so that REACTOR_EMIT_PRINT_LOCATION is actually enabled. Bug: b/174358505 Change-Id: I742fd48fd982915a452b4b86ceaf44d383797b55 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50892 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
This is to be able to use C++17 std::filesystem in a future change. Bug: b/174358505 Bug: b/174843857 Change-Id: I8f36d3d088189984368711161b25ad4f01a24a65 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50891 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
level of indirection because STRINGIFY(X) produces "X" regardless of what value X is defined to be. Bug: b/174801963 Change-Id: I1b2c1c987417ee1a97e109b52f41bdc865db8c77 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50908Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
This removes the explicit mention of SwiftShader in Reactor's code, while still allowing to set a name that identifies the usage precisely. Bug: b/174801963 Change-Id: Ic6cdd9d36ef9093aea62f571ecd37334ec32d3f2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50890Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
The use of named anonymous file mappings was only meant for the allocation of executable memory by the Reactor JIT. Bug: b/174801963 Change-Id: Ifae13c7ed5cdbb7d940cea750d3f061d08e9f442 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50889 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 02 Dec, 2020 8 commits
-
-
Antonio Maiorano authored
This change removes the virtual getType() function, and instead stores the Type* as a member in Variable. This change is important for when materialize() gets called from Variable constructors, such as in LValue, so that we do not call a virtual function from the constructor. Note that this is exactly what would happen when LValue's ctor calls materialize(), but it so happened that the most overridden getType() is in LValue, so it calls the correct version. However, if we ever override getType() in a class derived from LValue, this would fail to work properly. As getType was the only virtual function in Variable, note that the sizeof(Variable) does not change as we swapped the one vtable pointer for a Type pointer. Bug: b/174160049 Change-Id: I8688fb9e9bd604e9839d3bac60761761bc969ae2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50848 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Fixes crash when using rr::Array with ENABLE_RR_DEBUG_INFO. This is because when the LValue ctor calls materialize, this would end up calling the virtual allocate() function, which would not call the overridden version in rr::Array as it was not fully constructed yet. Instead, we go back to having the size stored in Value, and passing it up the constructor chain. Note that this effectively reverts "Eliminate the array size from rr::Variable" (5e16bc45) with some modifications. Bug: b/174160049 Change-Id: I83cec95a74f32ef7276ed60f979a4c32f571eb8a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50809 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Jason Macnak authored
... to disable the extension on Cuttlefish in order to pass dEQP-VK.api.info.android#no_unknown_extensions on Cuttlefish. Bug: b/174028661 Test: cts -m CtsDeqpTestCases Change-Id: I9af0194e724a738491f6820eb2ca8947ac202e5a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50688 Presubmit-Ready: Jason Macnak <natsu@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Jason Macnak <natsu@google.com>
-
Antonio Maiorano authored
Defining ENABLE_RR_EMIT_ASM_FILE will make it so that the LLVM backend outputs a unique asm file per routine that is generated. This file is further processed and updated so that each instruction is prefixed with the final resolved memory location. This is useful, for instance, when we get JIT callstacks and can't easily figure out which code it maps to. Furthermore, when this feature is coupled with ENABLE_RR_DEBUG_INFO, the emitted asm includes source location (file and line) information, making it easy to correlate the asm to the Reactor code. For example, running ReactorUnitTests.Sample with both ENABLE_RR_EMIT_ASM_FILE and ENABLE_RR_DEBUG_INFO enabled generates a file named swiftshader_jit_llvm_0000_ReactorUnitTests_Sample.asm, with partial output like so: ``` .file 2 "C:\\src\\SwiftShader2\\tests\\ReactorUnitTests\\ReactorUnitTests.cpp\\<unknown>" .loc 2 53 0 prologue_end # <unknown>:53:0 [0x2B9D3358004] mov qword ptr [rsp + 64], rcx # encoding: [0x48,0x89,0x4c,0x24,0x40] [0x2B9D3358009] mov qword ptr [rsp + 72], rcx # encoding: [0x48,0x89,0x4c,0x24,0x48] .loc 2 54 0 # <unknown>:54:0 [0x2B9D335800E] mov eax, dword ptr [rcx - 4] # encoding: [0x8b,0x41,0xfc] [0x2B9D3358011] mov dword ptr [rsp + 8], eax # encoding: [0x89,0x44,0x24,0x08] [0x2B9D3358015] mov dword ptr [rsp + 16], eax # encoding: [0x89,0x44,0x24,0x10] .loc 2 55 0 # <unknown>:55:0 [0x2B9D3358019] mov dword ptr [rsp + 12], edx # encoding: [0x89,0x54,0x24,0x0c] [0x2B9D335801D] mov dword ptr [rsp + 20], edx # encoding: [0x89,0x54,0x24,0x14] ``` The "53", "54", and "55" are the line numbers of the respective Reactor code in ReactorUnitTests.cpp. CMake: enable REACTOR_EMIT_ASM_FILE to enable this feature. Bug: b/174358505 Change-Id: I613a25fe0354a1343c49cb399875e82d5e806e29 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50750 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Add an optional parameter to Coroutine::finalize() to give the underlying routine a name. To support variadic args, we use a strongly-typed Name class. Note that giving a name to Coroutines is optional, but we may decide to force one to be given, as we do for Functions, as it's useful for debugging. - ReactorUnitTests Coroutine tests now pass in the test name - ComputeProgram now passes in "ComputeProgram" as a name Bug: b/174358505 Change-Id: I899e8aab5dfd5d461bc7de0e54bc0e2b72e4b4a9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50791 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
Rather than using "one" everywhere, we now use the test's name as the Routine name. This will be used in a future change to generate useful file names for JIT routine asm listings. Note that Coroutine does not yet expose a way to pass in a Routine name, so for now, they are still hard-coded to "coroutine". Will be fixed in a future change. Bug: b/174358505 Change-Id: I18e118674b024575cbe4d89100f56f6f45791f6c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50790 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
This will be used in a future change to generate useful file names for JIT routine asm listings. Bug: b/174358505 Change-Id: I46b6f2a6993a15f57cd54aad5a83765e4e559e42 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50789 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
The "name" paramter for a Routine supports format strings with varargs, but FunctionT did not correctly forward the args. Bug: b/174358505 Change-Id: Ib94f8b8b4f8a4424e8aa0db0a4e4f8a286f3de2e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50788 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-