Commit Graph

200 Commits

Author SHA1 Message Date
Triang3l
fdcbf67623 [Vulkan] Enable VK_KHR_sampler_ycbcr_conversion 2022-06-25 15:46:02 +03:00
Triang3l
4b4205ba00 [Vulkan] Frontbuffer presentation 2022-06-25 14:33:43 +03:00
Triang3l
61c4c49d76 Merge branch 'master' into vulkan 2022-06-20 12:34:41 +03:00
Triang3l
3b4845511d [Vulkan] Don't require an explicit uint64_t cast for SetDeviceObjectName 2022-06-20 12:25:52 +03:00
Triang3l
67ff108f53 [Vulkan] Explain why CreateShaderModule takes uint32_t* [ci skip] 2022-06-20 12:22:41 +03:00
Triang3l
9c445d397b [Vulkan] Fix single-type descriptor pool reuse 2022-05-24 22:37:49 +03:00
Triang3l
08769de68b [Vulkan] Texture object and view creation 2022-05-19 21:56:24 +03:00
Triang3l
b0e1916f75 Merge branch 'master' into vulkan 2022-05-19 21:46:21 +03:00
Triang3l
9aaf19a455 [Vulkan] Remove unused variable in VulkanPresenter::GuestOutputImage::Initialize 2022-05-19 21:45:48 +03:00
Triang3l
46202dd27a [Vulkan] Basic texture descriptor set allocation/binding 2022-05-17 22:42:28 +03:00
Triang3l
5f2b0a899a [Vulkan] Fix TransientDescriptorPool ignoring the descriptor type 2022-05-15 22:20:24 +03:00
Triang3l
05adfbc58d Merge branch 'master' into vulkan 2022-05-15 16:18:41 +03:00
Triang3l
60052fb4fc [Vulkan] Don't require imageViewFormatSwizzle in the immediate drawer 2022-05-14 22:18:21 +03:00
Triang3l
0acb97d383 [Vulkan] EDRAM range ownership transfers, resolve clears, 2x-as-4x MSAA
Transfers are functional on a D3D12-like level, but need additional work so fallbacks are used when multisampled integer sampled images are not supported, and to eliminate transfers between render targets within Vulkan format compatibility classes by using different views directly.
2022-04-03 16:40:29 +03:00
Triang3l
1131dff705 Merge branch 'master' into vulkan 2022-03-28 21:58:34 +03:00
Triang3l
0f3207d019 [Vulkan] Fix basePipelineIndex signedness 2022-03-28 21:57:44 +03:00
Triang3l
328aa11283 Merge branch 'master' into vulkan 2022-03-27 00:11:45 +03:00
Triang3l
2cd6c31998 [Vulkan] Samplerless texelFetch 2022-03-27 00:09:44 +03:00
Triang3l
fa62d395fd [Vulkan] InitializeSubresourceRange: Use return, not reference 2022-03-22 21:51:02 +03:00
Triang3l
1259c9f7a2 [Vulkan] Pipeline barrier merging 2022-03-21 23:02:51 +03:00
Triang3l
c75e0dd19e [Vulkan] Blend and depth/stencil state, small pipeline cleanup 2022-02-15 23:00:21 +03:00
Triang3l
09f6081b16 [Vulkan] Fix shader bytecode path in premake5.lua 2022-02-13 23:29:46 +03:00
Triang3l
b8c9d5bb8c Merge branch 'master' into vulkan 2022-02-13 23:25:39 +03:00
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
e447cf6ed8 Merge branch 'master' into vulkan 2022-02-07 22:22:43 +03:00
Triang3l
4480437a3d [SPIR-V] xb genspirv > buildshaders + opt + remap + .xesl 2022-02-05 17:07:07 +03:00
Triang3l
922efb13ce Merge branch 'master' into vulkan 2022-02-03 21:12:10 +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
ecccd02f8a Merge branch 'master' into vulkan 2021-09-12 14:10:36 +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
Triang3l
270469d4d4 [Vulkan] Basic framebuffer output 2021-06-19 14:16:24 +03: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
1e818dca4b [Vulkan] Include Vulkan Android header and fix some warnings 2020-11-19 11:38:20 +03:00
Triang3l
715d614f5e [Vulkan] Float controls properties 2020-11-15 15:08:50 +03:00
Triang3l
65c8d2b28e [Vulkan] Basic draw call architecture + [D3D12] Some cleanup 2020-11-14 14:16:04 +03:00
Triang3l
93f6a00201 [Vulkan] Transient descriptor pool + other cleanup for future drawing 2020-11-07 23:18:28 +03:00
Triang3l
8665fa7517 [SPIR-V] Vertex index writing to r0.x 2020-11-03 23:31:52 +03:00
Triang3l
52a8ed8e6d [SPIR-V] Version, float controls 2020-10-31 16:22:15 +03:00
Triang3l
afcf3c27c0 [Vulkan] Per-frame swapchain semaphores 2020-10-18 19:23:34 +03:00
Triang3l
1de144938c [SPIR-V] Main loop blocks, validation 2020-10-16 19:55:41 +03:00