Commit Graph

2278 Commits

Author SHA1 Message Date
Philip Rebohle 5bf4ae7048 [d3d11] Initial work on buffer creation 2017-12-07 13:18:12 +01:00
Philip Rebohle 1f89452014 [d3d11] Implemented input layout creation 2017-12-07 12:45:02 +01:00
Philip Rebohle f33acf7334 [dxvk] Modified interface to accept dynamic vertex buffer strides 2017-12-07 11:39:59 +01:00
Philip Rebohle bf17c61579 [d3d11] Implemented shader binding 2017-12-07 10:12:48 +01:00
Philip Rebohle 93c719cadf [dxvk] Reintroduced dirty pipeline state flag 2017-12-07 09:44:45 +01:00
Philip Rebohle 19851c8432 [dxvk] Re-implemented pipeline creation within the backend 2017-12-07 09:38:31 +01:00
Philip Rebohle e95dc64c77 [dxgi] Removed unused members from DxgiSwapChain 2017-12-07 00:56:13 +01:00
Philip Rebohle ddb1627985 [d3d11] D3D11DeviceChild subclasses must not store strong references to their parent device 2017-12-07 00:55:21 +01:00
Philip Rebohle 69b938118d [general] Fixed write conflicts in logger 2017-12-06 23:36:11 +01:00
Philip Rebohle f794d6c398 [dxgi] Fixed SRGB format feature requirements 2017-12-06 23:28:07 +01:00
Philip Rebohle bcb193a7fc [d3d11] Removed unnecessary feature requirement 2017-12-06 19:14:59 +01:00
Philip Rebohle 5944410d2c [tests] Removed dxvk dependency for d3d11 and dxgi tests 2017-12-06 19:06:23 +01:00
Philip Rebohle dece62c70a [d3d11] Implemented basic shader creation methods 2017-12-06 18:54:01 +01:00
Philip Rebohle 9017af51ec [utils] Added SHA-1 implementation for shader code hashing 2017-12-06 18:13:51 +01:00
Philip Rebohle 8934ab0fc7 [d3d11] Added stubs for shader classes 2017-12-06 14:16:14 +01:00
Philip Rebohle c7e1131864 [d3d11] Implemented rasterizer state creation 2017-12-06 13:16:54 +01:00
Philip Rebohle f990fcaa01 [d3d11] Implemented rasterization state and viewports 2017-12-06 12:11:59 +01:00
Philip Rebohle fadcac5a8e [dxgi] Fixed swap chain issue in ResizeTargets 2017-12-05 15:24:58 +01:00
Philip Rebohle 77ca0a84b7 Revert "[dxgi] Removed SDL dependencies from DxgiSwapChain"
This reverts commit 245ba75123.
2017-12-05 15:20:03 +01:00
Philip Rebohle 245ba75123 [dxgi] Removed SDL dependencies from DxgiSwapChain 2017-12-05 14:43:03 +01:00
Philip Rebohle 34ed79dacc [dxvk] Added explicit image flags 2017-12-05 14:41:58 +01:00
Philip Rebohle af30fb3c25 [dxgi] CreateDXGIFactory now accepts IDXGIFactory1 as a target interface 2017-12-05 14:05:18 +01:00
Philip Rebohle e0df25a7c5 [dxvk] Implemented proper image memory barriers 2017-12-05 13:00:06 +01:00
Philip Rebohle 7c1064e3eb [d3d11] Moved render target state to OM state struct 2017-12-05 12:59:35 +01:00
Philip Rebohle f1ee761290 [dxgi] DxgiPresenter now picks format depending on swap chain format 2017-12-04 22:21:02 +01:00
Philip Rebohle 365f992a97 [d3d11] CreateRenderTargetView now uses proper format 2017-12-04 13:47:18 +01:00
Philip Rebohle cf33315c0c [d3d11] Some cleanup work 2017-12-04 13:39:37 +01:00
Philip Rebohle 60992143b1 [dxvk] Added render target queries for framebuffers 2017-12-04 13:39:14 +01:00
Philip Rebohle 9fa6592b7d [dxgi] Added initial support for format conversion 2017-12-04 11:33:04 +01:00
Philip Rebohle 1b77d58a2a [dxgi] Fixed hardcoded swap chain format 2017-12-03 21:36:44 +01:00
Philip Rebohle b5d068366d [dxvk] Implemented shader resource binding 2017-12-03 20:23:26 +01:00
Philip Rebohle a6bf7659b0 [dxvk] Refactored shader binding, client APIs must now create pipelines and pipeline layouts 2017-12-03 00:40:58 +01:00
Philip Rebohle 7ec8e727d2 [d3d11] Device creation now logs requested feature levels 2017-12-02 19:07:48 +01:00
Philip Rebohle ac2d16599c [d3d11] Implemented proper feature tests 2017-12-02 16:47:06 +01:00
Philip Rebohle e051498621 [d3d11] Added enum to stringfunctions 2017-12-02 16:46:53 +01:00
Philip Rebohle 7de5a727ad [dxgi] Added proper initialization of the swap chain back buffer 2017-12-02 11:46:25 +01:00
Philip Rebohle 57821db900 [dxvk] Added image init functions to context 2017-12-01 17:52:05 +01:00
Philip Rebohle 802fbe3cfd [dxvk] Some minor refactoring 2017-12-01 14:27:53 +01:00
Philip Rebohle cc408e3329 [dxvk] Barrier interface cleanup 2017-12-01 10:51:58 +01:00
Philip Rebohle c936709aec [dxvk] Moved context flags out of context state object 2017-12-01 10:27:33 +01:00
Philip Rebohle 4e39ef859b [dxvk] More convenient command list assignment API 2017-12-01 10:08:49 +01:00
Philip Rebohle 27905d0711 [dxvk] Removed Recorder interface and deferred context 2017-12-01 09:50:47 +01:00
Philip Rebohle 004bc88e0c [d3d11] ClearRenderTargetView now handles unbound images as well 2017-12-01 00:52:39 +01:00
Philip Rebohle 4b6d8264e7 [dxvk] Added method to clear images that are not bound for rendering 2017-12-01 00:52:13 +01:00
Philip Rebohle 5acc65504f [dxgi] Added DxgiPresenter to render back buffers to the swap chain 2017-11-29 21:46:09 +01:00
Philip Rebohle b389c9ea1f [d3d11] Experimental implementation of OMSetRenderTargets and ClearRenderTargetView 2017-11-29 20:19:40 +01:00
Philip Rebohle b35f0c64b4 [dxgi] Refactored swap chain <-> device communication 2017-11-29 16:23:33 +01:00
Philip Rebohle 33dc4583fb [dxgi] Fixed resource interface queries 2017-11-29 15:33:25 +01:00
Philip Rebohle a956c1b8ac [dxgi] Added DxgiResource for image and buffer creation 2017-11-29 15:16:07 +01:00
Philip Rebohle 9fedd0187b [dxgi] Implemented back buffer creation 2017-11-29 08:29:12 +01:00
Philip Rebohle 5bd3fdc11a [dxvk] Added documentation to image view and image create info structs 2017-11-29 08:28:45 +01:00
Philip Rebohle ad9f71fa02 [dxgi] Implemented DxgiSwapChain::GetBuffer and more of Present 2017-11-29 07:55:44 +01:00
Philip Rebohle 0c3a68c519 [d3d11] D3D11Texture2D stub 2017-11-27 15:52:24 +01:00
Philip Rebohle 0cdc13d785 [dxgi] Renamed private DXGI interfaces 2017-11-27 15:51:53 +01:00
Philip Rebohle c572a9c393 [dxvk] Implemented image creation 2017-11-27 12:01:35 +01:00
Philip Rebohle 0e5cae826f [dxgi] DXVK swap chain creation plus some experimental Present code 2017-11-26 18:38:50 +01:00
Philip Rebohle 187c5aa092 [dxgi] DxgiAdapter::GetDesc now returns correct adapter name 2017-11-26 16:18:32 +01:00
Philip Rebohle f5dd030074 [dxgi] Implemented IDXGIFactory1 and IDXGIAdapter1 extensions 2017-11-26 16:12:11 +01:00
Philip Rebohle 26e662e12c [dxgi] Implemented SDL-backed DxgiSwapChain methods 2017-11-26 15:29:57 +01:00
Philip Rebohle f3a37068bb [dxgi] Implemented DxgiSwapChain interface queries 2017-11-26 14:02:08 +01:00
Philip Rebohle f924931d2d [general] Removed TRACE calls for now 2017-11-26 14:01:41 +01:00
Philip Rebohle c82bddb932 [dxvk] Added buffer copy and initial buffer barriers 2017-11-26 13:24:01 +01:00
Philip Rebohle d225744c98 [d3d11] Wired up draw calls and dispatch calls to the underlying DXVK context 2017-11-23 14:24:23 +01:00
Philip Rebohle 64d9ad0027 [dxvk] Added dispatch call 2017-11-23 14:24:00 +01:00
Philip Rebohle 47bdf9408b [dxvk] Added buffer view class 2017-11-21 19:50:57 +01:00
Philip Rebohle a47ebd6ed5 [dxvk] Proper blend state and viewport state setup 2017-11-20 15:35:29 +01:00
Philip Rebohle 8bb0325928 [dxvk] Implemented graphics pipeline creation 2017-11-20 14:11:09 +01:00
Philip Rebohle a9a03fec69 [dxvk] DxvkShader creates a VkShaderModule again 2017-11-20 14:03:00 +01:00
Philip Rebohle a895b0159b [dxvk] Added constant state object binding functions 2017-11-20 13:38:24 +01:00
Philip Rebohle ae0c186f26 [dxvk] Implemented constant state objects 2017-11-20 13:21:27 +01:00
Philip Rebohle 745466652c [dxvk] Removed shader resource slots for now, needs work 2017-11-18 10:42:27 +01:00
Philip Rebohle a84e2eabc2 [dxvk] Restructured state tracker again 2017-11-17 19:49:44 +01:00
Philip Rebohle abc0e98761 [dxbc] Added result modifiers, simple add instruction 2017-11-17 11:41:56 +01:00
Philip Rebohle 4c0404d3c6 [dxbc] Removes shader input/output interfaces for now, needs more work 2017-11-17 11:41:46 +01:00
Philip Rebohle cded7726a7 [dxbc] Added pixel shader code generator stub 2017-11-16 02:07:10 +01:00
Philip Rebohle 5d26f0fb0c [dxbc] Implemented operand modifiers and load/store stuff 2017-11-16 01:30:17 +01:00
Philip Rebohle 901abe4356 [dxbc] Implemented some very basic load/store operations 2017-11-13 02:07:13 +01:00
Philip Rebohle 43dfba2287 [dxbc] Separate code generator classed for each shader type 2017-11-13 00:22:52 +01:00
Philip Rebohle 403ab75aeb [dxbc] More sophisticated component mask/swizzle classes 2017-11-07 15:11:09 +01:00
Philip Rebohle 4052951542 [dxbc] Removed most of the DXBC compiler again 2017-11-07 15:10:38 +01:00
Philip Rebohle 9cdc341946 [dxbc] Some shader signature stuff 2017-11-01 16:43:04 +01:00
Philip Rebohle 72f353074f [dxbc] Initial xSGN chunk implementation 2017-11-01 00:01:40 +01:00
Philip Rebohle bc8cc76888 [dxbc] Added operand index decoder, entry point declaration 2017-10-29 02:35:16 +02:00
Philip Rebohle f5ad024f5d [dxbc] Implemented temporary register declarations 2017-10-26 16:32:10 +02:00
Philip Rebohle 200da4cf60 [spirv] Added SpirvModule class to generate SPIR-V code 2017-10-26 15:40:39 +02:00
Philip Rebohle 294586eeb3 [dxbc] Instruction decoder work 2017-10-25 13:49:13 +02:00
Philip Rebohle 79e2236958 [dxbc] Some more decoding stuff 2017-10-22 23:13:29 +02:00
Philip Rebohle 6954cfd84c [dxbc] Added helper classes for DXBC decoding 2017-10-21 17:58:58 +02:00
Philip Rebohle 1bf05d3687 [spirv] Moved SPIR-V-specific stuff to separate directory 2017-10-18 10:36:47 +02:00
Philip Rebohle 72a87093c5 [dxvk] Moved some SPIR-V bits to separate directory 2017-10-18 09:50:30 +02:00
Philip Rebohle c1e9d3236f [dxbc] Added type info struct 2017-10-17 13:02:57 +02:00
Philip Rebohle 77f38c33c4 [dxvk] Removed DxvkDevice::createShader method 2017-10-16 20:42:32 +02:00
Philip Rebohle 0a57a4ddf5 [dxbc] Figuring out how to best generate SPIR-V module code 2017-10-16 19:53:17 +02:00
Philip Rebohle aebe359509 [dxvk] Added ID counter for SPIR-V code generation 2017-10-16 19:52:54 +02:00
Philip Rebohle 8728e6e101 [d3d11] Build with DXBC compiler 2017-10-16 17:50:39 +02:00
Philip Rebohle bb5b588d23 [dxbc] Added DXBC to SPIR-V compiler stub 2017-10-16 17:50:09 +02:00
Philip Rebohle 6e27b7c0cc [d3d11] Added buffer creation (incomplete) 2017-10-16 10:37:01 +02:00
Philip Rebohle c095fab1c9 [dxvk] Fixed interface queries 2017-10-15 21:50:45 +02:00
Philip Rebohle b0517b16f0 [d3d11] Fixed interface queries 2017-10-15 21:50:34 +02:00
Philip Rebohle ea15f22492 [d3d11] Added buffer stub 2017-10-15 21:38:09 +02:00
Philip Rebohle 2c3674190a [dxvk] Implemented proper resource binding 2017-10-15 19:23:10 +02:00
Philip Rebohle e433c01ad4 [dxvk] Some more work on shader resources and resource bindings 2017-10-15 17:56:06 +02:00
Philip Rebohle 44d9bd9000 [dxvk] Added buffer creation 2017-10-15 14:36:41 +02:00
Philip Rebohle e9eefbb3e7 [dxvk] Added graphics pipeline stub 2017-10-15 13:02:59 +02:00
Philip Rebohle bccf3d254c [dxvk] Implemented pipeline manager 2017-10-15 02:03:07 +02:00
Philip Rebohle 883ae9f39d [dxvk] Added pipeline manager stub 2017-10-14 23:52:47 +02:00
Philip Rebohle 6e057b2b53 [dxvk] Command list now implements DxvkRecorder 2017-10-14 14:28:31 +02:00
Philip Rebohle d97ccb82d6 [dxvk] Added deferred command list stub 2017-10-14 14:28:06 +02:00
Philip Rebohle 77383fa220 [dxvk] Added recorder interface 2017-10-14 13:45:43 +02:00
Philip Rebohle b67d952e63 [dxvk] Added compute pipeline stub 2017-10-14 13:45:00 +02:00
Philip Rebohle 5c932f14d6 [dxvk] Added shader interface 2017-10-14 13:44:38 +02:00
Philip Rebohle 921abce1b3 [dxvk] Added limit constants 2017-10-14 13:37:40 +02:00
Philip Rebohle 764220db98 [dxvk] Added shader stub, improved state tracking code 2017-10-13 03:19:23 +02:00
Philip Rebohle 94af8140d2 [dxvk] DxvkContext now supports clears and actual state tracking 2017-10-11 23:29:05 +02:00
Philip Rebohle 20048db69d [dxvk] Added shader module 2017-10-11 23:28:06 +02:00
Philip Rebohle 56ed80621d [util] Flag class 2017-10-11 21:44:02 +02:00
Philip Rebohle 89a70b132d [dxgi] Added DxgiSwapChain stub 2017-10-11 16:22:13 +02:00
Philip Rebohle 024d69784d [d3d11] Implemented basic device creation 2017-10-11 15:32:24 +02:00
Philip Rebohle 9b09184c9a [dxvk] Adapter can now be retrieved from the device 2017-10-11 15:32:05 +02:00
Philip Rebohle 5d99a37d69 [dxgi] Implemented DxgiDevice 2017-10-11 15:31:36 +02:00
Philip Rebohle c7680dea2a [d3d11] Added D3D11 stubs 2017-10-11 09:51:48 +02:00
Philip Rebohle fce424ccfe Minor 2017-10-11 09:51:22 +02:00
Philip Rebohle 7e4e7dd395 [dxgi] Moved private storage out of DXGI library 2017-10-11 09:41:19 +02:00
Philip Rebohle bed6d23e7f [dxgi] Implemented some DXGI classes 2017-10-11 03:09:04 +02:00
Philip Rebohle 9b8fda512a [dxvk] Added COM helpers 2017-10-11 00:41:56 +02:00
Philip Rebohle 2ee51ea4b2 [dxvk] Added debug tracing 2017-10-11 00:27:33 +02:00
Philip Rebohle 46845e60be [dxvk] Re-implemented logger 2017-10-10 23:44:06 +02:00
Philip Rebohle 00e63d71a9 Initial commit 2017-10-10 23:32:13 +02:00