- 11 Jan, 2020 2 commits
-
-
Ben Clayton authored
Generate a synthetic file containing the spirv disassembly, and allow the debugger to single line step over these instructions, along with inspection of the SSA values. All of this is no-op unless ENABLE_VK_DEBUGGER is defined at compile time, and the VK_DEBUG_PORT env var is set at run time. Bug: b/145351270 Change-Id: Iba71717d78f7213ba586a1632b44f5fe08addf08 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38915 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I0595a5d7b1bfe20a063eb98caf7497a36e9daa2c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40088 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 10 Jan, 2020 5 commits
-
-
SwiftShader Regression Bot authored
Change-Id: Ibe0a658c20ccf2fba47d5d0badb0764150e7a8a9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40048 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Bug: b/144825072 Change-Id: If620d4ce920dad1d929c8e1ad3ea87d8de8f9b1e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40030Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
A2B10G10R10 (RGBA) was already supported by SwiftShader, but A2R10G10B10 (BGRA) was not. Most of this cl is trivial, as it simply adds an equivalent version of the new formats from the code used for the already supported formats, with the R and B channels swapped. The only new piece of code is rounding for 1010102 formats at the top of the PixelRoutine::writeColor() function. There was already rounding for 8 bit formats, but not 1010102, which led to potential off by 1 errors in the output, which is fairly large when it happens on the 2 bit alpha channel. This fixes one of the dEQP-VK.pipeline.blend.*a2r10g10b10* tests. Tests: dEQP-VK.*a2r10g10b10* Bug b/142661203 Change-Id: Ifcae17aecafab3ea7967fdc755391ddd5e651ca5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40008Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Ian Elliott authored
The logic of PhysicalDevice::getImageFormatProperties(), as well as testing with ANGLE, shows that multisampling of integer formats is supported and works. The value of VkPhysicalDeviceLimits::sampledImageIntegerSampleCounts should therefore be set to: VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT Bug: b/147438583 Change-Id: Iaa7bd22789fd20b4e7975d3d2ffee2a8f90b006b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40068Reviewed-by:Nicolas Capens <nicolascapens@google.com> Tested-by:
Ian Elliott <ianelliott@google.com>
-
Sean Risser authored
The primary purpose of doing this is to have all the PowerVR SDK examples in one place and remain up-to-date. This change also lets us simplify a bit of our CMakeLists.txt as we only need to use add_subdirectory to build everything we need. The PowerVR SDK examples are built by explicitly enabling SWIFTSHADER_BUILD_PVR_EXAMPLES (either through a cmake gui, or -DSWIFTSHADER_BUILD_PVR_EXAMPLES=ON on the command line). You must also specify a window system for the examples to use with something like "-DPVR_WINDOW_SYSTEM=X11". Several cmake option flags were renamed to start with "SWIFTSHADER_" to avoid name collisions with subdirectories. Bug: b/141361933 Change-Id: I6d2fac579f62ff4bc211d5fd5127fb670eb9b4bf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39909Tested-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 09 Jan, 2020 5 commits
-
-
Alexis Hetu authored
This is a follow-up to this cl: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39748 where filtering was enabled for depth only formats. According to the Vulkan spec (about VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT): "If the format being queried is a depth/stencil format, this bit only specifies that the depth aspect (not the stencil aspect) of an image of this format supports linear filtering, and that linear filtering of the depth aspect is supported whether depth compare is enabled in the sampler or not. If this bit is not present, linear filtering with depth compare disabled is unsupported and linear filtering with depth compare enabled is supported, but may compute the filtered value in an implementation-dependent manner which differs from the normal rules of linear filtering. The resulting value must be in the range [0,1] and should be proportional to, or a weighted average of, the number of comparison passes or failures." So VK_FORMAT_D32_SFLOAT_S8_UINT can be added to the list of filterable formats, since VK_FORMAT_D32_SFLOAT is already supported. Change-Id: Ida83c2630c920f3dc2c3e17853dfe91c835a4b7f Tests: dEQP-VK.*d32_sfloat_s8_uint* Bug: b/146563038 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40028 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
This is an attempt to speed up build times and avoid the flaky timeouts we're seeing with the LLVM debug builds. Bug: b/147355576 Change-Id: I8dc83dd40a570849d02fe95822de534f0faae595 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39956Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Addresses the review comment: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39885/3/src/Pipeline/SpirvShader.cpp#422 Bug: b/145351270 Change-Id: I9a5ceefe048e63e0f52b7e9a15bd84f6bac16629 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39955Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Bug: b/147359661 Change-Id: I20e3b90b02327250d77a1006cea712022ad0f9d5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39951Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I3ed2e5239fb255174fc523b59e7d038fae0ff984 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39954Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 08 Jan, 2020 14 commits
-
-
Ben Clayton authored
Better to have a descriptive compiler error message than weird missing symbols. Bug: b/147359661 Change-Id: I66c0e5beb1e94f79210528867c990ab3e0f8b0ae Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39949Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Bug: b/147359661 Change-Id: Ieb2de4d93ca617b190977e258023992f4a6d34c9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39948Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
GCC 4.8 doesn't even understand --std=c++14 Bug: b/147359661 Change-Id: I5189d24638007ffe40e8903a382bccab9ef1c0fc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39950Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Move `setActiveLaneMask()` from `SpirvShader::EmitState` to `SpirvShader`. Also capitalize the function name, as this is the more common style in this class. The debugger will want to expose which lanes are active, so we'll need to perform additional work whenever this is called. This is a no-op change. Bug: b/145351270 Change-Id: I294c1d7cda08faaa6b784db148b70a7c4d84d431 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39886 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
Previously `OpExtInst` and `OpExtInstImport` was hard-coded to only support `GLSL.std.450`. We will want to support `OpenCL.Debug.100`, so put in the plumbing to properly support other extensions. Bug: b/145351270 Change-Id: I60fbb8c45bb57b747067437641676946129b1251 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39885Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Strings are used for debug instructions. Bug: b/145351270 Change-Id: I6bc711c6c8b320bef6e5abbe9c4bda189fdafc0b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39884Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
Instead of declaring a bunch of private forward declarations in SpirvShader, create a single Impl struct, which can hold all the forward declarations. The names of these forward declarations can then directly match the SpirvShader file name suffixes. The Impl struct can also be used later to store pointers to any internal state. This was proposed here: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38929/1/src/Pipeline/SpirvShaderGroup.cpp#23 Bug: b/145351270 Change-Id: Ie0de5e651fce9969fe0c24f51ae57652cade54d1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39883Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Previously Frame was an Thread-internally managed structure, with special accessors for the variable containers of the top most frame. With this change, the Frame can be modified by calling `Thread::update()`. This allows for more powerful edits of the frame, while still preserving a mutex lock over the structure. Bug: b/145351270 Change-Id: I81e87884e26bdd6f22b47e8f71b37bbfc91c7830 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39882 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Alexis Hetu authored
B10G11R11_UFLOAT blending is required in order for SwANGLE to expose GL_EXT_color_buffer_float. In this cl: - I added a minor readability improvement by storing "*Pointer<Int>(data + OFFSET(DrawData, colorPitchB[index]))" in a variable, "pitchB" since it's used in every case. - Added a constant for B10G11R11 masking - Added clamping in the floating point blending code for unsigned floating point formats - Fixed the VK_FORMAT_B10G11R11_UFLOAT_PACK32 output format which now takes the coverage mask into account - Included a minor followup cleanup in ShaderCore Bug: b/146223877 Tests: dEQP-VK.*b10g11r11* Change-Id: Ifb95f34a10cdbee9d185bc25feba0aeaca0d9e70 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39929Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
`vk::dbg::Reference` is a `vk::dbg::Value` that reads and writes from a value stored in memory. Used for displaying variables. Bug: b/145351270 Change-Id: I64146cb11b13267bef15d727af82a2256a9f25ce Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39881Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
This is a step toward being able to claim support for storageImageExtendedFormats. Bug: b/146579770 Test: dEQP-VK.*r16g16* Change-Id: Iba658f39271f7e181c10c117e53c8e3dbdf37595 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39769 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
SpirvShader doesn't actually do anything with this (yet). Extracts the dull plumbing from the meat of the SpirvShader debugger implementation. Bug: b/145351270 Change-Id: I1a648d8e463c428a232f711d0cc5dd0ecf94ad1e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38914Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Add a debugger context and server to vk::Device, along with a getter for acquiring the debugger context. Generate a synthetic file containing all the Vulkan commands in the command buffer, and allow the debugger to single line step over these. All of this is no-op unless ENABLE_VK_DEBUGGER is defined at compile time, and the VK_DEBUGGER_PORT env var is set at run time. Bug: b/145351270 Change-Id: I8bea398a6c08d4cb23d76172dbca2a08ae109a6d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38913 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
In file included from ../../third_party/swiftshader/third_party/llvm-subzero/lib/Support/Signals.cpp:183: ../../third_party/swiftshader/third_party/llvm-subzero/lib/Support/Windows/Signals.inc(220,13): error: unused function 'printStackTraceWithLLVMSymbolizer' [-Werror,-Wunused-function] static bool printStackTraceWithLLVMSymbolizer(llvm::raw_ostream &OS, ^ 1 error generated. Bug: chromium build fix Change-Id: I9ed9ac680fb5286fda0685788c6dbf76a4e34369 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39908Reviewed-by:Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 07 Jan, 2020 4 commits
-
-
Ben Clayton authored
The following tests are failing due to invalid SPIR-V merge blocks: dEQP-VK.spirv_assembly.instruction.graphics.loop.break_frag dEQP-VK.spirv_assembly.instruction.graphics.loop.break_vert dEQP-VK.spirv_assembly.instruction.graphics.loop.continue_frag dEQP-VK.spirv_assembly.instruction.graphics.loop.continue_vert dEQP-VK.spirv_assembly.instruction.graphics.loop.multi_block_loop_construct_frag dEQP-VK.spirv_assembly.instruction.graphics.loop.multi_block_loop_construct_vert dEQP-VK.spirv_assembly.instruction.graphics.loop.return_frag dEQP-VK.spirv_assembly.instruction.graphics.loop.return_vert dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_frag dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_vert dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_frag dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_vert This fix is currently working its way through the dEQP branches. Once it lands in 1.1.6, this change will be reverted and the dEQP SHA will be rolled forward. Change-Id: Ib69aa6aeb09c89519ff669281ef839a8555946bc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39878Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
LLVM has custom crash handling and stack trace printing code which may interfere with the application's error handling. Specifically, AddressSanitizer makes calls to SymInitialize() and SymSetOptions(). This change disables the config options, and adds a missing preprocessor conditional for ENABLE_BACKTRACES on Windows to match the Unix behavior. Bug: chromium:1033484 Change-Id: I3aa35d418212448c15eba4b0c3cc5b55c2da006e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39888 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
David 'Digit' Turner authored
Bug: 140421726 Change-Id: I375d937c92d1e88d30720cb0deca52c079fab134 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39249Tested-by:
David Turner <digit@google.com> Kokoro-Presubmit: David Turner <digit@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
David 'Digit' Turner authored
This CL simplifies the implementation of vk::Semaphore by getting rid of vk::Semaphore::Impl (moving its fields into vk::Semaphore itself). This requires a minor change to the vk::Semaphore constructor which now takes an allocator parameter. The latter is used to allocate the "External" instance on demand. Before the CL, said instance was 'allocated' from a fixed storage area inside the Impl class. Note that this doesn't change the external semaphore's behaviour. In particular, only one implementation can live in the source tree at the moment, while the Vulkan specification makes it clear that it should be possible to export a single VkSemaphore to several types of platform-specific handles (though this doesn't seem to be tested by the Vulkan-CTS). This last issue will be addressed in a future CL. Bug: 140421736 Change-Id: I3610d9e7e8cb8e49368b658d157408cbd23ee6db Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39052 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
David Turner <digit@google.com>
-
- 06 Jan, 2020 10 commits
-
-
Ben Clayton authored
Mirror the rather significant changes in Android.mk from: https://github.com/KhronosGroup/SPIRV-Tools/commit/64f36ea5296ec023f65f75d72196d3ff7ae7c7b2?diff=split Bug: b/123642959 Change-Id: Iaf82487e768dd0062a97cfe8ebff4e7f85816141 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39876Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Memory offset calculations in 32-bit SIMD elements limit us to addressing at most 4 GiB. Signed arithmetic further restricts it to 2 GiB. The legacy OpenGL ES implementation limits image allocations to 1 GiB, to discourage excessive memory usage which wouldn't typically succeed on other (mobile) implementations anyway. So until we have a strong use case which requires more, let's impose the same limit. Bug: b/146515574 Change-Id: Iaa7bd22789fd20b4e7975d3d2ffee2a8f90b006a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39828 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Addresses comments on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38891/1/src/Vulkan/Debug/ID.hpp#34 Bug: b/145351270 Change-Id: If1aabf0b2d2ac7e992bfd59a19eeeba57cb7f84e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39248Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
... even if they're not directly used by the SPIR-V shader code. This will let the debugger display these values in the locals window. Bug: b/145351270 Change-Id: I1d390e95bf38e89b072ef374e6a35cd8222a45c6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38912Tested-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>
-
Ben Clayton authored
Move the `.clang-format` rule up one level from `./src` to `.`. Add a `.clang-format` file to `./third_party` that disables formatting. Update `./src/clang-format-all.sh` to include `./tests`. Format all source files in `./tests`. Bug: b/144825072 Change-Id: I01c7ae37a7b1fe8d63ee143107da8acefba20e76 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39873 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
* changes: Update SPIRV-Tools to 8aa423930 Squashed 'third_party/SPIRV-Tools/' changes from c3f22f7cb..8aa423930 VulkanUnitTests: Fix SPIR-V validation issue Update SPIRV-Headers to 204cd131c Squashed 'third_party/SPIRV-Headers/' changes from af64a9e82..204cd131c
-
Alexis Hetu authored
Making sure we extend 1010102 to the full 16 bit range fixes 51 of the 53 failures found in ToT dEQP-VK.*a2b10* Also added a utility function to OR all elements of an int vector, which allows us to use more vector operations (as opposed to scalar) while improving the readability. Bug: b/146633956 Change-Id: If8b946c45cf27f5868d7a97166e21dba565ed72f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39768Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Contains initial support for OpenCL.DebugInfo.100 extended instruction set Changes: 8aa423930 Avoid pessimizing std::move (#3124) fad92f1e7 Fix typo in validation message (#3122) 578c5ac13 Change default version for CreatInstBindlessCheckPass to 2 (#3119) 9215c1b7d Fix convert-relax-to-half invalid code (#3099) (#3106) 64f36ea52 Support OpenCL.DebugInfo.100 extended instruction set (#3080) e01bc6d4e spirv-fuzz: Always add new globals to entry point interfaces (#3113) dcb7169bb spirv-fuzz: Transformation to add a new function to a module (#3114) 2e41d5ece spirv-fuzz: Avoid passing access chains as parameters (#3112) e70b009b0 Add support for SPV_KHR_non_semantic_info (#3110) 38d7fbaad spirv-fuzz: Transformations to add types, constants and variables (#3101) fccbc00ac Make Instrumentation format version 2 the default (Step 1) (#3096) 96354f504 spirv-fuzz: Fuzzer pass to merge blocks (#3097) 5c019b592 Start SPIRV-Tools v2020.1 c413b982c Finalize SPIRV-Tools v2019.5 2afbe9051 Update CHANGES 00ca4e5bd Don't crash when folding construct of empty struct (#3092) 0a2b38d08 spirv-fuzz: function outlining fuzzer pass (#3078) 983b5b4fc spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) e82a42860 WebGPU: Array size at most max signed int + 1 (#3077) 0a5d99d02 Permit the debug instructions in WebGPU SPIR-V - remove from the optimizer (#3083) af7410597 graphics robust access: use signed clamp (#3073) 3ed458604 Folding: perform add and sub on mismatched integer types (#3084) 47f3eb426 spirv-fuzz: Fix invalid tests (#3079) b334829a9 Validate nested constructs (#3068) 52e9cc930 spirv-fuzz: Improve debugging facilities (#3074) 54385458c Handle unreachable block when computing register pressure (#3070) 868ca3954 Improve RegisterSizePasses (#3059) f31f26f73 utils/vscode: Add install.bat (#3071) 03957e8a9 build: cmake: Add support for Fuchsia. (#3062) a62012ced Add test with explicit example of stripping reflection info (#3064) 8312c523e Permit the debug instructions in WebGPU SPIR-V (#3063) 85f3e93d1 Respect CMAKE_INSTALL_LIBDIR in installed CMake files (#3054) 45dde9ad6 Add missing dealloc (#3061) 2ee9aaa28 Initialize binary for use as guard later (#3058) 0391d0823 Handle OpPhi with no in operands in value numbering (#3056) ca703c887 Kill the id-to-func map after wrap-opkill (#3055) 57b4cb40b Convert stderr and stdout in status to strings on assignment (#3049) Commands: git subtree pull --prefix third_party/SPIRV-Tools https://github.com/KhronosGroup/SPIRV-Tools master --squash Bug: b/123642959 Change-Id: Id1120acb6126f62c3928774c985fcc09d2619584
-
Ben Clayton authored
8aa423930 Avoid pessimizing std::move (#3124) fad92f1e7 Fix typo in validation message (#3122) 578c5ac13 Change default version for CreatInstBindlessCheckPass to 2 (#3119) 9215c1b7d Fix convert-relax-to-half invalid code (#3099) (#3106) 64f36ea52 Support OpenCL.DebugInfo.100 extended instruction set (#3080) e01bc6d4e spirv-fuzz: Always add new globals to entry point interfaces (#3113) dcb7169bb spirv-fuzz: Transformation to add a new function to a module (#3114) 2e41d5ece spirv-fuzz: Avoid passing access chains as parameters (#3112) e70b009b0 Add support for SPV_KHR_non_semantic_info (#3110) 38d7fbaad spirv-fuzz: Transformations to add types, constants and variables (#3101) fccbc00ac Make Instrumentation format version 2 the default (Step 1) (#3096) 96354f504 spirv-fuzz: Fuzzer pass to merge blocks (#3097) 5c019b592 Start SPIRV-Tools v2020.1 c413b982c Finalize SPIRV-Tools v2019.5 2afbe9051 Update CHANGES 00ca4e5bd Don't crash when folding construct of empty struct (#3092) 0a2b38d08 spirv-fuzz: function outlining fuzzer pass (#3078) 983b5b4fc spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) e82a42860 WebGPU: Array size at most max signed int + 1 (#3077) 0a5d99d02 Permit the debug instructions in WebGPU SPIR-V - remove from the optimizer (#3083) af7410597 graphics robust access: use signed clamp (#3073) 3ed458604 Folding: perform add and sub on mismatched integer types (#3084) 47f3eb426 spirv-fuzz: Fix invalid tests (#3079) b334829a9 Validate nested constructs (#3068) 52e9cc930 spirv-fuzz: Improve debugging facilities (#3074) 54385458c Handle unreachable block when computing register pressure (#3070) 868ca3954 Improve RegisterSizePasses (#3059) f31f26f73 utils/vscode: Add install.bat (#3071) 03957e8a9 build: cmake: Add support for Fuchsia. (#3062) a62012ced Add test with explicit example of stripping reflection info (#3064) 8312c523e Permit the debug instructions in WebGPU SPIR-V (#3063) 85f3e93d1 Respect CMAKE_INSTALL_LIBDIR in installed CMake files (#3054) 45dde9ad6 Add missing dealloc (#3061) 2ee9aaa28 Initialize binary for use as guard later (#3058) 0391d0823 Handle OpPhi with no in operands in value numbering (#3056) ca703c887 Kill the id-to-func map after wrap-opkill (#3055) 57b4cb40b Convert stderr and stdout in status to strings on assignment (#3049) git-subtree-dir: third_party/SPIRV-Tools git-subtree-split: 8aa423930db37e37086665efcc55944d577c06e5
-
Ben Clayton authored
`LoopDivergentMergePhi` was attempting to use the same merge block for a `OpLoopMerge` and a `OpSelectionMerge`. This is not legal, and was caught by improvements to the SPIR-V tools validator. The fix is simple: Add a new merge block for the inner `OpSelectionMerge` that immediately jumps to the merge block for the `OpLoopMerge`. Bug: b/123642959 Bug: b/133440380 Bug: b/133481698 Change-Id: I8b5da04a1cd2db3e44bb5b50f1619a8565e5bc9d
-