summaryrefslogtreecommitdiff
path: root/xenia-build
AgeCommit message (Collapse)Author
2026-01-04[Build] Replace spirv-remap with spirv-opt --canonicalize-idsTriang3l
`spirv-remap` is not present in modern Vulkan SDK versions, it was replaced with the `--canonicalize-ids` pass in `spirv-opt`. Overall, canonicalization provides a significant compression improvement, which is important considering that currently Xenia is distributed in a ZIP archive and contains many very similar shaders. With normal DEFLATE compression, canonicalization reduced the size of a ZIP with `xenia.exe` from 3.54 MB to 3.45 MB in a test done before committing. Also disable stripping of debug information from shaders, which apparently was among what `spirv-remap` was doing with `--do-everything`, as binding and uniform buffer member names heavily aid in debugging in RenderDoc. Partially integrated from #2329. Co-authored-by: Herman S. <429230+has207@users.noreply.github.com> Co-authored-by: Gliniak <Gliniak93@gmail.com>
2025-08-19[GPU/UI] XeSL readability improvements + float suffixTriang3l
Use the _xe suffix instead of the xesl_ prefix for quicker visual recognition of identifiers, also switch to snake_case for consistency. Also add the f suffix to float32 literals because the Metal Shading Language is based on C++.
2025-08-19[Build] Locate FXC among Windows SDK architectures and versionsTriang3l
2023-02-05[Build] Add parallel PPC test generationWunkolo
Utilizes `multiprocessing` to allow for multiple power-pc assembly tests to be generated in parallel. Some results on my i9-11900k(8c/16t): Before: ``` Measure-Command {.\xb gentests} Days : 0 Hours : 0 Minutes : 0 Seconds : 11 Milliseconds : 200 Ticks : 112007585 TotalDays : 0.000129638408564815 TotalHours : 0.00311132180555556 TotalMinutes : 0.186679308333333 TotalSeconds : 11.2007585 TotalMilliseconds : 11200.7585 ``` After: ``` Measure-Command {.\xb gentests} Days : 0 Hours : 0 Minutes : 0 Seconds : 5 Milliseconds : 426 Ticks : 54265895 TotalDays : 6.28077488425926E-05 TotalHours : 0.00150738597222222 TotalMinutes : 0.0904431583333333 TotalSeconds : 5.4265895 TotalMilliseconds : 5426.5895 ``` This is an over **x2** speedup!
2022-12-28moved vswhere to tools directoryp01arst0rm
2022-07-21Python/xenia-build/xb fixesMargen67
Use variable for Python version to make upgrading easier. xb.bat: Update copyright date. Add candidate paths. xb.ps1 Properly use found python executable. More consistency with .bat. Don't spew unnecessary errors, etc. EOF newline.
2022-07-17[xenia-build] Check for clang-format 14Joel Linn
2022-07-17[xenia-build] Report premake errors via exit codeJoel Linn
2022-05-05[UI] Windows: Disable rounded cornersTriang3l
2022-03-27[GPU] XeSL host depth store and VS passthrough shadersTriang3l
2022-03-27[Vulkan] Samplerless texelFetchTriang3l
2022-02-06[Build] Wrap XeSL in GLSL via #include to keep line numbersTriang3l
2022-02-05[SPIR-V] xb genspirv > buildshaders + opt + remap + .xeslTriang3l
2022-01-29Don't recursively init/update submodules.Rick Gibbed
Don't recursively init/update submodules. When recursive fetching is desireable, set fetchRecurseSubmodules = true in .gitmodules for the relevant submodule.
2022-01-29[UI] Image post-processing and full presentation/window reworkTriang3l
[GPU] Add FXAA post-processing [UI] Add FidelityFX FSR and CAS post-processing [UI] Add blue noise dithering from 10bpc to 8bpc [GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color [UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event [UI] Allow variable refresh rate (or tearing) [UI] Present the newest frame (restart) on DXGI [UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management [UI] Connect presentation to windows via the Surface class, not native window handles [Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around [Vulkan] Lower the minimum required Vulkan version to 1.0 [UI/GPU] Various cleanup, mainly ComPtr usage [UI] Support per-monitor DPI awareness v2 on Windows [UI] DPI-scale Dear ImGui [UI] Replace the remaining non-detachable window delegates with unified window event and input listeners [UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem [UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing [UI] Add explicit window lifecycle phases [UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback [UI] GTK: Apply the initial size to the drawing area [UI] Limit internal UI frame rate to that of the monitor [UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-02[xenia-build] Update clang-format version to 13Joel Linn
2021-10-30[Build] Use first-party premake-androidndk (#1878)Triang3l
2021-10-25Fix Xcode support in xenia-buildConrad Kramer
2021-08-18Use AppVeyor vars for extended version info.gibbed
2021-06-28Lint/format .inc files.gibbed
2021-06-05[GPU] Shaders to common, xb buildshaders instead of buildhlslTriang3l
2021-05-15[Build] Support building with the standalone VS Build Toolsamine4567
2021-05-15Fix reference to old var name in xenia-build.gibbed
Fix reference to old variable name in xenia-build.
2021-05-03[xb] Remove whitespaceJoel Linn
2021-05-03[xb] Only write version.h when changedJoel Linn
2020-11-25[Build] Add stub command for source file generationSatori
2020-11-21[Build] Fix a typo in get_premake_target_os commentTriang3l
2020-11-21[Build] Support cross-compilation via xb premake --target_osTriang3l
2020-11-21[Build] xenia-build Android host OS detectionTriang3l
2020-11-14Start CLion by invoking `xb devenv` when availableJoel Linn
2020-11-14Add premake cmake generator.Joel Linn
`./build/CMakeLists.txt` is generated by `./xb.bat premake --devenv=cmake` and enables use of other IDEs like `CLion` for example.
2020-10-28Allow building without git.Joel Linn
2020-04-08Replace deprecated gmake with gmake2 action.Joel Linn
https://github.com/premake/premake-core/issues/1099
2020-04-08Linux development environment.Joel Linn
- Fix CodeLite project generation. - Implement `xb devenv` for CodeLite.
2020-04-07Make 'xb test' also run xenia-base-tests.gibbed
2020-03-30Bump minimum Python version (#1581)Rick Gibbed
Bump minimum Python version to 3.6.
2020-02-22Force -style=file for xb lint.gibbed
2020-02-22Lint all files in a sorted manner.gibbed
2020-02-22Fix xb lint --all on Windows.gibbed
2020-02-22Use newer clang+llvm+clang-format.gibbed
2020-02-21[XB] Fix python not expecting UTF-8 for the output of vswherePrism Tutaj
2020-02-08Fix warning that newer Python is whining about.Rick Gibbed
Fix a warning that a newer version of Python is whining about: SyntaxWarning: "is" with a literal. Did you mean "=="?
2019-08-17Prefer vsdevcmd over vcvarsall.gibbed
2019-08-17Oops. Call set after vsdevcmd.gibbed
2019-08-03[D3D12] Switch from gflags to cvarsTriang3l
2019-08-03Default the number of parallel build threads to 4 so clang doesn't run out ↵Jonathan Goyvaerts
of memory (both local and on travis-ci)
2019-07-18Merge remote-tracking branch 'origin/master' into d3d12gibbed
2019-07-17Fix typo in xenia-buildMargen67
2019-07-11Merge branch 'master' into d3d12Triang3l
2019-06-30[xenia-build] Update old link and fix VS Preview not being foundMargen67
-prerelease allows preview/prerelease versions of VS to work in xb. https://github.com/microsoft/vswhere/issues/185#issuecomment-499962802