- Sep 07, 2021
-
-
Igor Shaposhnik authored
-
- Sep 05, 2021
-
-
João Capucho authored
-
- Sep 04, 2021
-
-
João Capucho authored
-
João Capucho authored
-
- Sep 03, 2021
-
-
Dzmitry Malyshau authored
-
Igor Shaposhnik authored
-
- Sep 01, 2021
-
-
Jim Blandy authored
-
- Aug 31, 2021
-
-
Hans Christian Schmitz authored
* Fix GLSL output for non-fallthrough switch cases Partially reverts 02c74b50021379092a9d4567fd11aeb0879c5405 and fixes #1309. * Fix indentation of control-flow WGSL code * Clean up glsl-out switch case fallthrough handling Only insert a break if needed and if a case is fallthrough, insert a comment indicating this.
-
Hans Christian Schmitz authored
* Implement fuzzing for the GLSL parser * Remove arbitrary dependency from naga Derive `Arbitrary` for proxy objects in `fuzz/fuzz_targets/glsl_parser.rs` instead.
-
João Capucho authored
* [glsl-in] Allow code after terminator statements * [glsl-in] Track finished state in the context * [glsl-in] Cull statements after terminators
-
- Aug 30, 2021
-
-
Jim Blandy authored
-
Jim Blandy authored
-
Jim Blandy authored
-
Jim Blandy authored
Fixes #1305. Ensure that two `back::spv::LocalType::Image` values are sure to be equal (and hash equal) whenever they would generate the same `OpTypeImage` instruction, so that the usual duplicate removal via `Writer::lookup_type` works. Accomplish this by changing the contents of `LocalType::Image` to more closely match the operands of `OpTypeImage` instructions. Previously, `LocalType::Image` included a `ImageClass::Storage::access` value, which did not affect the `OpTypeImage` instruction generated. If two `LocalType::Image` values differered only in their `access`, then they would get separate entries in `Writer::lookup_type`, two identical `OpTypeImage` instructions would be generated, and SPIR-V validation would fail.
-
Jim Blandy authored
This affects a lot of snapshots, so it's in its own commit, for easier review.
-
Jim Blandy authored
Change `write_type_declaration_local` to handle any type that can be represented as a `LocalType`. This means that Image and Sampler types are handled there now. Change `write_type_declaration_arena` to defer to `write_type_declaration_local` to handle any type that can be represented as a `LocalType`. This makes the code for those types in `write_type_declaration_arena` redundant, so remove it. However, continue to request SPIR-V capabilities for image types from `write_type_declaration_arena`, since that function is fallible, while `write_type_declaration_local` is not.
-
Jim Blandy authored
-
Jim Blandy authored
-
Igor Shaposhnik authored
-
- Aug 28, 2021
-
-
Jim Blandy authored
Fixes #1030. Fixes #1017.
-
- Aug 27, 2021
-
-
Jim Blandy authored
-
Jim Blandy authored
-
Jim Blandy authored
-
Jim Blandy authored
-
Jim Blandy authored
When we are leaning on robust buffer access to do the job for us, there's no undefined behavior going on. So `UndefinedBehavior` suggests people are doing something reckless even if they're not. The policy just says what Naga is doing, and it shouldn't pretend to say what the rest of the system is doing.
-
- Aug 26, 2021
-
-
Dzmitry Malyshau authored
-
- Aug 25, 2021
-
-
Dzmitry Malyshau authored
-
Hans Christian Schmitz authored
Set naga features in `fuzz/Cargo.toml` to those required for SPIR-V and WGSL input. Also bump libfuzzer-sys version.
-
- Aug 24, 2021
-
-
fsh authored
-
aentity authored
-
Hans Christian Schmitz authored
* Implement lexing for all WGSL number literal types * Move number literal test cases * Adjust tests to match WGSL spec on number literals Suffixes are not type names and currently only a plain `u` is supported for uints. More specifically, `i` and `f` suffixes or suffixes with widths in bits like `u32` are not supported at the moment. * Add more tests for invalid number literal suffixes * Replace code too new for Rust 1.43 * Implement parsing for hexadecimal integers * Switch to enum number types, and Bytes for width * Check for negative and leading zeros in int literals * Implement parsing of hex floats with hexf-parse * Update error message tests * Update snapshot test output files * Clean up lexer state machine code * Clean up unexpected token error code * Move number literal parsing to own submodule
-
- Aug 23, 2021
-
-
Jim Blandy authored
-
Jim Blandy authored
-
Jim Blandy authored
Using 1D images should require either the `Sampled1D` or `Image1D` capability. Using cube array images should require either the `SampledCubeArray` or `ImageCubeArray` capability.
-
Dzmitry Malyshau authored
-
Jim Blandy authored
-
Jim Blandy authored
Introduce a helper type that manages the details of emitting SPIR-V conditionals, tracking labels, branches, merge annotations and phi nodes. Change index bounds checks to use this helper.
-
Jim Blandy authored
For ease of review, there should be no meaningful code changes in this commit. Match arms are merely moved out into their own functions, whose arguments are the enum variant's fields, along with any free variables from the function containing the match.
-
Jim Blandy authored
-
Jim Blandy authored
-