Commit Graph

149 Commits

Author SHA1 Message Date
Triang3l
8ca67b8aa7 [Vulkan] Expose relevant portability subset features 2022-02-13 20:19:01 +03:00
Triang3l
0590346084 [Vulkan] Add Vulkan-Headers and VMA submodules 2022-02-13 20:08:08 +03:00
Triang3l
4480437a3d [SPIR-V] xb genspirv > buildshaders + opt + remap + .xesl 2022-02-05 17:07:07 +03:00
Triang3l
fe3f0f26e4 [UI] Image post-processing and full presentation/window rework
[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-29 13:22:03 +03:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l
7edfdc2672 Merge branch 'master' into linux_windowing 2021-08-26 22:58:14 +03:00
Triang3l
1e0237d404 [Vulkan] Fix XCB #ifdef 2021-07-12 12:15:47 +03:00
Triang3l
692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +03:00
Sandy Carter
005e0e21c1 [linux graphics] Remove GLEW
OpenGL is not used in the whole stack.
All references are removed.
2021-06-19 13:08:12 -04:00
Sandy Carter
0380067105 [linux vulkan] Remove linking directly with vulkan
Using volk means vulkan linking is done at runtime with the dl library.
2021-06-19 13:08:12 -04:00
Sandy Carter
0b5ff8332e [ui gtk] Fix file dialog
Use drawing area for vulkan but window for dialogs
2021-06-19 13:08:12 -04:00
Sandy Carter
31a8d189f0 [vulkan] Fix typos 2021-05-17 11:14:48 -04:00
Sandy Carter
c4a2dff099 [vulkan] Add Report Callback to instance create 2021-05-17 11:14:48 -04:00
Sandy Carter
5ed4f88091 [vulkan linux] Add extension requirement for XCB 2021-05-17 11:14:48 -04:00
Sandy Carter
6d591970ab [vulkan linux] Fix native_platform_handle with gtk
Use gtk connection as handle and use it when creating surface.
2021-05-17 11:14:48 -04:00
Triang3l
c2e8c5554d [UI] Replace ImmediateTexture handles with pointers + small cleanup 2020-09-27 16:30:53 +03:00
Triang3l
d437555036 [UI] Remove immdraw restrict_texture_samples + cleanup 2020-09-26 22:06:04 +03:00
Triang3l
fc55b1f81d [UI] Remove pass-unfriendly UpdateTexture of ImmediateDrawer 2020-09-20 20:34:22 +03:00
Triang3l
dfbe36a8aa [UI/D3D12] Small refactoring, allow BeginSwap to return false if no surface 2020-09-14 23:27:19 +03:00
Joel Linn
3d2982e845 [ImGui] Fix drawing lines.
ImGui does not orientate triangles.
Culling must not be applied in immediate drawer.
2020-04-19 01:38:58 +02:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
gibbed
3e6c2bb47c Fix up handling of positional options in cvar handling.
- Fix up handling of positional options in cvar handling so that executables
  other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -05:00
Jonathan Goyvaerts
81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
gibbed
1145d57007 Undo main/wWinMain changes in preparation for new method
of doing a startup AVX check.

This reverts commit 4030cff3ec.
2019-04-20 02:32:45 -05:00
gibbed
4030cff3ec - Move main, wWinMain entrypoints to their own file.
- Fix startup AVX checks.
2019-04-18 16:57:42 -05:00
gibbed
ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
gibbed
af206addd1 Optimize SPIRV code generated via genspirv command. 2018-11-26 11:49:36 -06:00
gibbed
86d2c9ae1e Fix Travis whining. 2018-11-22 09:48:04 -06:00
Margen67
896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
ba7dc6b2d7 [GPU] Improve readability of initialization errors and remove references to OpenGL. 2018-07-01 16:50:03 -05:00
gibbed
c11cce2d3b Oops. Fix premake for xenia-ui-window-vulkan-demo. 2018-06-08 10:09:12 -05:00
gibbed
fb9eb84893 Fix premake for xenia-hid-demo and xenia-ui-window-vulkan-demo. 2018-06-08 09:52:35 -05:00
gibbed
4caa2a2145 [Vulkan] Blacklist some validation layer errors we don't care about. 2018-06-04 23:37:58 -05:00
gibbed
b5a88d1a7d [GPU] Track unaligned (visible) block width in texture info.
[Vulkan] Don't use power of two for mip width/height calculation for host textures.
[Vulkan] Add more Vulkan error logging.
[Vulkan/GPU] Rudimentary texture dumping.
2018-06-04 06:08:29 -05:00
gibbed
fed60962d6 [Vulkan] Regenerate shaders, and explicitly require the extensions they depend on. 2018-05-30 08:04:16 -05:00
gibbed
f8961df221 Fix Travis complaints, as usual. 2018-05-22 06:23:37 -05:00
gibbed
200b9ddf7d [Vulkan] Add debug names for blitter. 2018-05-22 05:55:27 -05:00
gibbed
6d3146a750 [Vulkan] Add debug marker functions. 2018-05-22 05:54:42 -05:00
Dr. Chat
93b4c7133b [Vulkan] Update to Vulkan 1.1 2018-05-04 17:40:21 -05:00
Dr. Chat
61e47167c0 [Vulkan] Replace vulkan-loader with volk 2018-05-04 16:49:46 -05:00
Dr. Chat
ef3577e45c [Vulkan UI] Fix minor bug in specifying size of queue priorities array 2018-04-29 18:25:56 -05:00
DrChat
5a831fa273 Fix UI programs on linux 2018-04-03 19:55:55 -05:00
DrChat
3fb7b9d944 [Vulkan UI] VulkanDevice::HasEnabledExtension 2018-03-03 11:53:24 -06:00
DrChat
7c5c389ce8 [Vulkan UI] Travis, why? 2018-03-03 10:09:16 -06:00
DrChat
3a0903672c [Vulkan UI] Try to fix Travis again :/ 2018-03-03 00:01:23 -06:00
DrChat
6c67fe4b29 [Vulkan UI] Fix Travis 2018-03-02 22:35:29 -06:00
DrChat
2180280c8e [Vulkan UI] Stash the last signalled fence to speed up Scavenge 2018-03-02 22:13:59 -06:00
DrChat
82e8781549 [Vulkan UI] Use an underlying queue instead of a list of pointers in CircularBuffer 2018-03-02 22:01:55 -06:00