1. 12 Oct, 2021 1 commit
  2. 08 Oct, 2021 1 commit
  3. 05 Oct, 2021 1 commit
  4. 29 Sep, 2021 1 commit
  5. 27 Sep, 2021 1 commit
    • Jim Blandy's avatar
      Use `UniqueArena` for types. · 944a693a
      Jim Blandy authored
      Ensure that each distinct type occurs only once in `Module::types`, so that we
      can use `Eq` on `Type` or `TypeInner` for type equivalence, without being
      confused by differing `Handle<Type>` values that point to identical types.
      
      This removes a number of duplicate types from the ir snapshots.
      
      Fixes #1385.
      944a693a
  6. 10 Sep, 2021 1 commit
    • João Capucho's avatar
      [spv-in] new block parser (#1294) · 3049f63c
      João Capucho authored
      
      
      * [spv-in] New two pass parser based
      
      * [spv-in] Allow expressions defined in dominant block in different scopes
      
      * Make the patch non breaking
      
      * [spv-in] Allow scope transfers in phi instructions
      
      * [spv-in] Remove unused stuff
      
      * [spv-in] Handle switch merges as breaks
      
      * Remove no longer needed stuff
      
      * Revert some changes to prepare to merge
      
      * Remove dead code
      
      * Don't spill into local if in scope
      
      * [spv-in] Documentation, comments, some renaming for clarity.
      
      * Address comments
      
      Co-authored-by: default avatarJim Blandy <jimb@red-bean.com>
      3049f63c
  7. 24 Aug, 2021 2 commits
    • aentity's avatar
      Update deps petgraph and rose-tree · a35de06f
      aentity authored
      a35de06f
    • Hans Christian Schmitz's avatar
      Implement lexing and parsing for all WGSL number literal types (#1184) · 58a5b7d2
      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
      58a5b7d2
  8. 23 Aug, 2021 1 commit
  9. 18 Aug, 2021 1 commit
  10. 12 Aug, 2021 1 commit
  11. 11 Aug, 2021 1 commit
    • Alex Es's avatar
      Proof of concept for "span" feature, with WGSL & GLSL parsing augmented. (#1092) · fd701166
      Alex Es authored
      * Proof of concept for "span" feature, with WGSL parsing augmented.
      
      * Review:
      
      1) add_span was actually a bad idea, make it set_span and add
      set_span_if_unknown too.
      2) panics on getting/setting span for invalid handles.
      3) only set span for constants with a name
      4) don't overwrite spans for types.
      
      * Added spans to blocks & more expressions getting spans in frontends.
      
      Definitely the shotgunny type of commit, but what can you do. The design
      I went with made spans mandatory to specify, so I had to go and wire
      them through wherever I could.
      
      * Moved Block to a separate module, +clippy
      
      * More spans for types in GLSL.
      
      * Remove pointless body method.
      
      * Make Arena interface require spans.
      
      Another shotgun commit, oh boy...
      
      * Fix tests.
      
      My loathsome habit to "quickly fix things along the way" made a lot of
      extra work for me here, having to fix my "fixes" for WGSL parser.
      
      * Rustfmt + clippy.
      
      * Fix compile-errors with span feature enabled.
      
      * Nuked set_span* from orbit. Deleting code feels great!
      
      * Code review - move feature flags inside functions.
      
      * Fix build with "deserialize" feature enabled.
      fd701166
  12. 14 Jul, 2021 1 commit
  13. 19 Jun, 2021 1 commit
  14. 16 Jun, 2021 1 commit
    • Jim Blandy's avatar
      Add `.` to the workspace's default members. Test with no features. · fd838169
      Jim Blandy authored
      Naga is now a workspace with `naga` and `cli` as its two members. The default
      package for cargo commands is `cli`, so that `cargo run` will just run the CLI.
      
      However, this has a few unexpected consequences:
      
      - Now `cargo test` will just try to run `cli`'s tests, of which there are none.
        Adding `"."` to the `default-members` list in the workspace's `Cargo.toml`
        seems to fix this, without breaking `cargo run`.
      
      - Even with `"."` added to `default-members`, `cargo test` will build `naga` by
        default with the features requested for it in `cli/Cargo.toml`: all the front
        and back ends, but no `serialize` or `deserialize`. This means that our CI job
        meant to verify no-feature builds isn't doing that job any more. We need to
        pass `--package naga` to `cargo test` to make it test naga directly.
      fd838169
  15. 13 Jun, 2021 1 commit
    • Jakob Hellermann's avatar
      move bin/naga.rs to a separate crate in workspace (#938) · 4224d14a
      Jakob Hellermann authored
      * move bin/naga.rs to a separate crate
      
      * enable all shader languages for naga binary
      
      * [naga-cli] add env logger
      
      * [naga-cli] remove unneccessary code
      
      * [naga-cli]enable glsl-validate feature
      
      * move naga-cli to cli, add trailing newline
      
      * remove commented env_logger dependency
      4224d14a
  16. 03 Jun, 2021 1 commit
  17. 19 May, 2021 2 commits
  18. 06 May, 2021 1 commit
  19. 29 Apr, 2021 1 commit
  20. 24 Apr, 2021 1 commit
  21. 19 Apr, 2021 1 commit
  22. 14 Apr, 2021 1 commit
  23. 11 Apr, 2021 1 commit
  24. 01 Apr, 2021 1 commit
  25. 06 Mar, 2021 1 commit
  26. 04 Mar, 2021 1 commit
  27. 01 Mar, 2021 1 commit
  28. 28 Feb, 2021 1 commit
  29. 25 Feb, 2021 1 commit
  30. 24 Feb, 2021 1 commit
    • Pelle Johnsen's avatar
      [glsl-in] Add initial support for glslpp-rs (#513) · 51cbd4c1
      Pelle Johnsen authored
      * [glsl-in] Add initial support for glslpp-rs
      
      * [glsl-in] Add remaining Punct mappings
      
      Fix some tests.
      
      * [glsl-in] Add basic error handling for glslpp-rs
      
      * [glsl-in] Fix clippy issues
      
      * [glsl.in] Add pp-rs floats
      
      * [glsl-in] Remove old lex and preprocessor
      
      * [glsl-in] Improve lexer token code
      
      * [glsl-in] Rename lex_pp > lex
      
      Also LexerPP > Lexer
      
      * [glsl-in] glslpp-rs review feedback
      
      * [glsl-in] Use rev for pp-rs dep
      
      * [glsl-in] Parse on lexer err
      51cbd4c1
  31. 15 Feb, 2021 1 commit
  32. 01 Feb, 2021 1 commit
  33. 30 Jan, 2021 1 commit
  34. 28 Jan, 2021 1 commit
  35. 10 Jan, 2021 1 commit
  36. 10 Dec, 2020 1 commit
  37. 08 Dec, 2020 1 commit
  38. 22 Nov, 2020 1 commit
    • Capucho's avatar
      [glsl-out] Backend cleanup · bc0d8764
      Capucho authored
      Moved the global writing part to it's own function
      Merged the texture and the global loop
      Applied some suggestions from kvark
      Added a topological sorting of the call graph before writing
      Removed the struct block loop and now every struct is written
      Organized the main backend file a bit
      bc0d8764