- 29 Jul, 2019 4 commits
-
-
Ben Clayton authored
Commands: git subtree pull --prefix third_party/SPIRV-Tools https://github.com/KhronosGroup/SPIRV-Tools 9559cdbdf011c487f67f89e2d694bd4a18d5c1e0 --squash Bug: b/123642959 Change-Id: I10d6643924eaec8a74490b43ef941bbc63cf1d88
-
Ben Clayton authored
9559cdbdf Fix #2609 - Handle out-of-bounds scalar replacements. (#2767) f54b8653d Limit fuzzer tests so that they take less time to run (#2763) bb0e2f65b Fix check for unreachable blocks in merge-return (#2762) 1a89ac8b2 Transformation and fuzzer pass to add dead continues (#2758) 65f49dfc3 Remove unneeded future imports (#2739) c7fcb8c3b Process OpDecorateId in ADCE (#2761) fb83b6fbb Record correct dominators in merge return (#2760) c9190a54d SSA rewriter: Don't use trivial phis (#2757) aea4e6b1b Fix block depth rule priority (#2755) a94ddc267 Case validation with repeated labels (#2689) 3855447d9 Bindless Instrument: Make init check depend solely on input_init_enabled (#2753) 11516c0b9 Validate storage class OpenCL environment rules for atomics (#2750) bac82f49a Allow LOD ops in compute shaders with derivative group execution modes (#2752) 76b75c40a Document opt::Instruction::InsertBefore methods (#2751) aa9e8f538 Revert "Do not inline OpKill Instructions (#2713)" (#2749) 58e2ec25b For Vulkan, disallow structures containing opaque types (#2546) 230c9e437 Fix bug in merge return (#2734) 1fedf72e5 Allow ray tracing shaders in inst bindle check pass. (#2733) 032adc4d7 Correctly implement WebGPU related flag exclusions (#2737) 92c41ff1e Remove Common Uniform Elimination Pass (#2731) 59de04ad6 BUILD.gn: Add deps and move files for `gn check` (#2735) 55adf4cf7 Update execution scope rules for WebGPU (#2730) 1a2de48a1 Extra small storage validation (#2732) 327963765 Add validation for SPV_EXT_demote_to_helper_invocation (#2707) 508151250 BUILD.gn: Add targets to build all command-line tools (#2727) 5ce8cf781 Change the order branches are simplified in dead branch elim (#2728) cd153db8e Add —preserve-bindings and —preserve-spec-constants (#2693) 86e45efe1 Handle decorations better in some optimizations (#2716) 3a252a267 Update memory scope rules for WebGPU (#2725) 0c4feb643 Remove extra semis (#2717) 456cc598a Validate usage of 8- and 16-bit types with only storage capabilities (#2704) b8ab80843 Shrinker for spirv-fuzz (#2708) 37e8f7994 Perform merge return with single return in loop. (#2714) fe7cc9c61 Do not inline OpKill Instructions (#2713) 5a93e0739 Refactor reducer options (#2709) a6bfc26e5 Fix BUILD.gn for Fuchsia platform build. (#2692) 9702d47c6 Validate that in OpenGL env block variables have Binding (#2685) e6e3e2ccc Update type for loaded builtin GlobalInvocationID in pass instrumentation (#2705) 6ccb52b86 Warn when input facts are invalid. (#2699) 88183041d Got rid of redundant declaration. (#2698) efde68236 Disallow movement of unreachable blocks. (#2700) dfcb5a1e1 Refactor fuzzer transformations (#2694) 888aeef8a Fix Component decoration validation for arrays (#2697) df86bb44f Replace global static map with an array of pairs (#2691) 7c294608c Basic validation for Component decorations (#2679) 69b945992 Add infrastructure for maintaining and using DEPS (#2684) 2b84d25f1 Fix store to uniform Vulkan check (#2688) bec7e0393 Add all accepted target environments to the tools' help texts (#2687) 51b0d5ce5 Represent uniform facts via descriptor set and binding. (#2681) fa981bc24 Roll external/spirv-headers/ 8b911bd2b..de99d4d83 (8 commits) (#2682) a132c9b64 Whitelist SPV_GOOGLE_user_type. (#2673) 001e823b6 Add fuzzer pass to obfuscate constants. (#2671) 2090d7a2d Handle volatile memory semantics in upgrade (#2674) 3d5fb7b90 Validate Volatile memory semantics bit (#2672) 400dbde0b Disallow stores to UBOs (#2651) 6cc2c8f4a Another fix uint -> uint32_t (#2676) 59983a601 Validate variable initializer type (#2668) 9477c91de Fix uint -> uint32_t in fuzz.cpp (#2675) 42830e5a6 Add replayer tool for spirv-fuzz. (#2664) b4bf7bcf0 Add validation for Subgroup builtins (#2637) 9c0830133 Add constant == uniform facts. (#2660) 208d3132e Cast __LINE__ to size_t (#2661) a8ae579f7 Add transformation to replace a boolean constant with a numeric comparison (#2659) 0755d6ce8 Add builtin validation for SPV_NV_shader_sm_builtins (#2656) 43fb2403a Instrument: Fix code for version 2 output format. (#2655) 08cc49ec5 Fix bug in 'split blocks', and add tests for fuzzer. (#2658) d01a3c3b4 Optimizer: Handle array type with OpSpecConstantOp length (#2652) 4a00a80c4 Add fuzzer pass to add dead breaks. (#2654) 620197bd6 Add fuzzer pass that adds useful constructs to a module (#2647) 2c0111e6e Add validation for SPV_EXT_fragment_shader_interlock (#2650) 699e167d7 Remove asserts from GetUnderlyingType (#2646) 7919b877c Close opened file handles. (#2644) f99d7ad5c Validate OpenCL rules for ImageRead and OpImageSampleExplicitLod (#2643) 209ff0ce9 Add spirv-fuzz pass to permute blocks. (#2642) e7866de4b Linker: Better type comparison for OpTypeArray and OpTypeForwardPointer (#2580) 0125b28ed Add compact ids to WebGPU <-> Vulkan transformations (#2639) 3d62cb814 Instrument: Add version 2 of record formats (#2630) 1b71e4533 Add "split block" transformation. (#2633) f05181234 Add WebGPU specific fuzzer for validation (#2628) 5a06fa466 Add fuzzer for Vulkan->WebGPU spirv-opt passes (#2626) 78b2b1866 Add fuzzer for WebGPU->Vulkan spirv-opt passes (#2625) 6c7db9c63 Handle nested breaks from switches. (#2624) 37ae8671a Add spirv-fuzz tool. (#2631) fe9f87013 Add library for spirv-fuzz (#2618) 42abaa099 Remove MarkV and Stats code. (#2576) 3b5ab540c linker: Add tests for various type comparisons (#2613) 4c73ebc46 Enable the base branch to be overridden in the code format check script (#2607) b8fe7211c Allow arrays of out per-primitive builtins for mesh shaders (#2617) 07a101971 Validate OpenCL environment rules for OpImageWrite (#2619) b0504239a Added an external dependency on protobufs, included when SPIRV_BUILD_FUZZER is defined, so that they can be used by the (upcoming) spirv-fuzz tool. Also updated the kokoro build scripts, for relevant targets, to clone an appropriate tag of the protobufs repo, and to pass -DSPIRV_BUILD_FUZZER to the configurations for which we intend to ultimately build spirv-fuzz. (#2616) 4557d0858 Add in individual flags for Vulkan <-> WebGPU passes (#2615) 13f61bf85 Update vloadn and vstoren validation to match the OpenCL Extended Instruction Set Specification (#2599) d9c00e1d2 Add folding rules for OpQuantizeToF16 (#2614) 713da30b6 Disallow merge targeting block with OpLoopMerge (#2610) 60aaafbc7 Allows breaks selection breaks to switches (#2605) 0982f0212 Using the instruction folder to fold OpSpecConstantOp (#2598) 9f035269d Validate OpenCL environment rules for OpTypeImage (#2606) 47741f050 Validate OpenCL memory and addressing model environment rules (#2589) ff4feb44b Validate construct exits (#2459) 9dfd4b835 Bindless Validation: Instrument descriptor-based loads and stores (#2583) 7e7745fce Validate loop merge (#2579) fc7b5d8c6 Mem model spv 1.4 (#2565) 84aa4946e Start SPIRV-Tools v2019.4 ce19e217b Finalize SPIRV-Tools v2019.3 84503583c Handle id overflow in sroa better. (#2582) f815e6fe5 Update CHANGES e935dac9e Make pointers to isomorphic type interchangeable with option. (#2570) 2947e88f7 Update instrumentation passes to handle 1.4 interfaces (#2573) 06ce59b0b Instrument: Fix load type of pre-existing builtin (#2575) 87c4ef8a9 Do not fold floating point if float controls used (#2569) 45fb69666 Use last version (#2578) f6d9a1784 Add pass to fix some invalid unreachable blocks for WebGPU (#2563) 89fe836fe Fix clang-tidy warning about definition/declaration mismatch. (#2571) f2803c4a7 VK_KHR_uniform_buffer_standard_layout validation (#2562) cc3e93c4e Add tests for folding 1.4 selects (#2568) ea5e1b62e Update priv-to-local for SPIR-V 1.4 (#2567) d0a1f5a05 spvtest::Validate::CompileFailure: Don't leak the diagnostic (#2564) b74d92a8c ADCE support for SPIR-V 1.4 entry points (#2561) 2b65a71d4 Fix use of 'is' operator for comparison (#2547) 63f57d95d Support SPIR-V 1.4 (#2550) 106c98d0f Validate sign of int types. (#2549) eef11cdb7 Update README with links to build artifacts. (#2548) 5fc5303ee [spirv] Package and upload builds. (#2544) 6d04da22c Fix up type mismatches. (#2545) c8b09744c Add validation specific to OpExecutionModeId (#2536) a5da68d44 Remove stale comment (#2542) 32af42616 Change implementation of post order CFG traversal (#2543) 64faf6d9c Fix undefined bit shift in sroa. (#2532) dca3ea5e1 fix example.cpp (#2540) 2de3e3c02 Add spirv-lesspipe.sh into SPIRV_SKIP_EXECUTABLES umbrella (https://github.com/KhronosGroup/SPIRV-Tools/issues/2497) (#2504) fb08224f8 Fix spirv-headers link in the README. (#2516) b68af7ca8 Add support for Private & Output to initializer decompose flag (#2537) 736376dbf Remove Acquire, Release, and Relaxed from allowed Mem Sem bits for WebGPU (#2526) 07c4dd4b9 Reduce runtime of array layout checks (#2534) 7aad9653f Remove legacy utility functions (#2530) d754b7059 Shorten names of cmake targets (#2531) ac878fcbd Remove unreachable block validation (#2525) 21712068f Validate that SPIR-V binary is encoded as little endian for WebGPU (#2523) 3aad3e922 Change validation of memory semantics for OpAtomics* in WebGPU (#2519) 048dcd38c Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 3335c6114 reduce: Add two branch reduction passes (#2507) 102e430a8 Add pass to legalize OpVectorShuffle for WebGPU (#2509) 07ac7dee5 SPIRV-Tools requires python3 (#2510) 98b3f26c2 Gate formatless checks on Vulkan env (#2486) 2b46521cd Add -fsantize to link flags. (#2506) 82ebbbba1 README: fix formatting of requiring Python 'future' (#2500) 9047de51c Accept OpBitCast in fix storage class. (#2505) d90aae9a5 reduce: miscellaneous fixes (#2494) 7ce37d66a Fix use of Logf to avoid format security warning (#2498) 0cb2d4079 Add WebGPU->Vulkan and Vulkan->WebGPU flags in spirv-opt (#2496) 9766b22b3 spirv-opt: Behave a bit better in the face of unknown instructions (#2487) 3a0bc9e72 Add fix storage class code. (#2434) e8c2d95ed Fix webgpu header file name in BUILD.gn (#2493) 26c1b8878 Update CHANGES 236bdc006 Change prioritization of unreachable merge and continue (#2460) 12e4a7b64 Handle variable pointer in some optimizations (#2490) 01964e325 Add pass to generate needed initializers for WebGPU (#2481) 4bd106b08 Handle dead infinite loops in DCE (#2471) 8129cf2f9 Remove merge assert in block calculation (#2489) e2ddb9371 reduce: add remove_selection_reduction_opportunity (#2485) c9874e509 Fix merge return in the face of breaks (#2466) 0300a464a Maintain inst to block mapping in merge return (#2469) 320a7de5c Validate that OpUnreacahble is not statically reachable (#2473) fcb845310 reduce: fix loop to selection pass for loops with combined header/continue block (#2480) 2ff54e34e Handle function decls in Structured CFG analysis (#2474) 42e6f1aa6 Add option to validate after each pass (#2462) fb0753640 reduce: fix loop to selection dominance query (#2477) 7d1b176c1 Improve reducer algorithm and other changes (#2472) ffbecae56 Check OpSampledImage is only passed into valid instructions (#2467) 2d52cbee4 Add some val options to reduce (#2401) 1f60f9896 reduce: remove unreferenced blocks pass (#2398) 08b54d9e4 Convert sampled consumers to being Instructions instead of IDs (#2464) e1a76269b Bindless Validation: Descriptor Initialization Check (#2419) 9244e6ff6 Reverting commit da5a780ff9fff7e226ca84728075adabc4d1608c da5a780ff Variable pointers cannot be an operand to OpArrayLength 2ac348b5c Repair test for unused storage buffer with descriptor (#2436) e54552214 Add --strip-atomic-counter-memory (#2413) bdcb15516 Relax function call parameter check (#2448) 5186ffedb Remove duplicates from list of interface IDs in OpEntryPoint instruction (#2449) 6df8a917a Add validation of storage classes for WebGPU (#2446) a5c06c903 Validator: no Storage comparison for pointer param (#2428) 9d29c37ac Removing decorations when doing constant propagation. (#2444) b75f4362f Add validation for ExecutionMode in WebGPU (#2443) b1ff15f22 Add missing DepthGreater case to Fragment only check (#2440) b12e7338e Implement WebGPU specific CFG validation (#2386) a2ef7be24 Add Linux ASAN bot configs. (#2427) 07f80c4df Fix python scripts to work with python3 (#2426) 86f6ac086 Add a test for two back-edges in a continue (#2418) 5fb83a970 Allow NonWritable to target struct members. (#2420) 32b0f6739 Use correct option in spvTextToBinary. (#2416) d800bbbac Handle back edges better in dead branch elim. (#2417) 002ef361c Add validation for SPV_NV_cooperative_matrix (#2404) fc3897b5f Validate: (data) Block can't appear within a Block (#2410) 37b584a73 Fixed undefined reference to 'clock_gettime' by linking rt library (#2409) a006cbc1d Non memory object as parameters. (#2415) 4c43afcad It is invalid to apply both Restrict and Aliased to the same <id> (#2408) fde69dcd8 Fix OpDot folding of half float vectors. (#2411) 8eddde2e7 Don't change type of input and output var in dead member elim (#2412) 76730a46a In Vulkan, disallow BufferBlock on StorageBuffer variables (#2380) 5994ae2a0 Start SPIRV-Tools 2019.3 61dfd8492 Finalize SPIRV-Tools 2019.2 bf23ed887 OpAtomicLoad, OpAtomicStore, OpAtomicExchange can operate on int or float value. Except for Vulkan environment that only operates on int value. (#2385) 80496f42a Update CHANGES 2f84b5de9 Bindless: Fix computation of set and binding for runtime bounds check (#2384) 528fea2b1 Fixup unused variables (#2402) 4b42cd19d BUILD.gn: Only build tests in Chromium. (#2392) 6d20f6257 Refactor webgpu-mode pass ran tests to be parameterized (#2395) 78ac954c4 Mark type id of unknown instructions at fully used. (#2399) 9540f2d98 Instrumentation: Fix instruction index when multiple functions (#2389) 1b0047f21 Add pass to remove dead members. (#2379) 0167a20b0 Move usage detection to after all instructions are registered (#2378) 0187c190b Fix BUILD.gn (#2381) 354205b3d Don't merge unreachable blocks (#2375) 40a7940e0 Fix merge blocks opportunity to check if still enabled (#2370) 12b3d7e9d Add strip-debug to webgpu-mode passes (#2368) a0ff7c512 Add better error message to ValidateInstructions (#2365) 34c5ac614 Fixes #2358. Added to the reducer the ability to remove a function t… (#2361) 10a7def6c Smoketest should use KhronosGroup glslang (#2363) 39bfb6b97 Make spvParseTargetEnv public (#2362) cf2114613 Expand bindless bounds checking to runtime-sized descriptor arrays (#2316) 9b6ba4d1c Allow arrayed storage images for NonWritable decoration (#2358) 117a1fd11 Validate variable pointer related function call rules (#2270) 0f4bf0720 Add flatten-decorations flag to webgpu-mode flags (#2348) 368567bc5 Convert deprecated GoogleTest fixture to the new version (#2357) adbbe2024 Mention the reducer tool and location in the README. (#2341) e3c64a374 Do not build spirv-reduce on iOS/tvOS/watchOS - it requires std::system which is not available on those platforms (#2355) 37861ac10 Merge blocks in reducer (#2353) 453b7c85c Fix up some test (#2351) 846d12afe Add whitelist for decorations in WebGPU (#2346) 63e032f91 Remove unused lambda capture (#2350) 3b6fee3da Fixes #2338. Added functionality to remove OpPhi instructions (replacing their uses) when merging blocks (#2339) 2acbf488b Add WebGPU specific validation for WorkgroupSize BuiltIn decoration (#2334) e2f462262 Add WebGPU specific validation for multiple BuiltIn decorations (#2333) 3d2afb78c Add whitelist of allowed BuiltIn decorations for WebGPU (#2337) d17fcf8ab Add WebGPU validation for LocalInvocationIndex BuiltIn decoration (#2335) 837153ccd Add WebGPU specific validation for FragDepth BuiltIn decoration (#2332) 0c14583f1 Add WebGPU specific validation for FragCoord BuiltIn decoration (#2331) b6698e0d8 Add WebGPU specific validation for FrontFacing BuiltIn decoration (#2330) 734def144 Add WebGPU specific validation for InstanceIndex BuiltIn decoration (#2329) b947ecfe7 Add WebGPU specific validation for VertexIndex BuiltIn decoration (#2328) 464111eae Remove use of deprecated googletest macro (#2286) 7f1a020ab Fix test_val_limits MSVC build (#2347) 5d6b4c4b1 Move CodeGenerator to be accessible by other validation tests (#2343) cf7834623 Add source/opt/block_merge_util.* to BUILD.gn (#2344) 7f3679a8b Validate NonWritable decoration (#2263) 9ab1c0ddd Remove code sinking for -O. (#2340) 98c67d385 Fixed names in ifdefs and GetName functions that had been forgotten in a previous refactoring. Also shortened names of test files as those files test both the new 'finder' classes introduced in the refactoring, as well as the 'reduction pass' class; the shorter names capture both. (#2336) 3345fe6a9 Extracted block merging functionality into its own utility file (#2325) cf011f990 More layout check fixes (#2315) e2279da71 Remove the static maps from CheckDecorationsCompatibility (#2327) 8915a7c8f spirv-val: Emit an error when an OpSwitch target is not an OpLabel (#2298) 1e3c589a6 Add WebGPU specific validation for Position BuiltIn decoration (#2309) 20b2e2b9f Add SpirvTools::IsValid(). (#2326) 86d0d9be2 Refactored reducer so that the 'finding' functionality of a reduction pass are separated from the generic functionality for tracking progress of a pass. With this change, we now have a ReductionOpportunityFinder abstract class, with many subclasses for each type of reduction, and just one ReductionPass class, which has an associated finder. (#2321) b1be6763f Add helper for 'is Vulkan or WebGPU' (#2324) 3d7102424 Added some documentation about the reducer. (#2318) 4a405eda5 Fix layout checks for nested struct in relaxed layout; and descriptor arrays (#2312) 3a3ad2ec5 Add utility to generate a logging string for a given environment (#2314) a64c651e1 Fix Constants Analyses bug inserted by #2302 (#2306) eab06d669 Check forward reference in OpTypeArray. (#2307) 8df947d2d Handle instructions not in blocks in code sinking. (#2308) git-subtree-dir: third_party/SPIRV-Tools git-subtree-split: 9559cdbdf011c487f67f89e2d694bd4a18d5c1e0
-
Ben Clayton authored
Commands: git subtree pull --prefix third_party/SPIRV-Headers https://github.com/KhronosGroup/SPIRV-Headers e4322e3be589e1ddd44afb20ea842a977c1319b8 --squash Bug: b/123642959 Change-Id: Iec85e0df84b60c9b02299aa2b21bbc874ce684ac
-
Ben Clayton authored
e4322e3be Merge pull request #123 from AaronHaganAMD/master 5bc5041bd Add SPV_KHR_shader_clock to spirv-headers 45c2cc372 Merge pull request #122 from mkinsner/array_init_loop_control_bit 7971055a8 Reserve additional loop control bit for upcoming update to SPV_INTEL_fpga_loop_controls extension 29c11140b Merge pull request #120 from antiagainst/mlir-serializer 123dc278f Merge pull request #121 from jeffbolznv/demote_to_helper_invocation dcce859e3 add SPV_EXT_demote_to_helper_invocation 739546b1c Reserve ID 23 for MLIR SPIR-V Serializer de99d4d83 Merge pull request #119 from dneto0/spirv-issue-476 9baa9e099 Add Volatile to Memory Semantics, for SPV_KHR_vulkan_memory_model 9cf7c3a7d Merge pull request #117 from ehsannas/UserTypeGOOGLE b1344c0d1 Add grammar and symbols for UserTypeGOOGLE extension to unified1. 9242862c8 Merge pull request #105 from mchiasson/cmake_install_config a7741727e Add missing "version" : "None" to a bunch of reserved enumerants. d5d33167d Add more detail about reserving tokens to the README. e88e050b2 Restore numerical order in enumerants. 8b911bd2b Merge pull request #114 from jeffbolznv/fsi 326779e4b Add SPV_EXT_fragment_shader_interlock 9280c0b4f Merge pull request #115 from dgkoch/SPV_NV_sm_shader_builts 630d06236 Add support for SPV_NV_sm_shader_builtins 903d447d9 OpenCL ext. inst. header: Support C in addition to C++. 7ac42f80c Merge pull request #112 from mkinsner/master d6936f933 Proposed LoopControl bitfield allocation mechanism in spir-v.xml 7f4277e21 Merge pull request #111 from Naghasan/codeplay-range 1edd6c43a Reserve token range for Codeplay ed8674d22 Update CMakeLists.txt 9674a1a54 Merge pull request #102 from ianromanick/INTEL_shader_integer_functions2 a08d4f0aa Merge pull request #107 from jeffbolznv/duplicate_enum_switch 9f50e659a Update HasResultAndType code generation to skip duplicate enum values. There weren't any until SPIR-V 1.4 release, now there are two. f7b06c277 updated as per code review 4b0985f29 Merge pull request #106 from alankemp/fix_json_writer 823750b56 Compare enum names rather than values to determine last element c5a291f7a cmake development configuration package Fixes #104 30ebd2f19 Merge pull request #103 from amdrexu/bugfix 30c51d36e Enable Groups capability by the extension SPV_AMD_shader_ballot 40798610d Add INTEL_shader_integer_functions2 c4f8f6579 Move to version 1.4 of SPIR-V. a5d33a253 Rationalize opcode ordering and a few spaces. 7af56c133 Merge pull request #101 from dneto0/clspv-generator 92d10249b Reserve generator 21 for Clspv 2434b8934 Merge pull request #100 from jeffbolznv/hasresult 9f7761857 Add a function that returns whether an opcode has a result and/or result type. Currently only implemented in C-based printers. 111a25e4a Merge pull request #99 from Naghasan/contact-update 0e0d1765e Update Codeplay's contact details 3beb2a037 Add ability to skip ranges of instructions; no impact to public headers 2d08d12d8 Sync to rev. 7 of headers from Khronos. f25b91a61 Merge pull request #98 from jeffbolznv/partitioned d20b78c77 Add GroupNonUniformPartitionedNV capability to all the GroupNonUniform instructions a946e7319 Header build for previous grammar update. 8f1cce947 Merge pull request #92 from PawelJurek/SPV_INTEL_device_side_avc_motion_estimation 03a081524 Make all "IdScope" be either Execution or Memory. dc3db3a5a Fix #96: Don't include a comment after #endif for the C header. d3752ea20 Merge pull request #95 from mkinsner/fpga_enum_block 2b3bbbc28 Reserve double SPIR-V enum block for upcoming Intel FPGA extension e74c389f8 Merge pull request #94 from jeffbolznv/cooperative_matrix 56decd41b Add SPV_NV_cooperative_matrix d0cc5acdf Grammar for SPV_INTEL_device_side_avc_motion_estimation extension. 8bea0a266 Update headers from previous SPV_INTEL_media_block_io grammar addition. 21f0d0744 Merge pull request #93 from PawelJurek/SPV_INTEL_media_block_io f2aef5d04 Grammar for SPV_INTEL_media_block_io extension f3abb280c Merge pull request #91 from LukasBanana/master b6a6dc041 Added '.DS_Store' (MacOS specific file) to gitignore. git-subtree-dir: third_party/SPIRV-Headers git-subtree-split: e4322e3be589e1ddd44afb20ea842a977c1319b8
-
- 05 Jul, 2019 8 commits
-
-
Ben Clayton authored
Updating SPIRV-Headers adds new enum entries that are not handled by switch cases, which causes a warning / error. This will be put back once SPIRV-Tools is also updated. Change-Id: If803398edb9d44753bf3b277dadd060268ea3755
-
Ben Clayton authored
SPIRV-Tools now requires python3. Bug: b/135609394 Change-Id: Ib33ddb57b0bdfa87abed94de6dbfb91eadbc31bf
-
SwiftShader Regression Bot authored
Change-Id: I8c7b60b08c983802b659910180ec093c8e605c21 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33808 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
No other fields in this class are prefixed with 'current' and it's in a class named State, so rename to make consistent. Bug: b/126126820 Change-Id: I8eb26546141d1c11beb9acf57883d3d0835847b2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33354Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
getType(), getObject() and getFunction() are only internally used, make them private. Minor refactoring related to spirv function inlining. Bug: b/133213304 Change-Id: I75f9f5488a8485161d534b56eb6530c2946bf49e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33353Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Function holds all the blocks used by the function. Moved various function-specific methods from SpirvShader to this new Function inner class. This change is currently a pure-refactor (no change in behavior), but is required for function inlining in SpirvShader. Bug: b/133213304 Change-Id: I50c7ecca8ce518d8df054c2461410c0acd4e1f52 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33352 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
These are only used during SpirvShader::emit(), and will require separate namespacing when functions are inlined. Bug: b/133213304 Change-Id: I8cf6cd76af35984f0f24109665a991492158bf16 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33351 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
GenericValue is only used by SpirvShader so move it as a private inner class of SpirvShader. Part of the foundations of much larger refactoring required for function inlining in SpirvShader. Bug: b/133213304 Change-Id: I75484c3d036b82f3bc6a735034a7c1b04f05f600 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33350Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 04 Jul, 2019 14 commits
-
-
Nicolas Capens authored
Bug chromium:980816 Change-Id: Ic4393668f82316e475baa5e753d891dfb1e30572 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33728 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
May unlock features that are not exposed by march. Change-Id: I4f10dfc93f75eab502824ec155daa9fbbb3d3d55 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33773Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Experiments show substantial performance gains. Bug: b/135609394 Change-Id: I62a6b9dd292cafe92aa5558a84c460594b51197c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33772Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Alexis Hetu authored
Fixed R8G8_SRGB and R8G8B8_SRGB in the Blitter. Enabled R8G8_SRGB tests to make sure the fix is correct. Change-Id: Ibe7addd3f635f353abb09e0391a9a30d20392fbf Tests: dEQP-VK.*r8g8_srgb* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33530 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
Let's just initialize these to zero, and let the optimizer remove redundant assignments. Bug: b/136149446 Change-Id: Ia776bae4433f78f5a66b16f275e728a70dd4e18d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33468Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
If robustness is disabled, don't bother zeroing disabled lanes. Gives the LLVM optimizer & backend some more wiggle room. Bug: b/135609394 Change-Id: I425eba2b48601a35dc40aa8ca071e6e61f35024f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33708 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Bug: b/135609394 Change-Id: Ic566f2ef6d66e31b434d29b23aafd954a05958a4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33709Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Replace the old 'runOptimizations' flag on Nucleus::acquireRoutine() and Nucleus::acquireCoroutine() with a new OptimizationLevel enumerator. runOptimizations was always true, and there is already the rr::optimization extern to control the optimization passes performed. All Function and Coroutines are now passed the new vk::ReactorOptimizationLevel. This will be changed to a non-Default value in another CL. Bug: b/135609394 Change-Id: I1154da05d413b18a471a3818fbb03f356a3d0e6c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33482Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Split the scattered LLVM global variables into 3 new classes: • JITGlobals is a singleton that holds all the immutable machine specific information for the host device. • JITBuilder holds all the LLVM state for building routines. • JITRoutine is a rr::Routine that holds a LLVM JIT session, compiler and object layer as each routine may require different target machine settings and no Reactor routine directly links against another. This reduce all the global varibles to down to one - 'jit' a JITBuilder. In theory, this can be marked as TLS to remove the global reactor mutex lock. These change also make it possible to specify per-function JIT optimization settings (implemented in a follow-up change). Change-Id: If4c90de444830f398eb79081fd349f313a8d3bd7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33481Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
dEQP-VK.synchronization.internally_synchronized_objects.pipeline_cache_compute When the wind is blowing in the right direction, this test can exceed the per-test 2GB sandbox memory limit, causing a flaky out-of-memory crash. Bug: b/133127573 Change-Id: Ie403d91738c05258639be077aa31ec36d92d109e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33688Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Change-Id: I3833a203ae7635845ea3b8ceb5e323565a92be18 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33487 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Bug: b/132353920 Change-Id: Ic7950ea29be6fd0dc7712813c10cdd2dfab73b90 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33548Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Change-Id: Ieaec8e9dd2017803d862ce8bcdc6b00582b7d45b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33486 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Change-Id: I6247e0b5eef4639527ea15e7c5af115e5954a342 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33485 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 03 Jul, 2019 2 commits
-
-
Alexis Hetu authored
- Removed twoSidedStencil, which was always true when stencil is enabled - Removed unused enums and functions - Removed custom new/delete operators - Used VkFrontFace type for frontFace Bug b/132280877 Change-Id: I440d5e910e50de0ac8049d3a56848fa8d2de3493 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33531 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Deleted Thread.hpp and replaced AtomicInt with std::atomic<int>. Should be noop. Note: AtomicInt's operator++(int) and operator--(int) were Post-increment operators implemented as Pre-increment operators, so expressions <AtomicInt object>++ have been replaced with ++<std::atomic object> (same for decrement operators). Bug b/129403963 Change-Id: I907b8c91581fed4b76647327f316b87369c6c82f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33668Tested-by:Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 02 Jul, 2019 4 commits
-
-
Nicolas Capens authored
The Vulkan device's robustBufferAccess feature determines whether accesses to buffers must be bounds-checked against the range of the buffer descriptor. The spec states that "Some features, such as robustBufferAccess, may incur a run-time performance cost. Application writers should carefully consider the implications of enabling all supported features." Hence in many cases applications will leave the feature disabled to ensure maximum performance. Bug: b/131224163 Change-Id: I69e150d5043f0118db8a4b2751b24b5d87bccd75 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33389 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> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
This was causing the dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.workgroup.* tests to read out of bounds when robust buffer access is disabled. Bug: b/136561217 Change-Id: I4891f5cd531e99b3dd87b4b84ae545ba47355875 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33528Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
For sequential, fully-in-bound vectors: * Loads can safely be a regular vector load. We mask just to keep behavior consistent with rr::MaskedLoad and rr::Gather. * Stores of non-atomics can be implemented as a read-modify-write. These optimizations have drastic performance improvements on architectures where there are no masked-read and masked-write instructions. Bug: b/135609394 Change-Id: I552cc38f4aeae73f8db079a0a11da6a8db857710 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33628Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I5e007143e62f5fea83d0294332a690ef0d58a52e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33608 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 28 Jun, 2019 8 commits
-
-
Alexis Hetu authored
The PipelineCache class now contains members for caching programs and shaders, which allows significant speedups when using it to prevent recompiling the same shaders over and over again. For now, each PipelineCache object contains its own cache and the cache is not shared between PipelineCache objects. It remains to be seen if SwiftShader would benefit from always caching shaders and programs in a global cache. Notes: - Merging 2 PipelineCache objects was also implemented - Added a few "const" where appropriate IMPORTANT NOTE: This cl DOES NOT allow pipeline caches to be saved and loaded through the pipeline cache data. Bug b/123588002 Change-Id: I95b183033c03e114d69d4432e5831e26be477033 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33428Tested-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>
-
Ben Clayton authored
For compile time indices, we can do some basic sanity checking. Change-Id: I9ae4ea5bbf106c4653cbf9bbe6776a5a188b4289 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33470Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Dramatically speeds up builds when switching build flags. Change-Id: I661d18458db69f6663381c252b06b3ed96f3a5c6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33472Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Sean Risser authored
Made the following changes: * Changed our multi-line strings to use C++11 raw string literals * Added argument-less macros for checking if GL or EGL had an error. * Made checkCompileFails return the error log, in case a test wants to ensure a specific failure is reported. * Made some more tests use the new MakeShader function. Bug chromium:977665 Change-Id: I5a410d88449d1349806215bd21bb8c2b6d7acc56 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33268 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Sean Risser <srisser@google.com>
-
Ben Clayton authored
This function behaved differently on different architectures. Reimplement using mostly integer arithmatic. Bug: b/136095012 Change-Id: I5df87e9400f2952386ebdf7b7b0866b0197145a8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33480Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
Bug: b/135691587 Change-Id: I796342057829f416bc6a2dfdb0c03c59f033127f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33228Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Id3546c1c53dc3aa7313cbd9d6353310fa7b52bf2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33477 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Lingfeng Yang authored
Change-Id: I4a1b1a981096fbda616101b7d47bf8f82481c64b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33509 Presubmit-Ready: Lingfeng Yang <lfy@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Lingfeng Yang <lfy@google.com>
-