-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chaitanyassr patch 1 #2
base: master
Are you sure you want to change the base?
Commits on Jan 29, 2020
-
spirv-fuzz: Make functions "livesafe" during donation (KhronosGroup#3146
) This change allows the generator to (optionally and at random) make the functions of a module "livesafe" during donation. This involves introducing a loop limiter variable to each function and gating the number of total loop iterations for the function using that variable. It also involves eliminating OpKill and OpUnreachable instructions (changing them to OpReturn/OpReturnValue), and clamping access chain indices so that they are always in-bounds.
Configuration menu - View commit details
-
Copy full SHA for 521223b - Browse repository at this point
Copy the full SHA 521223bView commit details -
spirv-fuzz: Add outlining test (KhronosGroup#3164)
Adds a test to check that we do outline code that uses pointer parameters.
Configuration menu - View commit details
-
Copy full SHA for dd3f8d4 - Browse repository at this point
Copy the full SHA dd3f8d4View commit details
Commits on Jan 30, 2020
-
spirv-fuzz: Arbitrary variable facts (KhronosGroup#3165)
This change adds a new kind of fact to the fact manager, which records when a variable (or pointer parameter) refers to an arbitrary value, so that anything can be stored to it, without affecting the observable behaviour of the module, and nothing can be guaranteed about values loaded from it. Donated modules are the current source of such variables, and other transformations, such as outlining, have been adapted to propagate these facts appropriately.
Configuration menu - View commit details
-
Copy full SHA for 1fc7a9e - Browse repository at this point
Copy the full SHA 1fc7a9eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a2d408 - Browse repository at this point
Copy the full SHA 7a2d408View commit details
Commits on Feb 3, 2020
-
Implement constant folding for many transcendentals (KhronosGroup#3166)
* Implement constant folding for many transcendentals This change adds support for folding of sin/cos/tan/asin/acos/atan, exp/log/exp2/log2, sqrt, atan2 and pow. The mechanism allows to use any C function to implement folding in the future; for now I limited the actual additions to the most commonly used intrinsics in the shaders. Unary folder had to be tweaked to work with extended instructions - for extended instructions, constants.size() == 2 and constants[0] == nullptr. This adjustment is similar to the one binary folder already performs. Fixes KhronosGroup#1390. * Fix Android build On old versions of Android NDK, we don't get std::exp2/std::log2 because of partial C++11 support. We do get ::exp2, but not ::log2 so we need to emulate that.
Configuration menu - View commit details
-
Copy full SHA for 0265a9d - Browse repository at this point
Copy the full SHA 0265a9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ddcc117 - Browse repository at this point
Copy the full SHA ddcc117View commit details -
Handle TimeAMD in AmdExtensionToKhrPass. (KhronosGroup#3168)
This adds support for replacing TimeAMD with OpReadClockKHR. The scope for OpReadClockKHR is fixed to be a subgroup because TimeAMD operates only on subgroup.
Configuration menu - View commit details
-
Copy full SHA for a9624b4 - Browse repository at this point
Copy the full SHA a9624b4View commit details
Commits on Feb 4, 2020
-
spirv-fuzz: Disallow copying of null and undefined pointers (KhronosG…
…roup#3172) If the fuzzer object-copies a pointer we would like to be able to perform loads from the copy (and stores to it, if its value is known not to matter). Undefined and null pointers present a problem here, so this change disallows copying them.
Configuration menu - View commit details
-
Copy full SHA for b7e0998 - Browse repository at this point
Copy the full SHA b7e0998View commit details -
Configuration menu - View commit details
-
Copy full SHA for fdd0c87 - Browse repository at this point
Copy the full SHA fdd0c87View commit details -
spirv-fuzz: Fuzzer pass to add composite types (KhronosGroup#3171)
Adds a fuzzer pass that randomly adds vector and matrix types not already present in the module, and randomly adds structs with random field types and arrays with random base types and sizes. Other passes will be able to create variables and ids using these types.
Configuration menu - View commit details
-
Copy full SHA for bb56e89 - Browse repository at this point
Copy the full SHA bb56e89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76616ba - Browse repository at this point
Copy the full SHA 76616baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dd1748 - Browse repository at this point
Copy the full SHA 8dd1748View commit details -
Configuration menu - View commit details
-
Copy full SHA for da5457f - Browse repository at this point
Copy the full SHA da5457fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a3b5ad9 - Browse repository at this point
Copy the full SHA a3b5ad9View commit details -
utils/vscode: LSP - Support OpExtInst (KhronosGroup#3140)
This adds language server support for the `GLSL.std.450`, `OpenCL.std` and `OpenCL.DebugInfo.100` extension instructions.
Configuration menu - View commit details
-
Copy full SHA for 9e52bc0 - Browse repository at this point
Copy the full SHA 9e52bc0View commit details
Commits on Feb 5, 2020
-
spirv-fuzz: Fuzzer passes to add local and global variables (KhronosG…
…roup#3175) Adds two new fuzzer passes to add variables to a module: one that adds Private storage class global variables, another that adds Function storage class local variables.
Configuration menu - View commit details
-
Copy full SHA for 1f03ac1 - Browse repository at this point
Copy the full SHA 1f03ac1View commit details
Commits on Feb 6, 2020
-
spirv-fuzz: Add fuzzer passes to add loads/stores (KhronosGroup#3176)
This change adds fuzzer passes that sprinkle loads and stores into a module at random, with stores restricted to occur in either dead blocks, or to use pointers for which it is known that the pointee value does not influence the module's overall behaviour. The change also generalises the VariableValueIsArbitrary fact to PointeeValueIsIrrelevant, to allow stores through access chains or object copies of variables whose values are known to be irrelevant. The change includes some other minor refactorings.
Configuration menu - View commit details
-
Copy full SHA for fe10239 - Browse repository at this point
Copy the full SHA fe10239View commit details
Commits on Feb 10, 2020
-
spirv-fuzz: Ensure that donated variables are always initialized (Khr…
…onosGroup#3181) This change ensures that global and local variables donated from other modules are always initialized at their declaration in the module being transformed. This is to help limit issues related to undefined behaviour that might arise due to accessing uninitialized memory. The change also introduces some helper functions in fuzzer_util to make it easier to find the pointee types of pointer types.
Configuration menu - View commit details
-
Copy full SHA for 3d4a0dd - Browse repository at this point
Copy the full SHA 3d4a0ddView commit details -
spirv-fuzz: Fuzzer pass to add function calls (KhronosGroup#3178)
Adds a fuzzer pass that inserts function calls into the module at random. Calls from dead blocks can be arbitrary (so long as they do not introduce recursion), while calls from other blocks can only be to livesafe functions. The change fixes some oversights in transformations to replace constants with uniforms and to obfuscate constants which testing of this fuzzer pass identified.
Configuration menu - View commit details
-
Copy full SHA for 77fb303 - Browse repository at this point
Copy the full SHA 77fb303View commit details
Commits on Feb 11, 2020
-
spirv-fuzz: Fuzzer pass that adds access chains (KhronosGroup#3182)
This change adds a fuzzer pass that sprinkles access chain instructions into a module at random. This allows other passes to have a richer set of pointers available to them, in particular the passes that add loads and stores.
Configuration menu - View commit details
-
Copy full SHA for 6c218ec - Browse repository at this point
Copy the full SHA 6c218ecView commit details
Commits on Feb 14, 2020
-
spirvfuzz: Fix type-related bug, change undef to zero, and add assert (…
…KhronosGroup#3188) This fixes a bug where the type id of a type instruction, rather than its result id, was being used. It also favours using zero as the return value when replacing an OpKill or OpUnreachable with a return instruction, and adds a check that the donor module is valid when doing module donation. Fixes KhronosGroup#3187.
Configuration menu - View commit details
-
Copy full SHA for 77fefe7 - Browse repository at this point
Copy the full SHA 77fefe7View commit details
Commits on Feb 18, 2020
-
spirv-val: Add support for SPV_AMD_shader_image_load_store_lod (Khron…
…osGroup#3186) According to SPV_AMD_shader_image_load_store_lod spec, Lod operand is valid with OpImageRead, OpImageWrite, or OpImageSparseRead if the extension is enabled.
Configuration menu - View commit details
-
Copy full SHA for 4d912f4 - Browse repository at this point
Copy the full SHA 4d912f4View commit details -
vscode: Add missing fields to schema.Opcode (KhronosGroup#3169)
These were declared in the `Opcode` struct type, but were never assigned. They're not actually used by the language server, but I reused this go schema package for a local experiment and found they were missing.
Configuration menu - View commit details
-
Copy full SHA for 79f8caf - Browse repository at this point
Copy the full SHA 79f8cafView commit details
Commits on Feb 20, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 03794b8 - Browse repository at this point
Copy the full SHA 03794b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a80497 - Browse repository at this point
Copy the full SHA 4a80497View commit details
Commits on Feb 21, 2020
-
Configuration menu - View commit details
-
Copy full SHA for dea1040 - Browse repository at this point
Copy the full SHA dea1040View commit details -
Brief guide to writing a spirv-fuzz fuzzer pass (KhronosGroup#3190)
* Start on walkthrough doc. * Finished draft of doc.
Configuration menu - View commit details
-
Copy full SHA for 03c9eff - Browse repository at this point
Copy the full SHA 03c9effView commit details -
Configuration menu - View commit details
-
Copy full SHA for c316fb1 - Browse repository at this point
Copy the full SHA c316fb1View commit details
Commits on Feb 23, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8910ea5 - Browse repository at this point
Copy the full SHA 8910ea5View commit details
Commits on Feb 25, 2020
-
Combine extinst-name and extinst-output-base into one arg. (KhronosGr…
…oup#3200) * Combine the extinst-name and extinst-output-base into one arg. Some build systems such as Android blueprints require that the inputs and outputs of generator scripts are all provided as arguments. These two arguments to generate_language_headers.py are combined to form the output path in the script. This change simply lets the user provide the whole output path as an argument. * Fix typo in build_defs.bzl and update Android.mk
Configuration menu - View commit details
-
Copy full SHA for fb6e3e4 - Browse repository at this point
Copy the full SHA fb6e3e4View commit details -
Add validation rules for OpenCL.DebugInfo.100 extension (KhronosGroup…
…#3133) Add validation rules for DebugCompilationUnit, DebugSource, DebugTypeBasic, DebugTypeVector, DebugTypeArray, DebugTypedef, DebugTypeFunction, DebugTypeEnum, DebugTypeComposite, DebugTypeMember, DebugTypeInheritance, DebugFunction, DebugFunctionDeclaration, DebugLexicalBlock, DebugScope, DebugLocalVariable, DebugDeclare, DebugExpression.
Configuration menu - View commit details
-
Copy full SHA for 70f8881 - Browse repository at this point
Copy the full SHA 70f8881View commit details
Commits on Feb 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 661e79e - Browse repository at this point
Copy the full SHA 661e79eView commit details -
Avoid use of Python distutils.dir_util (KhronosGroup#3203)
Required for compatibility with (some?) Python3 installations.
Configuration menu - View commit details
-
Copy full SHA for e1688b6 - Browse repository at this point
Copy the full SHA e1688b6View commit details
Commits on Mar 4, 2020
-
Configuration menu - View commit details
-
Copy full SHA for a6d3a2d - Browse repository at this point
Copy the full SHA a6d3a2dView commit details -
spirv-fuzz: Fuzzer pass to add equation instructions (KhronosGroup#3202)
This introduces a new fuzzer pass to add instructions to the module that define equations, and support in the fact manager for recording equation facts and deducing synonym facts from equation facts. Initially the only equations that are supported involve OpIAdd, OpISub, OpSNegate and OpLogicalNot, but there is scope for adding support for equations over various other operators.
Configuration menu - View commit details
-
Copy full SHA for 044ecc0 - Browse repository at this point
Copy the full SHA 044ecc0View commit details
Commits on Mar 5, 2020
-
spirv-fuzz: Add swap commutable operands transformation (KhronosGroup…
…#3205) In this PR, the classes that represent the swap commutable operands transformation and the fuzzer pass were implemented. Fixes KhronosGroup#3205.
Configuration menu - View commit details
-
Copy full SHA for 66a682b - Browse repository at this point
Copy the full SHA 66a682bView commit details
Commits on Mar 6, 2020
-
spirv-fuzz: Use better function name (KhronosGroup#3207)
Changes FuzzerPass::MaybeAddTransformationBeforeEachInstruction to FuzzerPass::ForEachInstructionWithInstructionDescriptor. Fixes KhronosGroup#3184.
Configuration menu - View commit details
-
Copy full SHA for da4cd21 - Browse repository at this point
Copy the full SHA da4cd21View commit details
Commits on Mar 8, 2020
-
spirv-fuzz: Add fuzzer pass to permute function parameters (KhronosGr…
…oup#3212) Fixes KhronosGroup#3194.
Configuration menu - View commit details
-
Copy full SHA for 533af49 - Browse repository at this point
Copy the full SHA 533af49View commit details -
spirv-fuzz: Add toggle access chain instruction transformation (Khron…
…osGroup#3211) In this PR, the classes that represent the toggle access chain instruction transformation and fuzzer pass were implemented. This transformation toggles the instructions OpAccessChain and OpInBoundsAccessChain between them. Fixes KhronosGroup#3193.
Configuration menu - View commit details
-
Copy full SHA for 4c02704 - Browse repository at this point
Copy the full SHA 4c02704View commit details
Commits on Mar 9, 2020
-
spirv-fuzz: Allow OpPhi operand to be replaced with a composite synon…
…ym (KhronosGroup#3221) In this PR, the class FuzzerPassApplyIdSynonyms was updated to allow OpPhi operand to be replaced with a composite synonym. Fixes KhronosGroup#3209.
Configuration menu - View commit details
-
Copy full SHA for 6594704 - Browse repository at this point
Copy the full SHA 6594704View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c3de21 - Browse repository at this point
Copy the full SHA 7c3de21View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd3d916 - Browse repository at this point
Copy the full SHA dd3d916View commit details
Commits on Mar 12, 2020
-
spirv-fuzz: Fix vector width issue in 'add equation instructions' pass (
KhronosGroup#3223) Fixes KhronosGroup#3213.
Configuration menu - View commit details
-
Copy full SHA for 1af1df3 - Browse repository at this point
Copy the full SHA 1af1df3View commit details -
spirv-fuzz: Support OpPhi when adding dead break and continue (Khrono…
…sGroup#3225) Fixes KhronosGroup#2856.
Configuration menu - View commit details
-
Copy full SHA for 6428ad0 - Browse repository at this point
Copy the full SHA 6428ad0View commit details -
Instrument: Debug Printf support (KhronosGroup#3215)
Create a pass to instrument OpDebugPrintf instructions. This pass replaces all OpDebugPrintf instructions with instructions to write a record containing the string id and the all specified values into a special printf output buffer (if space allows). This pass is designed to support the printf validation in the Vulkan validation layers. Fixes KhronosGroup#3210
Configuration menu - View commit details
-
Copy full SHA for 1fe9bcc - Browse repository at this point
Copy the full SHA 1fe9bccView commit details
Commits on Mar 13, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 7a8f797 - Browse repository at this point
Copy the full SHA 7a8f797View commit details
Commits on Mar 16, 2020
-
Roll external/spirv-headers/ 30ef660..a17e17e (1 commit) (KhronosGrou…
…p#3230) KhronosGroup/SPIRV-Headers@30ef660...a17e17e $ git log 30ef660..a17e17e --date=short --no-merges --format='%ad %ae %s' 2020-03-13 jmadill Add missing header to BUILD.gn. Created with: roll-dep external/spirv-headers
Configuration menu - View commit details
-
Copy full SHA for 25ede1c - Browse repository at this point
Copy the full SHA 25ede1cView commit details
Commits on Mar 17, 2020
-
Add support for KHR_ray_{query,tracing} extensions (KhronosGroup#3235)
Update validator for SPV_KHR_ray_tracing. * Added handling for new enum types * Add SpvScopeShaderCallKHR as a valid scope * update spirv-headers Co-authored-by: alelenv <[email protected]> Co-authored-by: Torosdagli <[email protected]> Co-authored-by: Tobias Hector <[email protected]> Co-authored-by: Steven Perron <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5a97e3a - Browse repository at this point
Copy the full SHA 5a97e3aView commit details
Commits on Mar 18, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 18d3896 - Browse repository at this point
Copy the full SHA 18d3896View commit details
Commits on Mar 19, 2020
-
Add RayQueryProvisionalKHR to opt types (KhronosGroup#3239)
Add missing RayQueryProvisionalKHR types
Configuration menu - View commit details
-
Copy full SHA for da52d08 - Browse repository at this point
Copy the full SHA da52d08View commit details -
Add opt::Operand::AsCString and AsString (KhronosGroup#3240)
It only works when the operand is a literal string.
Configuration menu - View commit details
-
Copy full SHA for 60104cd - Browse repository at this point
Copy the full SHA 60104cdView commit details
Commits on Mar 23, 2020
-
Make file formatting comply with POSIX standards (KhronosGroup#3242)
Add newlines to two files
Configuration menu - View commit details
-
Copy full SHA for 7f341ff - Browse repository at this point
Copy the full SHA 7f341ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6f372c - Browse repository at this point
Copy the full SHA e6f372cView commit details -
Add data structure for DebugScope, DebugDeclare in spirv-opt (Khronos…
…Group#3183) When DebugScope is given in SPIR-V, each instruction following the DebugScope is from the lexical scope pointed by the DebugScope in the high level language. We add DebugScope struction to keep the scope information in Instruction class. When ir_loader loads DebugScope/DebugNoScope, it keeps the scope information in |last_dbg_scope_| and lets following instructions have that scope information. In terms of DebugDeclare/DebugValue, if it is in a function body but outside of a basic block, we keep it in |debug_insts_in_header_| of Function class. If it is in a basic block, we keep it as a normal instruction i.e., in a instruction list of BasicBlock.
Configuration menu - View commit details
-
Copy full SHA for 1c8bda3 - Browse repository at this point
Copy the full SHA 1c8bda3View commit details -
Disallow phis of images, samplers and sampled images (KhronosGroup#3246)
* Disallow phis of sampled images always * Disallow phis of samplers and images for shaders * Add tests * Gate check to only occur post-legalization
Configuration menu - View commit details
-
Copy full SHA for 1346dd5 - Browse repository at this point
Copy the full SHA 1346dd5View commit details
Commits on Mar 25, 2020
-
Fix identification of Vulkan images and buffers (KhronosGroup#3253)
Fixes KhronosGroup#3252 * Image and buffer queries did not account for optional level of arrayness on the variable * new tests
Configuration menu - View commit details
-
Copy full SHA for 022da4d - Browse repository at this point
Copy the full SHA 022da4dView commit details
Commits on Mar 26, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 3ef8fe9 - Browse repository at this point
Copy the full SHA 3ef8fe9View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd8e130 - Browse repository at this point
Copy the full SHA fd8e130View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd773eb - Browse repository at this point
Copy the full SHA fd773ebView commit details
Commits on Mar 31, 2020
-
Configuration menu - View commit details
-
Copy full SHA for c37c949 - Browse repository at this point
Copy the full SHA c37c949View commit details
Commits on Apr 1, 2020
-
Set wrapped kill basic block's parent (KhronosGroup#3269)
Fixes KhronosGroup#3268 * Set the parent of the basic block for the wrapper function * Add a test
Configuration menu - View commit details
-
Copy full SHA for f20c0d7 - Browse repository at this point
Copy the full SHA f20c0d7View commit details
Commits on Apr 2, 2020
-
Update dominates to check for null nodes (KhronosGroup#3271)
* Update dominates to check for null nodes Fixes KhronosGroup#3270
Configuration menu - View commit details
-
Copy full SHA for af01d57 - Browse repository at this point
Copy the full SHA af01d57View commit details -
spirv-fuzz: Add validator options (KhronosGroup#3254)
Allows several validator options to be passed to the fuzzer, to be used when validation is invoked during fuzzing.
Configuration menu - View commit details
-
Copy full SHA for 2fdea57 - Browse repository at this point
Copy the full SHA 2fdea57View commit details -
spirv-fuzz: Introduce TransformationContext (KhronosGroup#3272)
Some transformations (e.g. TransformationAddFunction) rely on running the validator to decide whether the transformation is applicable. A recent change allowed spirv-fuzz to take validator options, to cater for the case where a module should be considered valid under particular conditions. However, validation during the checking of transformations had no access to these validator options. This change introduced TransformationContext, which currently consists of a fact manager and a set of validator options, but could in the future have other fields corresponding to other objects that it is useful to have access to when applying transformations. Now, instead of checking and applying transformations in the context of a FactManager, a TransformationContext is used. This gives access to the fact manager as before, and also access to the validator options when they are needed.
Configuration menu - View commit details
-
Copy full SHA for 8d4261b - Browse repository at this point
Copy the full SHA 8d4261bView commit details -
spirv-fuzz: Only replace regular ids with synonyms (KhronosGroup#3255)
Fixes an issue where an id use in a non-regular context, e.g. as a scope parameter to an atomic instruction, would be replaced with a synonym.
Configuration menu - View commit details
-
Copy full SHA for f28cdef - Browse repository at this point
Copy the full SHA f28cdefView commit details -
spirv-fuzz: Limit adding of new variables to 'basic' types (KhronosGr…
…oup#3257) To avoid problems where global and local variables of opaque or runtime-sized types are added to a module, this change introduces the notion of a 'basic type' -- a type made up from floats, ints, bools, or vectors, matrices, structs and fixed-size arrays of basic types. Added variables have to be of basic type.
Configuration menu - View commit details
-
Copy full SHA for bfd25ac - Browse repository at this point
Copy the full SHA bfd25acView commit details -
spirv-fuzz: Handle isomorphic types property in composite construction (
KhronosGroup#3262) The fuzzer pass that constructs composites had an issue where it would regard isomorphic but distinct structs (similarly arrays) as being interchangeable when constructing composites. This change fixes the problem by relying less on the type manager.
Configuration menu - View commit details
-
Copy full SHA for 5d491a7 - Browse repository at this point
Copy the full SHA 5d491a7View commit details -
spirv-fuzz: Transformation to add OpConstantNull (KhronosGroup#3273)
Adds a transformation for adding OpConstantNull to a module, for appropriate data types.
Configuration menu - View commit details
-
Copy full SHA for e95fbfb - Browse repository at this point
Copy the full SHA e95fbfbView commit details
Commits on Apr 6, 2020
-
spirv-fuzz: Improve support for compute shaders in donation (KhronosG…
…roup#3277) (1) Runtime arrays are turned into fixed-size arrays, by turning OpTypeRuntimeArray into OpTypeArray and uses of OpArrayLength into uses of the constant used for the length of the fixed-size array. (2) Atomic instructions are not donated, and uses of their results are replaced with uses of constants of the result type.
Configuration menu - View commit details
-
Copy full SHA for 4af38c4 - Browse repository at this point
Copy the full SHA 4af38c4View commit details
Commits on Apr 7, 2020
-
spirv-fuzz: Handle more general SPIR-V in donation (KhronosGroup#3280)
This change increases the extent to which arbitrary SPIR-V can be used by the fuzzer pass that donates modules. It handles the case where various ingredients (such as types, variables and particular instructions) cannot be donated by omitting them, and then either omitting their dependencies or replacing their dependencies with alternative instructions. The change pays particular attention to allowing code that manipulates image types to be handled (by skipping anything image-specific).
Configuration menu - View commit details
-
Copy full SHA for 183e324 - Browse repository at this point
Copy the full SHA 183e324View commit details -
spirv-fuzz: Improve the handling of equation facts (KhronosGroup#3281)
The management of equation facts suffered from two problems: (1) The processing of an equation fact required the data descriptors used in the equation to be in canonical form. However, during fact processing it can be deduced that certain data descriptors are equivalent, causing their equivalence classes to be merged, and that could cause previously canonical data descriptors to no longer be canonical. (2) Related to this, if id equations were known about a canonical data descriptor dd1, and other id equations known about a different canonical data descriptor dd2, the equation facts about these data descriptors were not being merged in the event that dd1 and dd2 were deduced to be equivalent. This changes solves (1) by not requiring equation facts to be in canonical form while processing them, but instead always checking whether (not necessary canonical) data descriptors are equivalent when looking for corollaries of equation facts, rather than comparing them using ==. Problem (2) is solved by adding logic to merge sets of equations when data descriptors are made equivalent. In addition, the change also requires elements to be registered in an equivalence relation before they can be made equivalent, rather than being added (if not already present) at the point of being made equivalent.
Configuration menu - View commit details
-
Copy full SHA for 538512e - Browse repository at this point
Copy the full SHA 538512eView commit details
Commits on Apr 9, 2020
-
Configuration menu - View commit details
-
Copy full SHA for d0490ef - Browse repository at this point
Copy the full SHA d0490efView commit details -
Handle more cases in dead member elim (KhronosGroup#3289)
* Handle more cases in dead member elim - Rewrite composite insert and extract operations on SpecConstnatOp. - Leaves assert for Access chain instructions, which are only allowed for kernels. - Other operations do not require any extra code will no longer cause an assert. Fixes KhronosGroup#3284. Fixes KhronosGroup#3282.
Configuration menu - View commit details
-
Copy full SHA for 34be233 - Browse repository at this point
Copy the full SHA 34be233View commit details
Commits on Apr 13, 2020
-
Configuration menu - View commit details
-
Copy full SHA for c531099 - Browse repository at this point
Copy the full SHA c531099View commit details -
Preserve debug info in eliminate-dead-functions (KhronosGroup#3251)
* Preserve debug info in eliminate-dead-functions The elimination of dead functions makes OpFunction operand of DebugFunction invalid. This commit replaces the operand with DebugInfoNone.
Configuration menu - View commit details
-
Copy full SHA for 000040e - Browse repository at this point
Copy the full SHA 000040eView commit details -
Struct CFG analysus and single block loop (KhronosGroup#3293)
Loop headers must be marked as in the continue if the loop header is also the continue target. Fixes KhronosGroup#3264
Configuration menu - View commit details
-
Copy full SHA for e70d25f - Browse repository at this point
Copy the full SHA e70d25fView commit details
Commits on Apr 14, 2020
-
If SPIRV-Headers is in our tree, include it as subproject (KhronosGro…
…up#3299) This allows enclosing projects to use SPIRV-Headers_SOURCE_DIR to set up in header includes.
Configuration menu - View commit details
-
Copy full SHA for ca57515 - Browse repository at this point
Copy the full SHA ca57515View commit details -
Add tests for recently added command line option (KhronosGroup#3297)
We have not added tests for the new command line options recently. I've updated the test and fixed on option that was incorrect. Fixes KhronosGroup#3247
Configuration menu - View commit details
-
Copy full SHA for 4956644 - Browse repository at this point
Copy the full SHA 4956644View commit details -
Remove implicit fallthrough (KhronosGroup#3298)
Fixes KhronosGroup#3296 * Make OpReturn its own case fully
Configuration menu - View commit details
-
Copy full SHA for 2a2bdbd - Browse repository at this point
Copy the full SHA 2a2bdbdView commit details -
Sampled images as read-only storage (KhronosGroup#3295)
There are some cases where a variable that is declared as a sampled image could be read only. That is when the image type has sampled == 1. Fixes KhronosGroup#3288
Configuration menu - View commit details
-
Copy full SHA for 7d65bce - Browse repository at this point
Copy the full SHA 7d65bceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ce2db1 - Browse repository at this point
Copy the full SHA 7ce2db1View commit details -
spirv-fuzz: Respect rules for OpSampledImage (KhronosGroup#3287)
The SPIR-V data rules say that all uses of an OpSampledImage instruction must be in the same block as the instruction, and highly restrict those instructions that can consume the result id of an OpSampledImage. This adapts the transformations that split blocks and create synonyms to avoid separating an OpSampledImage use from its definition, and to avoid synonym-creation instructions such as OpCopyObject consuming an OpSampledImage result id.
Configuration menu - View commit details
-
Copy full SHA for f82d470 - Browse repository at this point
Copy the full SHA f82d470View commit details -
spirv-fuzz: Handle image storage class in donation (KhronosGroup#3290)
Demotes the image storage class to Private during donation. Also fixes an issue where instructions that depended on non-donated global values would not be handled properly.
Configuration menu - View commit details
-
Copy full SHA for 2f18046 - Browse repository at this point
Copy the full SHA 2f18046View commit details -
spirv-fuzz: Handle OpRuntimeArray when replacing ids with synonyms (K…
…hronosGroup#3292) Provides support for runtime arrays in the code that traverses composite types when checking applicability of transformations that replace ids with synonyms.
Configuration menu - View commit details
-
Copy full SHA for f460cca - Browse repository at this point
Copy the full SHA f460ccaView commit details -
spirv-fuzz: Do not outline regions that produce pointer outputs (Khro…
…nosGroup#3291) The function outliner uses a struct to return ids that a region generates and that are used outside that region. If these ids have pointer type this would result in a struct with pointer members, which leads to illegal loading from non-logical pointers if logical addressing is used. This change bans that outlining possibility.
Configuration menu - View commit details
-
Copy full SHA for c018fc6 - Browse repository at this point
Copy the full SHA c018fc6View commit details
Commits on Apr 15, 2020
-
spirv-fuzz: Fix to outliner (KhronosGroup#3302)
Adds an extra condition on when a region can be outlined to avoid the case where a region ends with a loop head but such that the loop's continue target is in the region. (Outlining such a region would mean that the loop merge is in the original function and the continue target in the outlined function.)
Configuration menu - View commit details
-
Copy full SHA for ed96301 - Browse repository at this point
Copy the full SHA ed96301View commit details -
Configuration menu - View commit details
-
Copy full SHA for 61b7de3 - Browse repository at this point
Copy the full SHA 61b7de3View commit details
Commits on Apr 17, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 4226b7d - Browse repository at this point
Copy the full SHA 4226b7dView commit details