Commit Graph

  • 84e8cf52d5 user guide: crate structure shader crate overview new_docs firestar99 2025-11-06 17:53:29 +01:00
  • 4dbfcf62ce user guide: split up old writing-shader-crates.md firestar99 2025-11-06 11:38:41 +01:00
  • 4e472cf91d user guide: structure firestar99 2025-09-19 11:28:21 +02:00
  • 22a72113f6 docs: remove debugging link firestar99 2025-09-09 12:19:29 +02:00
  • 6ff7d536f1 WIP: var-io Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • c802e51865 WIP: remove NodeKind::Block Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 5b69b9959d WIP: merge DataInst and Node (while remaining disjoint in Region vs Block) Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • df9cbe37c9 WIP: DataInstDef using NodeDef Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • ed113a5292 WIP Node child_regions Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • b04b921dd1 WIP: Node inputs Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • f3c69f7a02 WIP: Node attrs Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 0d079a3eb9 Update spirt for minimal OpSpecConstantOp and OpConstantFunctionPointerINTEL support. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • f810d0307d Update spirt for the new cf module. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • ca35d10e46 Update spirt for the new mem/qptr split. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 1229457e68 Update spirt for spv::lift emitting "merge edge"s. Eduard-Mihai Burtescu 2025-09-11 19:04:30 +03:00
  • d73df63348 Update spirt for DataInstForm "uninterning". Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • e9cc084928 Update spirt for Attr::DbgSrcLoc. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • e046f41b15 WIP: real const data support (while keeping old bitcast trick) Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • c95d885048 Update spirt for ControlNode -> Node rename. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 1c11b4bf04 Update spirt for ControlRegion -> Region rename. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 4057bfef92 WIP: do not ICE due to raw_eq. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 4edc0e3bf0 WIP: avoid div-by-0 due to ZST arrays/slices. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 379822b00f [TODO(eddyb) add test] WIP: allow unsigned integers in neg and exactsdiv Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 299bcc18b3 [FIXME(eddyb) leftover from a bugfix] builder_methods: OpPtrEqual/OpPtrNotEqual comments. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 8a6921adbe spirv_type: use rustc's Harvard arch support, mapping AddrSpace(1) to CodeSectionINTEL (for function pointers). Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 6f7ac1ca59 builder_spirv: add a proper SpirvConst::PtrToFunc (even if still emits undef + zombie). Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 8158c58c77 tests: add a test demonstrating errors coming from the use of function pointers/dyn Trait. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 06ffa5e545 linker: minimal support (bug fixes) for OpConstantFunctionPointerINTEL. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • dc26c377c5 link: work around rspirv's overly narrow definition of type/const instructions. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 33ea367cfd Move ConstDataFromAlloc to a SpirvValueKind variant. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • ce3ad0adcd Defer the typed interpretation of const data as much as possible. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 4b8df36669 Remove const_str's body and mark it as explicitly unreachable. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 93ae5d4c21 Respect the packed parameter of const_struct. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • b535d93323 builder: always constant-fold pointercasts, regardless of "legality". Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • da90df9b54 Add SpirvConst variants for const_bitcast/const_ptr_byte_offset. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 9f04dde33f Reduce SpirvValue lossiness around strip_ptrcasts and const_fold_load. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • ac5c2d8030 Remove SpirvValueKind::IllegalConst. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • a9d449494c Always register zombie messages, only at most defer their Spans. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 0546ebd00c Replace SpirvValueKind::IllegalTypeUsed with mere undef. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 696080eed3 [TODO(eddyb) recursion needs this!!!] [HACK(eddyb) this works now but requires the preceding commit] linker/inline: don't rescan inlined callee blocks. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 6f54c865f0 linker/inline: don't assume OpFunctionParameters are valid pointers (as it'd require outside-in inlining). Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • d02aa41e48 (placeholder) Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 5040aa28c8 linker/inline: also run mem2reg on every fully-inlined function. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 4d10050f7e linker/inline: also run remove_duplicate_debuginfo on every fully-inlined function. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • c08b57951e [TODO(eddyb) this is probably sound but requires looping for rewrites] [2024] WIP: mem2reg unsound changes? Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 1e4447426a linker/inline: fix typos in comments. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 5db1f6bdd6 [2024] linker/inline: use OpPhi instead of OpVariable for return values. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • fe22a3b3a6 [2024] linker/mem2reg: index SPIR-V blocks by their label IDs for O(1) lookup. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • fdd29c1b91 [2024] linker/inline: use bottom-up inlining to minimize redundancy. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 95ee5bc1d7 [2024] linker/inline: fix OpVariable debuginfo collection and insertion. Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • e796516a92 Revert "linker/inline: fix OpVariable debuginfo collection and insertion." Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • f4d690b554 Revert "WIP: (TODO: finish bottom-up cleanups) bottom-up inlining" Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 2ce3487a03 Revert "WIP: couple of inliner things that need to be disentangled" Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 8ae4bae202 Revert "WIP: mem2reg speedup" Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 3c3a11864d Revert "linker/inline: use OpPhi instead of OpVariable for return values." Eduard-Mihai Burtescu 2025-09-09 11:40:02 +03:00
  • 583666b685 builder: implement pointer atomics (missing in SPIR-V) via integers. Eduard-Mihai Burtescu 2025-10-13 07:14:12 +03:00
  • bf3a0ee79b builder: use SPIR-V instructions for checked_{add,sub,mul} and saturating_{add,sub}. Eduard-Mihai Burtescu 2025-10-28 13:42:42 +02:00
  • 22a926f749 Add --dump-spirt for dumping only the final SPIR-T module (unlike --dump-spirt-passes). Eduard-Mihai Burtescu 2025-10-30 03:37:05 +02:00
  • 7d1ba7d678 Deploying to gh-pages from @ 2232fcb7b5 🚀 github-merge-queue[bot] 2025-10-28 09:24:02 +00:00
  • 2232fcb7b5 Do not ICE on indirect fn pointers Christian Legnitto 2025-10-27 15:10:06 -04:00
  • f28548b783 docs: explain graphics APIs and shader languages docs-graphics-apis firestar99 2025-09-09 17:47:40 +02:00
  • 09e741cf74 docs: remove debugging link firestar99 2025-09-09 12:19:29 +02:00
  • cbcdaa21bc Deploying to gh-pages from @ 808974a0d0 🚀 github-merge-queue[bot] 2025-10-27 04:27:09 +00:00
  • 808974a0d0 Remove unnecessary closures foo 2025-10-24 14:07:14 -03:00
  • eb6f9174fa macros: add spirv_vector attribute macro for declaring spirv Vector types derive-vector firestar99 2025-09-24 13:27:53 +02:00
  • 76cd9a3a96 Deploying to gh-pages from @ 67ccf2f6aa 🚀 github-merge-queue[bot] 2025-10-22 14:31:54 +00:00
  • 7221a3bb55 Deploying to gh-pages from @ 8c3fa7b7e8 🚀 github-merge-queue[bot] 2025-10-22 14:04:02 +00:00
  • 67ccf2f6aa format args decompiler: move support functions in spirv-std to mod debug_printf firestar99 2025-10-22 15:08:22 +02:00
  • 85f6c47012 macros: move gen_sample_param_permutations macro to separate mod firestar99 2025-10-22 12:29:29 +02:00
  • 921f692658 macros: move debug_printf macro to separate mod firestar99 2025-10-22 12:27:31 +02:00
  • d5c290e6f7 format args decompiler: expand closures to proper types firestar99 2025-10-13 16:16:29 +02:00
  • 3d33a80618 format args decompiler: move to a separate mod firestar99 2025-10-08 14:50:44 +02:00
  • 8c3fa7b7e8 subgroup: add subgroup_broadcast_const variant for pre-spv1.5 broadcasts firestar99 2025-10-22 14:32:08 +02:00
  • 9fc1a5fe5d subgroup: fix docs typo firestar99 2025-10-17 12:03:21 +02:00
  • bdad1d0913 Deploying to gh-pages from @ f438c8c817 🚀 github-merge-queue[bot] 2025-10-22 13:03:26 +00:00
  • f438c8c817 scalar or vector: rename VectorOrScalar to ScalarOrVector and give it its own mod firestar99 2025-10-14 16:00:31 +02:00
  • 9806b1c1a9 scalar or vector: minor vector code cleanup firestar99 2025-10-14 15:45:58 +02:00
  • 08a245cb23 scalar or vector: move all scalar traits and impl macros to mod scalar firestar99 2025-10-14 15:01:01 +02:00
  • 0ada17d0ec scalar or vector: reexport all Scalar traits in lib.rs, make mods private firestar99 2025-10-22 11:41:49 +02:00
  • 3e88a572c4 scalar or vector: unwrap is now a const fn cleanup firestar99 2025-10-14 12:27:10 +02:00
  • 1cca4947f9 Deploying to gh-pages from @ 25d9da35ab 🚀 github-merge-queue[bot] 2025-10-22 10:05:38 +00:00
  • 25d9da35ab Fix some formatting. Nicholas Nethercote 2025-09-23 10:40:47 +10:00
  • 648a020869 Remove an unnecessary pub. Nicholas Nethercote 2025-09-23 10:52:01 +10:00
  • 9f269e16f0 Simplify sample_type_impls!. Nicholas Nethercote 2025-09-23 14:20:47 +10:00
  • bbe6725aa6 Remove extraneous whitespace in lod_type. Nicholas Nethercote 2025-09-23 10:56:24 +10:00
  • ebdea09556 Rename parsing_error as parse_error. Nicholas Nethercote 2025-09-23 10:48:00 +10:00
  • 5eb855aec2 Deploying to gh-pages from @ a28bd3a333 🚀 github-merge-queue[bot] 2025-10-22 09:10:26 +00:00
  • a28bd3a333 SpecConstant: add arrayed spec constants firestar99 2025-10-21 16:56:37 +02:00
  • 8c271c95c4 Deploying to gh-pages from @ 300da9c21d 🚀 github-merge-queue[bot] 2025-10-22 04:27:21 +00:00
  • 300da9c21d compiletest: pass -Zui-testing to rustc firestar99 2025-10-21 10:13:20 +02:00
  • 50019a74a8 compiletest: normalize subgroup tests firestar99 2025-10-14 13:10:06 +02:00
  • 6c2720b2e3 Deploying to gh-pages from @ e767f24f25 🚀 github-merge-queue[bot] 2025-10-20 07:15:47 +00:00
  • e767f24f25 remove example build scripts forwarding PROFILE env var firestar99 2025-10-01 14:56:23 +02:00
  • e3c05528fb Deploying to gh-pages from @ 2aa4d4f8a8 🚀 github-merge-queue[bot] 2025-10-15 10:14:09 +00:00
  • 2aa4d4f8a8 abi layout: remove pqp_cg_ssa patch for #[repr(SIMD)] firestar99 2025-10-13 17:04:06 +02:00
  • e7971d3695 compiletest: update readme normalize examples firestar99 2025-09-24 13:28:14 +02:00
  • 9dc925725e abi layout: assert member offsets of vectors are as expected firestar99 2025-09-24 16:02:47 +02:00
  • adf6ee9523 abi layout: add some compiletests firestar99 2025-09-24 13:49:49 +02:00
  • 7e02135fb8 abi layout: limit vectors to at most 4 components, as spec states firestar99 2025-09-24 13:39:52 +02:00
  • 94c26ffdee abi layout: improve documentation on Scalar and Vector firestar99 2025-09-24 13:31:54 +02:00