Commit Graph

407 Commits (d3d11-revived)

Author SHA1 Message Date
Caleb Cornett e35efa4061 CreateBuffer, QueueDestroyBuffer, SetBufferData, BindVertexBuffers 2024-02-06 21:13:02 -06:00
Caleb Cornett 741d3ebcff Initial work on DestroyDevice 2024-02-06 21:13:02 -06:00
Caleb Cornett 0f1a2423d0 Implement SetViewport and SetScissor 2024-02-06 21:13:02 -06:00
Caleb Cornett 38d51cf6de Style cleanups + added FIXME note for shader compilation 2024-02-06 21:13:02 -06:00
Caleb Cornett 88ca03f213 shaderc now flips Y values in the vertex shader 2024-02-06 21:12:59 -06:00
Caleb Cornett 9b139cf672 DrawPrimitives, BindGraphicsPipeline, misc cleanup 2024-02-06 21:11:22 -06:00
Caleb Cornett 2cb678d9a1 Implement CreateShaderModule 2024-02-06 21:11:22 -06:00
Caleb Cornett afcfacb305 Pipeline creation copied over from old work + shaderc update 2024-02-06 21:11:22 -06:00
Caleb Cornett e47e7b2c75 Fix for command pool crash, fix for hanging on Wait 2024-02-06 21:11:22 -06:00
Caleb Cornett ce984f58d1 Reworked Wait and Submit logic to use D3D11 Query objects as fences 2024-02-06 21:11:22 -06:00
Caleb Cornett 413095923b Stub out D3D11_Wait, fix crash when unclaiming windows, fix backend order 2024-02-06 21:11:22 -06:00
Caleb Cornett e195e7f222 UnclaimWindow, swapchain destruction, fixed template signature 2024-02-06 21:11:22 -06:00
Caleb Cornett d7d89530de Implemented BeginRenderPass and Submit, ClearScreen works now! 2024-02-06 21:11:22 -06:00
Caleb Cornett f4c332f4e3 More swapchain setup 2024-02-06 21:11:22 -06:00
Caleb Cornett 1637401a8a Apply swapchainDesc fix from FNA3D, add cdefines.h to CMakeLists 2024-02-06 21:11:22 -06:00
Caleb Cornett 49c64a230f Implemented AcquireCommandBuffer (from old D3D11 work) 2024-02-06 21:11:22 -06:00
Caleb Cornett 13ae5dee54 Implement ClaimWindow, mostly copied from Vulkan and FNA3D D3D11 2024-02-06 21:11:22 -06:00
Caleb Cornett 951f124662 Remove old stuff, flesh out PrepareDriver 2024-02-06 21:11:22 -06:00
Caleb Cornett 547ed52305 Groundwork for D3D11. Yoinked most of this from the prior work, but updated the ABI 2024-02-06 21:11:22 -06:00
cosmonaut c99b4cdfa1 fix incorrect flag bit 2024-01-31 14:47:01 -08:00
cosmonaut 2803e6d94e force ignore device-local property if allocation failed 2024-01-31 14:36:02 -08:00
cosmonaut 30b5f1dd21 user-requested buffers are no longer host-visible 2024-01-31 14:26:40 -08:00
cosmonaut 4ce2d80f80 Intel doesn't like 1 byte buffers 2024-01-19 10:19:23 -08:00
cosmonaut 27e9c741f8 1.15.4 2024-01-15 22:34:31 -08:00
cosmonaut c10ca98ccd Remove some unused variables 2024-01-15 22:25:27 -08:00
cosmonaut d441424b7c Fix ANY_SHADER_READ_SAMPLED_IMAGE sync hazard 2024-01-15 21:41:36 -08:00
cosmonaut 55c77def69 Revert "Fix potential sync hazards (#49)"
This reverts commit 20636ec951.
2024-01-15 21:38:37 -08:00
cosmonaut 2634359b48 Texture size calculation fixes 2024-01-15 16:36:56 -08:00
cosmonaut 56e3eb2af5 1.15.3 2024-01-15 12:47:49 -08:00
cosmonaut 859fc3b9fa fix UBO buffer size 2024-01-13 23:45:07 -08:00
cosmonaut 05350a9332 UBO offsets should respect alignment 2024-01-13 23:39:58 -08:00
cosmonaut 760c29699f 1.15.2 2024-01-12 18:10:11 -08:00
cosmonaut 20636ec951 Fix potential sync hazards (#49)
We now do certain image layout transitions in the render pass instead of a barrier in EndRenderPass.

There is also an additional barrier on buffer uploads to prevent write-after-write hazard. It's a kludge on the fact that we're only tracking the most recent resource access.

Reviewed-on: MoonsideGames/Refresh#49
2024-01-12 18:10:11 -08:00
cosmonaut 7297eba889 Uniform buffers are now slices of dedicated allocs (#48)
This should fix an issue where draw calls could flicker if a defrag was in progress and a uniform buffer was being used.

Uniform buffer "pools" are now just a single dedicated VulkanBuffer, and the uniform buffer objects are offsets into that buffer.

Reviewed-on: MoonsideGames/Refresh#48
2024-01-13 01:41:12 +00:00
cosmonaut b72b0b5fde fix path quotes in shadercompiler 2024-01-11 16:26:08 -08:00
cosmonaut fa92e9e08a change dummy uniform buffer size to 1 2023-12-08 12:49:46 -08:00
cosmonaut 483c07f3a8 Vulkan: fix dummy UBOs becoming invalid after defrag 2023-12-05 12:22:40 -08:00
cosmonaut f01d5d817a Vulkan: fix some missed cleanup in DestroyDevice 2023-12-04 17:28:25 -08:00
cosmonaut 17aae46eae revert OSX deployment target to 10.9 2023-12-04 16:37:22 -08:00
cosmonaut 1b3e954da8 change render pass barriers to read-write 2023-11-09 11:00:19 -08:00
Evan Hemsley 0989e45f88 MoltenVK support 2023-10-14 22:14:00 -07:00
Evan Hemsley 6e6fec5224 bump OSX version to 10.15 2023-10-14 20:46:22 -07:00
cosmonaut 34b2e437de 1.15.1 2023-10-12 11:18:37 -07:00
cosmonaut d69bbbe818 fix Vulkan SDK include on Windows 2023-10-12 11:11:44 -07:00
cosmonaut 54a8ff122c Fix uniform buffers not tracking correctly 2023-10-12 11:11:27 -07:00
TheSpydog a15e26b124 Update Driver Template + Window Crash Fix (#46)
Some minor stuff that's cropped up from the D3D11 work so far. This PR updates the Driver_Template with the latest API, and also fixes a crash in the Vulkan driver -- if you acquired a swapchain texture from a window that had been destroyed, there was no null check before de-referencing the WindowData.

Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: MoonsideGames/Refresh#46
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2023-09-30 17:50:48 +00:00
cosmonaut 172fa83417 1.15.0 2023-09-18 23:12:01 -07:00
cosmonaut a3949528eb Fence API (#45)
Reviewed-on: MoonsideGames/Refresh#45
2023-09-19 06:11:20 +00:00
cosmonaut f55968814f 1.14.1 2023-07-31 16:14:53 -07:00
cosmonaut c978df6275 remove unused variables 2023-07-31 16:12:20 -07:00