- 29 Sep, 2020 3 commits
-
-
Ben Clayton authored
TSAN will catch this, but when its disabled, everything simply freezes and you have to go hunting across all the threads in the debugger. Just explode immediately with a sensible message. Bug: b/145351270 Change-Id: Iecef77a47bd54daabb489c5ca70e44b68c0c1e1f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48692 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
Simple accessor for the breakpoint set. Bug: b/145351270 Change-Id: Ifb534482009b5842d8bd2a796c082625b770e298 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48691 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Into `ServerEventListener` and `ClientEventListener`. The new debugger implementation wants to listen to breakpoints being set so that traps can be dynamically enabled. Bug: b/145351270 Change-Id: Iafe64426874da3aa109d4b59b34cb1e36bd06828 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48690 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 28 Sep, 2020 2 commits
-
-
Ben Clayton authored
`limit()` is the same for all lanes, so use `rr::Int`, not `SIMD::Int`. This was using an unqualified scope, so likely just a screwup when I first wrote this. Bug: None. A simple fix. Change-Id: I0df67fb88f9973dd522a5555888173ba1f5ae594 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48689Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
This was uninitialized, showing garbage in the debugger Bug: b/145351270 Change-Id: I952faabed4b1cf8b61dc4b9a5deb8c7a4e59db90 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48688Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 24 Sep, 2020 2 commits
-
-
Sylvain Defresne authored
set_sources_assignment_filter() is considered as a mis-feature of gn (as it makes it difficult to reason about the BUILD.gn files individually). Change BUILD.gn in SwiftShader to check the platform before adding plaform-specific source files to "sources" variable. This will allow removing the global sources assignment filter from Chromium codebase. Bug: chromium:1018739 Change-Id: Icf357de347b09dccce8c031d84ae7d8ce0ec396b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48668Tested-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Enrico Granata authored
Trying to build trout_arm64 on git_master results in linker errors due to certain library symbols not supporting branch and link relocation Apply the fix used elsewhere in the codebase (e.g. ag/12429028) to overcome this issue Bug: b/155835175 Test: build trout_arm64-userdebug Change-Id: Ib83fae561f50dbe3080bd3018690844efebe67df Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48648 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
- 21 Sep, 2020 1 commit
-
-
Sean Risser authored
Added a case in vkCreateImage to explicitly allow for this extension. Nothing else needs to be done, because Swiftshader doesn't need to do anything with the format list. Also expose the extension string in the device extensions. Bug: b/167557828 Change-Id: I8af6a63068cf1bea28df38738e258a918f0e5582 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48528Tested-by:
Sean Risser <srisser@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 16 Sep, 2020 1 commit
-
-
Hidehiko Abe authored
Currently is_linux GN variable is set to true on Chrome OS build, but is is planned to set false. This is the preparation to keep the compatibility. Bug: chromium:1110266 Test: Built locally. Change-Id: I87e8f1312c85f85a3f882698f1dce3d65e0cfab6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48348 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Hidehiko Abe <hidehiko@google.com>
-
- 15 Sep, 2020 2 commits
-
-
Jason Macnak authored
Bug: b/146515640 Bug: b/161909468 Test: run Cuttlefish w/ SwiftShader w/ Gralloc4 Change-Id: I60c806f460ef4fd0b4de5e3993731c1054030159 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48448 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>
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: Idbdc8cad8a31d60e02db59e8dd1d2bf325ee5f21 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47748 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 14 Sep, 2020 4 commits
-
-
Antonio Maiorano authored
Rather than set the FOLDER property from within certain third-party CMakeLists.txt, do so from the root, and make them all go to a "third_party" folder. Bug: b/145758253 Change-Id: I7b9f69a8f16be8ef6e0d153fc28ac4f6c3d64e5e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48368 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
Prints each debug instruction as it is defined. Yet another tool in debugging the debugger. Also rename `PRINT_EACH_PROCESSED_INSTRUCTION` to `PRINT_EACH_EMITTED_INSTRUCTION` as that's really what it meant. Bug: b/148401179 Change-Id: I9ddf90eab1919deefb5f4557756364478f06375a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48430Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
This debug instruction partially updates a local variable with SSA values. This is typically used to update a `DebugLocalVariable` of a composite type, which holds structure member offsets from a base address. To handle these, we allocate shadow memory to hold a copy of the entire variable in contiguous memory and have the `DebugLocalVariable` point to this memory. Whenever we encounter a `DebugValue`, we copy the necessary fields to the shadow memory. This approach is simplier and more performant than attempting to fiddle with `vk::dbg::Value`s for each `DebugValue`. Bug: b/148401179 Change-Id: I6aafce1f7553f4a3a97bbf84e6e9dac97ce71a68 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48429Reviewed-by:
Jaebaek Seo <jaebaek@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Previously the way to create `VariableContainer`s was to call `createVariableContainer()` on the `Context::Lock`. This was required so that debug-client requests to inspect the container's contents can be done with a simple map lookup. Creating variable containers is a high frequency operation, and obtaining a `Context::Lock` (unsurprisingly) requires acquiring a mutex lock, which across multiple threads results in significant mutex lock contention. To dramatically help with debugger performance, we can now construct `VariableContainer`s outside of the lock. This is achieved by registering the variable container in the context map only when it is handed to the client. This only occurs when there's a DAP transaction, which is orders of magnitude less frequent. Bug: b/148401179 Change-Id: I58eca33aac8fd4711dd9756072a6a06efdacc671 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48428 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Jaebaek Seo <jaebaek@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 11 Sep, 2020 1 commit
-
-
Nicolas Capens authored
In GLSL ES 3.00, float literals are allowed to have an 'f' or 'F' suffix, but they don't change the parsing process since they're always interpreted as single-precision IEEE-754 floating-point values. The std::istringstream used for parsing the literal's string can have implementation dependent behavior depending on the presence of the suffix, so this change removes it. This matches what ANGLE does. Fixes: b/168250854 Change-Id: I203833a2e817ca698894db5669941fb435b97868 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48388 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
- 10 Sep, 2020 1 commit
-
-
Jaebaek Seo authored
Based on OpenCL.DebugInfo.100 spec, if the function has no return value, 'Return Type' operand of DebugTypeFunction is OpTypeVoid. Bug: b/148401179 Change-Id: Ib29c7a569ff2ec24ba4667523766b0bdb0d6f260 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48128 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Jaebaek Seo <jaebaek@google.com>
-
- 09 Sep, 2020 4 commits
-
-
Alexis Hetu authored
A VulkanGlass synchronization fix now allows us to run it in debug without asserting on a validation layer error, so updating to ToT. Bug: b/141361933 Change-Id: I8b2ebff6b5d822370d7b62afdf6845d1736c1a1b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48289 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Constant arrays are allocated in the same 'register file' as the one for per-program uniforms, to support dynamic indexing. While we had a special case for that in OutputASM::registerType(), in registerIndex() we were actually allocating them in the temporaries register file. This led to assigning the same register index range twice, leading to overwriting the per-program uniforms with constant array data in the shader. Bug: b/168060171 Change-Id: If42944d186ed1c1328a8d477edca4662aa1e8e54 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48248 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> 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
Unlike image views, buffer views don't have a component mapping field, so we were setting the mapping to identity swizzles for uniform texel buffers. However, we also use the component mapping for assigning 0 or 1 to components not provided by the texel format: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31388 This change ensures we still get the 0 and 1 in the desired channels for uniform texel buffers. Bug: b/168052622 Test: dEQP-VK.texture.texel_buffer.uniform.packed.b10g11r11-ufloat-pack32 Change-Id: I40885f998a53e371e1e2358ed197fc3446916d8c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48268Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Added missing case for a single sample with alphaToCoverage enabled Change-Id: Iad9234fdd30d64c60ae189c123564a0423ab12df Tests: dEQP-VK.rasterization.frag_side_effects.color_at_* Bug: b/168046415 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48209 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 07 Sep, 2020 1 commit
-
-
Nicolas Capens authored
Commit "Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master" Revision https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS/+/5e85f689b91102b012ab4c4278f46efeb6214381 Branch https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS/+/refs/heads/master Includes fix for flaky failure of dEQP-VK.wsi.*.swapchain.acquire.too_man*: * Fix creation of signaled fences in swapchain tests https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2505 New notable test coverage: * Add coverage for negative float to clear color values https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2360 * Execute the graphics/compute pipeline https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2325 * Add tests for shader reuse with differing layout https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2324 * Enable random writes for dynamic storage buffers https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/1973 * Check per-sample copy results in multisample copy tests https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2448 * 1D and 3D image copy and blitting tests https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2391 * Support for VkPhysicalDeviceVulkan1{1,2}Properties in framework https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2425 * Test 3D image blit with differing depth https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2263 Bug: b/167692239 Fixes: b/162249856 Change-Id: I9d8933999e29a2702ce0990c7f426f6350c9ed3d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48149Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 04 Sep, 2020 1 commit
-
-
Nicolas Capens authored
https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/3399 clarified that when identity component swizzle is expected, one can also use the corresponding component enum. Fixes: b/167706626 Change-Id: I2c94f6ac108be5269d56f397ecf3da58cd310e5e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48168Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Sean Risser <srisser@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
- 03 Sep, 2020 3 commits
-
-
Nicolas Caramelli authored
Bug: b/162351826 Change-Id: Idd8e6c869ffa99945e7a6bc7701a7ab854f18432 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47188 Kokoro-Result: kokoro <noreply+kokoro@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
DescriptorPool::computeTotalFreeSize() was adding the size of the last element to its available memory size, rather than subtracting it, which was causing the DescriptorPool to return the wrong error (VK_ERROR_FRAGMENTED_POOL instead of VK_ERROR_OUT_OF_POOL_MEMORY). Bug: b/167617619 Change-Id: Ie60c2fe521b0d233b32504b446af1715361f5c21 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47549Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
This cl fixes GCC warnings caused by using clang specific directives. Also ran git cl format on modified files. Bug: chromium:1122889 Change-Id: Ibdaa84ab8162228ae40934fc9be14379ba89ca59 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48148 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 02 Sep, 2020 2 commits
-
-
Nicolas Capens authored
The SPIR-V spec states that the Sample operand of OpImageTexelPointer "must be a valid <id> for the value 0 if the OpTypeImage has MS of 0." This change optimizes for this common case by no performing texel address sample offset and bounds check calculations. Bug: b/163142358 Change-Id: I75932c264d45df1012fa8451fc4c57671191b59b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47808 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Sean Risser authored
Due to a defect in older versions of libstdc++, the std library could not support hashing of enums. So each enum used in a hash is now explicitly used as a uint32_t. Bug: b/166302706 Change-Id: Id7de96f97bef0e6f104dc783115a416e3aa47b7c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48108 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 01 Sep, 2020 5 commits
-
-
Nicolas Capens authored
Shifting a 32-bit value by 32 or more is undefined behavior in C++. This previously happened in this code when converting a 32-bit float value to an 11- or 10-bit minifloat which is too small to be represented as a denormal, and should produce 0 instead. Instead of going through this arithmetic for denormals, just test whether the input value is too small to produce a valid denormal, and return 0 instead. Bug: chromium:1117433 Change-Id: I8149996fb6d66d328db45725c4cdb81dc7826a10 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48069 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
The reference code for conversion from 32-bit floating-point to 11- and 10-bit minifloat formats supports producing denormals for values smaller than what can be represented as normalized representations. The arithmetic can underflow to produce zero for values too small to be represented as denormals. This arithmetic contains a 32-bit shift operation which can shift by an amount greater than 32, which has undefined behavior in C++ but produces zero on x86 processors. This change adds unit tests for the intended behavior around the cutoff between the smallest denormal, and zero, to help validate the fix for the UB in a future change. Bug: b/147900455 Bug: chromium:1117433 Change-Id: Ic5e495dd822231d52a5551ee12733a616728d486 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48068Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
While our generic Blitter routine can handle resolving any multisample format into any other format, the 'fastResolve()' method performs simple per-component sample averaging, thus assuming the input and output formats are identical. This is also demanded by the Vulkan specification: - vkCmdResolveImage: "srcImage and dstImage must have been created with the same image format." - VkSubpassDescription: "each resolve attachment that is not VK_ATTACHMENT_UNUSED must have the same VkFormat as its corresponding color attachment." This change adds an assert which would catch violations of that. Bug: b/147802090 Change-Id: I23d2d463efbbaed04a782a0cf61b255bf1c25b03 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48088 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Jaebaek Seo authored
Bug: b/148401179 Change-Id: I24879b32d65bed5a4380a444bbcaa5794cfd6d85 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47929 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Jaebaek Seo <jaebaek@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Jaebaek Seo authored
Bug: b/148401179 Change-Id: I89023b33b01bca848f44bda1f77c49496a9419af Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47931 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Jaebaek Seo <jaebaek@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 28 Aug, 2020 4 commits
-
-
Nicolas Capens authored
Benchmark results: Run on (48 X 2594 MHz CPU s) CPU Caches: L1 Data 32 KiB (x24) L1 Instruction 32 KiB (x24) L2 Unified 256 KiB (x24) L3 Unified 30720 KiB (x2) --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- (LLVM, before) Triangle/Hello 0.845 ms 0.439 ms 1673 Triangle/Multisample 6.95 ms 0.781 ms 1000 (LLVM, after) Triangle/Hello 0.861 ms 0.450 ms 1493 Triangle/Multisample 4.03 ms 0.753 ms 747 (Subzero, before) Triangle/Hello 1.19 ms 0.474 ms 1120 Triangle/Multisample 11.8 ms 0.920 ms 747 (Subzero, after) Triangle/Hello 0.907 ms 0.486 ms 1673 Triangle/Multisample 4.62 ms 0.781 ms 1000 Bug: b/147802090 Change-Id: Iea8498f2b745c86cf578db5c0f7ef2329b73c736 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47970 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
For whole-image 4x8-bit normalized format multisample resolves, use a specialized code path instead of a generic blit routine. Benchmark results: Run on (48 X 2594 MHz CPU s) CPU Caches: L1 Data 32 KiB (x24) L1 Instruction 32 KiB (x24) L2 Unified 256 KiB (x24) L3 Unified 30720 KiB (x2) --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- (LLVM, before) Triangle/Hello 1.02 ms 0.500 ms 1000 Triangle/Multisample 19.3 ms 0.984 ms 1000 (LLVM, after) Triangle/Hello 0.845 ms 0.439 ms 1673 Triangle/Multisample 6.95 ms 0.781 ms 1000 (Subzero, before) Triangle/Hello 1.15 ms 0.516 ms 1120 Triangle/Multisample 40.3 ms 0.469 ms 100 (Subzero, after) Triangle/Hello 1.19 ms 0.474 ms 1120 Triangle/Multisample 11.8 ms 0.920 ms 747 Bug: b/147802090 Change-Id: I15729552f01a509a5cfce20cd7de06d0b764cf0a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47969 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
The Vulkan spec explicitly states that "vkCmdBlitImage must not be used for multisampled source or destination images. Use vkCmdResolveImage for this purpose." And the only other way to obtain resolve multisample results is by using resolve attachments as part of a subpass. This split between blit operations and resolve operations should be reflected by the Blitter interface so we have less confusion about its blit() method being used to perform resolves. It will also facilitate adding a fast path for common resolve operations. Bug: b/147802090 Change-Id: I2549a5e7acd7ef9ec3f70f8ceb88ff5fc65a0d17 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47988 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> 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
Microsoft Visual Studio Community 2019 Version 16.7.1 produced the following errors: C2976 'llvm::SmallVectorTemplateBase': too few template argument SwiftShader\third_party\llvm-10.0\llvm\include\llvm\ADT\SmallVector.h:315 C2338 inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable SwiftShader\third_party\llvm-10.0\llvm\include\llvm\Support\type_traits.h:181 Not defining LLVM's HAVE_STD_IS_TRIVIALLY_COPYABLE config makes it fall back to code which doesn't use std::is_trivially_copyable and avoids the issue. Note this may hide a potentially serious MSVC compiler bug since C2338 is produced by a static_assert. Without that static assert we may not have known about the unexpected std::is_trivially_copyable behavior until run-time issues are caused by it. Bug: swiftshader:153 Change-Id: I04ab6d8ae725ecab45ac27fd89a37213baa86943 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47930 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
- 27 Aug, 2020 1 commit
-
-
Sean Risser authored
This function reports on a Vulkan driver's fine grained capabilities. A previous change broke some functionality in ANGLE. This is an update to that reverted patch. Bug: b/162404391 Change-Id: Ief91bac28e3ee9a7d775616c1663650e70c49b3e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47891Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com>
-
- 26 Aug, 2020 2 commits
-
-
Nicolas Capens authored
Previously Image::getMipLevelExtent() was the only way to retrieve the extent of an image, which didn't make sense for images for which we're not accessing the mipmaps, like framebuffer attachments. A getExtent() method was added for these cases where we only need the full extent. Bug: b/162315264 Change-Id: I9c2b8ed42cbbd573e5a08f4bfafc4653ad377f7f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47928 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
Image views are only accessed by shaders, and we've previously ensured descriptors only have one field for holding either the depth of a 3D texture or the array layer count. This value is accessed through the getDepthOrLayerCount() method, and so the getMipLevelExtent() of the ImageView class only has to return the 2D extent. Bug: b/162315264 Change-Id: I93dd5bbabcd7efc8aa174beb38204e900c8be614 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47789 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-