Commit Graph

175 Commits

Author SHA1 Message Date
Philip Rebohle 727aa4d97e
[dxgi] Use VK_PRESENT_MODE_FIFO instead of MAILBOX 2018-01-30 08:53:00 +01:00
Philip Rebohle c0cd51764d
[dxgi] Remove SyncInterval implementation
Poorly tested, may cause trouble
2018-01-30 08:45:50 +01:00
Philip Rebohle 3144a57ade
[dxgi] Added typeless format flag 2018-01-28 18:06:08 +01:00
Philip Rebohle 650170b167
[general] Rename libraries
This allows the setup script to work without creating
symbolic links or moving the files around.
2018-01-21 11:38:19 +01:00
Grazvydas Ignotas d1ae152f60 Fix build on gcc6
Fixes build with mingw from ubuntu 17.10.
Missing C++17 features I guess.
2018-01-19 00:59:40 +02:00
Philip Rebohle 178a8c7c4b
[dxgi] Removed leftover debug message 2018-01-17 05:34:51 +01:00
Philip Rebohle ce129d4172
[dxgi] Fixed DXGI_FORMAT_A8_UNORM component mapping 2018-01-17 01:13:46 +01:00
Philip Rebohle 10269876e3 [dxgi] Initial fullscreen support
The implementation is highly experimental and may cause issues.
Tested with DXUT-based Microsoft SDK samples and Nier:Automata.
2018-01-13 18:56:15 +01:00
Philip Rebohle 745ded47e0 [dxgi] Removed remaining SDL code 2018-01-13 16:36:04 +01:00
Philip Rebohle 2b5bb16334 [dxgi] Removed SDL dependency from DxgiOutput 2018-01-13 16:32:46 +01:00
Philip Rebohle 96a97aa0c4 [dxvk] Added HUD
Experimental version of a HUD which displays information
about the hardware, driver version, and frames per second.
2018-01-13 03:53:33 +01:00
Philip Rebohle 5dd9fea011 [dxvk] Implemented input layout validation
Checks whether all input slots consumed by the vertex shader
are provided by the input layout, and disables rendering in
case the state validation fails. This should hopefully fix
GPU lockups in Nier:Automata.
2018-01-12 14:25:26 +01:00
Philip Rebohle 39b5d84d6a [dxgi] Added missing view type definition 2018-01-10 13:43:23 +01:00
Philip Rebohle d8574666cb [dxgi] Presenter now sets depth/stencil state properly 2018-01-01 23:00:07 +01:00
Philip Rebohle 4412f2f5ff [dxgi] Reimplemented parts of DxgiSwapchain with win32 APIs
This solves issues in applications that create more than one
swap chain for a given window, and helps applications that
don't like SDL interference in general. Fullscreen support
is currently missing entirely.
2017-12-31 00:23:34 +01:00
Philip Rebohle 1373fe5fcc [dxbc] Implemented bufinfo instruction 2017-12-30 01:26:37 +01:00
Philip Rebohle 660ac25b18 [dxgi] ... 2017-12-29 22:54:10 +01:00
Philip Rebohle 298eeedcc4 [dxbc] Implemented round instructions
Also fixed potential numerical stability issues in with min/max
instructions and saturation when an operand is NaN.
2017-12-29 19:26:59 +01:00
Philip Rebohle c3ccc1a5c7 [dxgi] Fixed resource lifetime issue in presenter 2017-12-27 15:55:46 +01:00
Philip Rebohle 82b2c40405 [dxvk] Simplified resource binding
The backend no longer differentiates between compute pipeline
resources and graphics pipeline resources.
2017-12-23 15:11:23 +01:00
Philip Rebohle 41d660f220 [spirv] Added image operand structure for more flexible sample ops 2017-12-20 20:21:44 +01:00
Philip Rebohle 659ec7b59d [d3d11] Added DXGI format properties 2017-12-20 14:54:24 +01:00
Philip Rebohle 5415b685de [dxbc] Implemented type conversion instructions 2017-12-19 18:12:18 +01:00
Philip Rebohle 2c5b1c151f [d3d11] Refactored texture creation 2017-12-19 16:01:50 +01:00
Philip Rebohle f2587ab1b6 [dxgi] Implemented separate color/depth format tables
This is required because in D3D11, typeless formats can be used
to create both depth and stencil images, and color formats can
be used to view depth images. In Vulkan, images and views that
are used as depth-stencil attachments will have to be created
with a depth-stencil format, so we have to take the image's
bind flags into account when picking a format.
2017-12-19 14:47:35 +01:00
Philip Rebohle ebabc0e578 [dxvk] Implemented proper swap chain synchronization 2017-12-16 21:30:48 +01:00
Philip Rebohle 9827ace3b0 [d3d11] Fixed buffer bindings with non-zero offsets 2017-12-14 19:07:08 +01:00
Philip Rebohle 2a266eaad4 [general] Added 32-bit support 2017-12-12 12:50:52 +01:00
Philip Rebohle 5f0e94138e [dxvk] Implemented support for multisampled images and render targets 2017-12-12 00:27:49 +01:00
Philip Rebohle 68ca71d8a4 [dxvk] Implemented recycling of command buffers and staging buffers 2017-12-11 19:17:08 +01:00
Philip Rebohle 4144e3229a [d3d11] Implemented blend state creation 2017-12-11 13:03:07 +01:00
Philip Rebohle 4a3b04f605 [dxgi] Mapping DXGI's RGBX formats fo Vulkan RGBA formats, needs testing 2017-12-10 19:47:38 +01:00
Philip Rebohle 52f1c4fa00 [dxvk] Implemented staging buffers for large data transfers 2017-12-10 15:57:51 +01:00
Philip Rebohle c92d68417e [dxgi] Bumped DxgiDevice to IDXGIDevice1 2017-12-09 14:45:52 +01:00
Philip Rebohle 4a0ff5343a [dxgi] Added more format mappings 2017-12-09 14:41:37 +01:00
Philip Rebohle b49815657e [dxvk] Refactored blend state 2017-12-08 01:06:48 +01:00
Philip Rebohle 84605a1310 [dxvk] Refactored input layout state 2017-12-08 00:44:58 +01:00
Philip Rebohle 385c92db5a [dxvk] Refactoring of most constant state objects 2017-12-08 00:02:43 +01:00
Philip Rebohle b7e263fc73 [dxbc] Added highly experimental shader input/output interface code 2017-12-07 16:29:34 +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 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 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 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 f1ee761290 [dxgi] DxgiPresenter now picks format depending on swap chain format 2017-12-04 22:21:02 +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 ac2d16599c [d3d11] Implemented proper feature tests 2017-12-02 16:47:06 +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 4e39ef859b [dxvk] More convenient command list assignment API 2017-12-01 10:08:49 +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 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 ad9f71fa02 [dxgi] Implemented DxgiSwapChain::GetBuffer and more of Present 2017-11-29 07:55:44 +01:00
Philip Rebohle 0cdc13d785 [dxgi] Renamed private DXGI interfaces 2017-11-27 15:51:53 +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 c095fab1c9 [dxvk] Fixed interface queries 2017-10-15 21:50:45 +02:00
Philip Rebohle 89a70b132d [dxgi] Added DxgiSwapChain stub 2017-10-11 16:22:13 +02:00
Philip Rebohle 5d99a37d69 [dxgi] Implemented DxgiDevice 2017-10-11 15:31:36 +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