| Age | Commit message (Collapse) | Author |
|
`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>
|
|
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++.
|
|
|
|
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!
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Don't recursively init/update submodules.
When recursive fetching is desireable, set
fetchRecurseSubmodules = true in .gitmodules for the relevant
submodule.
|
|
[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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix reference to old variable name in xenia-build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`./build/CMakeLists.txt` is generated by `./xb.bat premake --devenv=cmake` and enables use of other IDEs like `CLion` for example.
|
|
|
|
https://github.com/premake/premake-core/issues/1099
|
|
- Fix CodeLite project generation.
- Implement `xb devenv` for CodeLite.
|
|
|
|
Bump minimum Python version to 3.6.
|
|
|
|
|
|
|
|
|
|
|
|
Fix a warning that a newer version of Python is whining about:
SyntaxWarning: "is" with a literal. Did you mean "=="?
|
|
|
|
|
|
|
|
of memory (both local and on travis-ci)
|
|
|
|
|
|
|
|
-prerelease allows preview/prerelease versions of VS to work in xb.
https://github.com/microsoft/vswhere/issues/185#issuecomment-499962802
|