D3D11 #52

Open
cosmonaut wants to merge 98 commits from d3d11 into abi_break

98 Commits (main)

Author SHA1 Message Date
cosmonaut 856a7004ae DiscardView is broken on cubemap faces so whatever
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2024-03-07 00:16:11 -08:00
cosmonaut a80f3f40dd more d3d11 constant buffer fixes
continuous-integration/drone/push Build is failing Details
2024-03-06 23:55:37 -08:00
cosmonaut 397e84fe4a workaround for broken d3d11 constant buffer updates
continuous-integration/drone/push Build is failing Details
2024-03-06 22:42:01 -08:00
cosmonaut d3d5a5a525 don't re-track transfer buffers on same command buffer
continuous-integration/drone/push Build is failing Details
2024-03-06 14:29:53 -08:00
cosmonaut 1dcf29eed4 fix texture 2d array SRV
continuous-integration/drone/push Build is failing Details
2024-03-06 14:17:55 -08:00
cosmonaut bb57528242 reduce transfer buffer alloc count + fix use after free 2024-03-06 14:17:43 -08:00
cosmonaut efd26f474a D3D11 discard in BeginRenderPass
continuous-integration/drone/push Build is failing Details
2024-03-06 11:32:23 -08:00
cosmonaut 5db754719a set msaaTargetView to NULL
continuous-integration/drone/push Build is failing Details
2024-03-06 00:03:55 -08:00
cosmonaut 75927137d6 implement D3D11 MSAA targets
continuous-integration/drone/push Build is failing Details
2024-03-05 23:55:04 -08:00
cosmonaut ded5dac60a 3d copy TODO
continuous-integration/drone/push Build is failing Details
2024-03-05 22:48:04 -08:00
cosmonaut 548c468cc9 release swapchain SRV on resize
continuous-integration/drone/push Build is failing Details
2024-03-05 22:45:47 -08:00
cosmonaut 45e7dde067 fix d3d11 transfer buffer allocation
continuous-integration/drone/push Build is failing Details
2024-03-05 22:41:07 -08:00
cosmonaut 23aed89ad9 more download fixes
continuous-integration/drone/push Build is failing Details
2024-03-05 22:24:33 -08:00
cosmonaut 953be4225c d3d11 swapchain texture handle + misc fixes
continuous-integration/drone/push Build is failing Details
2024-03-05 20:58:34 -08:00
cosmonaut 65c30350a7 fix Vulkan fence leak on download 2024-03-05 20:58:02 -08:00
cosmonaut 838b5df27b fix texture upload depth
continuous-integration/drone/push Build is failing Details
2024-03-05 17:54:50 -08:00
cosmonaut 52d4c934f3 modify readback API
continuous-integration/drone/push Build is failing Details
2024-03-05 17:30:20 -08:00
cosmonaut 6ebfabcecf fix compute uniform access 2024-03-05 16:31:41 -08:00
cosmonaut 01e805c800 fix render target view creation
continuous-integration/drone/push Build is failing Details
2024-03-05 16:18:31 -08:00
cosmonaut 6c2eef669e add correct defaults for buffer stride and buffer image height
continuous-integration/drone/push Build is failing Details
2024-03-05 16:06:39 -08:00
cosmonaut 3c74ddf8fa misc d3d11 fixes
continuous-integration/drone/push Build is failing Details
2024-03-05 15:45:41 -08:00
cosmonaut 5ed41a7de2 fill in a bit more d3d11 behavior
continuous-integration/drone/push Build is failing Details
2024-03-05 14:55:53 -08:00
cosmonaut 5c84debb50 implement d3d11 subresource tracking
continuous-integration/drone/push Build is failing Details
2024-03-05 12:27:38 -08:00
cosmonaut 128bd1f5f0 d3d11 copy pass implementation + filling in more APIs
continuous-integration/drone/push Build is failing Details
2024-03-04 18:01:37 -08:00
cosmonaut 52ac3e1980 implementing some transfer structure
continuous-integration/drone/push Build is failing Details
2024-03-04 11:29:23 -08:00
cosmonaut e01cab47ec D3D11 transfer buffer refcount and discard
continuous-integration/drone/push Build is failing Details
2024-03-03 11:27:48 -08:00
cosmonaut 16699e7ee3 implement D3D11 upload functions
continuous-integration/drone/push Build is failing Details
2024-03-03 10:58:44 -08:00
cosmonaut f61938011b draw and uniform push API change
continuous-integration/drone/push Build is failing Details
2024-03-02 23:33:36 -08:00
cosmonaut 172348e65f fix stencil API
continuous-integration/drone/push Build is failing Details
2024-03-02 23:11:37 -08:00
Caleb Cornett 8f2e70948d Fix infinite while loop in D3D11_INTERNAL_WaitForFence 2024-03-02 23:11:37 -08:00
Caleb Cornett e7d258dd36 Compute buffer creation fixes 2024-03-02 23:11:37 -08:00
Caleb Cornett 27b166dfde Move uav FIXME's to API FIXME's 2024-03-02 23:11:37 -08:00
Caleb Cornett 7274173b44 Add shader type to the .refresh shader bytecode format 2024-03-02 23:11:37 -08:00
Caleb Cornett c497402f1d Fix a few more FIXME's 2024-03-02 23:11:37 -08:00
Caleb Cornett 56f292f987 Note which FIXME's require a Refresh API update 2024-03-02 23:11:37 -08:00
Caleb Cornett 0a520f7a66 Combine swapchain and window data structs + actually allocate claimedWindows... 2024-03-02 23:11:37 -08:00
Caleb Cornett 4fe02e8571 FIXME fixups, mostly for contextLock 2024-03-02 23:11:37 -08:00
Caleb Cornett 539ee66d41 PresentMode fixes 2024-03-02 23:11:37 -08:00
Caleb Cornett 17f9322698 SetSwapchainPresentMode + other swapchain-y features from FNA3D D3D11 2024-03-02 23:11:37 -08:00
Caleb Cornett a5284ba0cd Fix non-MSAA cube RTs 2024-03-02 23:11:37 -08:00
Caleb Cornett 644763f004 MSAA for color and depth targets 2024-03-02 23:11:37 -08:00
Caleb Cornett b3addd6e0b SetTextureDataYUV 2024-03-02 23:11:37 -08:00
Caleb Cornett 95781e3378 Two typos in the same malloc... + cube RT fixes 2024-03-02 23:11:37 -08:00
Caleb Cornett 02aaf582d4 Fix copy-paste error from last commit 2024-03-02 23:11:37 -08:00
Caleb Cornett e3d112a971 Do some type shenanigans to allow depth textures to be sampled + fix viewport sizing logic 2024-03-02 23:11:37 -08:00
Caleb Cornett 9f78f83322 DepthStencilView creation + DS state fixes 2024-03-02 23:11:37 -08:00
Caleb Cornett 92f344d2f6 RTV overhaul to fix binding an RT with a specific depth/mip level 2024-03-02 23:11:37 -08:00
Caleb Cornett 0f2aacbae9 First rough pass at color RTs 2024-03-02 23:11:37 -08:00
Caleb Cornett dcac27b5d8 Use NO_OVERWRITE on uniform buffers after the initial WRITE_DISCARD + SetBufferData cleanup 2024-03-02 23:11:37 -08:00
Caleb Cornett c9b98c6e2b Fix repeated buffer writes by using USAGE_DEFAULT/UpdateSubresource instead of DYNAMIC/Map for non-uniform buffers 2024-03-02 23:11:37 -08:00
Caleb Cornett 557ce50737 PushComputeShaderUniforms + CreateComputePipeline fix 2024-03-02 23:11:37 -08:00
Caleb Cornett 11cbfca702 Actually compile compute shaders 2024-03-02 23:11:37 -08:00
Caleb Cornett f7fae4d314 GetBufferData 2024-03-02 23:11:36 -08:00
Caleb Cornett 508d077c26 QueueDestroyComputePipeline + style cleanup for QueueDestroyGraphicsPipeline 2024-03-02 23:11:36 -08:00
Caleb Cornett d76d223f68 Fence API 2024-03-02 23:11:36 -08:00
Caleb Cornett 105ef1aebb Clean up fence logic 2024-03-02 23:11:36 -08:00
Caleb Cornett 155d01ed92 Uniform buffer binding rework for clarity + minor cleanup 2024-03-02 23:11:36 -08:00
Caleb Cornett 06f00c77a0 First pass at fence infrastructure 2024-03-02 23:11:36 -08:00
Caleb Cornett 297b8b2cd2 First rough draft of Compute functions (untested!) 2024-03-02 23:11:36 -08:00
Caleb Cornett f598b65be5 DrawPrimitivesIndirect 2024-03-02 23:11:36 -08:00
Caleb Cornett 60a0ecab92 BindVertexSamplers 2024-03-02 23:11:36 -08:00
Caleb Cornett 4d11afa422 Fix 3D texture SRV creation, use UpdateSubresource1 to avoid bug with non-zero offsets on deferred contexts 2024-03-02 23:11:36 -08:00
Caleb Cornett 5d069f006d Fix fragment uniform buffer block calculation 2024-03-02 23:11:36 -08:00
Caleb Cornett e7be43e835 Fix device level check, fix ID3D11Device memory leak 2024-03-02 23:11:36 -08:00
Caleb Cornett b712bda8a3 Set up the DXGI Info Queue so we can filter messages without using DirectX Control Panel 2024-03-02 23:11:36 -08:00
Caleb Cornett 5f3dd6ba8a Add DXGIDebug logic to help track memory leaks, fix SRV leak it discovered 2024-03-02 23:11:36 -08:00
Caleb Cornett db6ad7fb6a Minor style cleanup 2024-03-02 23:11:36 -08:00
Caleb Cornett 0108b26d31 Fix a couple minor memory leaks 2024-03-02 23:11:36 -08:00
Caleb Cornett ca29f3b7da Release DLLs after releasing D3D11/DXGI objects (and release dxgi.dll!) 2024-03-02 23:11:36 -08:00
Caleb Cornett c9f23dd73b Fix degenerate InputLayout creation when creating graphics pipeline with no vertex attributes 2024-03-02 23:11:36 -08:00
Caleb Cornett a3c8ab6a55 Fixed uniform offsets, removed a bunch of code from cdefines.h 2024-03-02 23:11:36 -08:00
Caleb Cornett eb956a2f8b Uniform buffer infrastructure, still missing offset support 2024-03-02 23:11:36 -08:00
Caleb Cornett cdad57d1dd Fix texture conversion array 2024-03-02 23:11:36 -08:00
Caleb Cornett ce3b222529 Fix command buffer memory leak 2024-03-02 23:11:36 -08:00
Caleb Cornett 6a1c4ba80f CreateTexture, SetTextureData, BindIndexBuffer, BindFragmentSamplers, QueueDestroyTexture, DrawIndexedPrimitives, DrawInstancedPrimitives 2024-03-02 23:11:36 -08:00
Caleb Cornett a7bbc51653 Fix redundant error code printing 2024-03-02 23:11:36 -08:00
Caleb Cornett ba842d855e QueueDestroySampler 2024-03-02 23:11:36 -08:00
Caleb Cornett b906ec9c69 Add a border color conversion function 2024-03-02 23:11:36 -08:00
Caleb Cornett 7f4ddde607 CreateSampler 2024-03-02 23:11:36 -08:00
Caleb Cornett 15a73854b6 CreateBuffer, QueueDestroyBuffer, SetBufferData, BindVertexBuffers 2024-03-02 23:11:36 -08:00
Caleb Cornett abfdb2c7d9 Initial work on DestroyDevice 2024-03-02 23:11:36 -08:00
Caleb Cornett d7290c5e2b Implement SetViewport and SetScissor 2024-03-02 23:11:36 -08:00
Caleb Cornett 740fb56aa1 Style cleanups + added FIXME note for shader compilation 2024-03-02 23:11:36 -08:00
Caleb Cornett afeb7ebd16 shaderc now flips Y values in the vertex shader 2024-03-02 23:11:36 -08:00
Caleb Cornett 01cd001b07 DrawPrimitives, BindGraphicsPipeline, misc cleanup 2024-03-02 23:11:36 -08:00
Caleb Cornett dda7db1d92 Implement CreateShaderModule 2024-03-02 23:11:36 -08:00
Caleb Cornett f008408965 Pipeline creation copied over from old work + shaderc update 2024-03-02 23:11:36 -08:00
Caleb Cornett b74666a6d7 Fix for command pool crash, fix for hanging on Wait 2024-03-02 23:11:36 -08:00
Caleb Cornett acf64d51f0 Reworked Wait and Submit logic to use D3D11 Query objects as fences 2024-03-02 23:11:36 -08:00
Caleb Cornett acae35ebfa Stub out D3D11_Wait, fix crash when unclaiming windows, fix backend order 2024-03-02 23:11:36 -08:00
Caleb Cornett 0948537fe0 UnclaimWindow, swapchain destruction, fixed template signature 2024-03-02 23:11:36 -08:00
Caleb Cornett cbd8f4aee0 Implemented BeginRenderPass and Submit, ClearScreen works now! 2024-03-02 23:11:36 -08:00
Caleb Cornett dd9ae93696 More swapchain setup 2024-03-02 23:11:36 -08:00
Caleb Cornett 08ba467551 Apply swapchainDesc fix from FNA3D, add cdefines.h to CMakeLists 2024-03-02 23:11:36 -08:00
Caleb Cornett dd1060373d Implemented AcquireCommandBuffer (from old D3D11 work) 2024-03-02 23:11:36 -08:00
Caleb Cornett b9d7cec252 Implement ClaimWindow, mostly copied from Vulkan and FNA3D D3D11 2024-03-02 23:11:36 -08:00
Caleb Cornett 5385f02bbd Remove old stuff, flesh out PrepareDriver 2024-03-02 23:11:36 -08:00
Caleb Cornett d6378aba74 Groundwork for D3D11. Yoinked most of this from the prior work, but updated the ABI 2024-03-02 23:11:36 -08:00