1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-11 19:24:11 +01:00
Commit Graph

1094 Commits

Author SHA1 Message Date
Philip Rebohle
d2ca721387
[dxbc] Reworked Hull Shader phase invocations
Instead of running individual phases sequentially, we can
run them in parallel if execution barriers are in place.
2018-03-06 15:05:58 +01:00
Philip Rebohle
87afb33228
[dxbc] Implemented Hull Shader output setup 2018-03-06 14:49:11 +01:00
Philip Rebohle
988aaa0161
[dxbc] Implemented Hull Shader output variables 2018-03-06 14:00:03 +01:00
Philip Rebohle
13331a463f
[d3d11] Re-implement check for mapping device-local images 2018-03-06 11:35:12 +01:00
Philip Rebohle
b2f5b262f7
[dxbc] Added support for the control point phase in Hull Shaders 2018-03-05 17:23:00 +01:00
Philip Rebohle
4688b2cc5a
[dxbc] Formatting fixes + Hull shader barriers 2018-03-05 16:14:46 +01:00
Philip Rebohle
96ca9fa6ea
[dxbc] Fixed tessellation factor enums 2018-03-05 15:02:17 +01:00
Philip Rebohle
1cbe6829eb
Revert "Add MSVC support (#123)"
This reverts commit c63d4361a0.
2018-03-05 14:32:28 +01:00
Mikhail Paulyshka
c63d4361a0 Add MSVC support (#123)
* [utils] fixes for MSVC

* __mingw_uuidof() does not exists in MSVC
* apply GCC pragma only for GCC
* added missing header

* [dxvk] fixes for MSVC

* nullptr -> int is illegal conversion for MSVC. nullptr was replaced with VK_NULL_HANDLE
* MSVC does not support source code strings longer than 65535 chars. String was replaced with array of chars.

* [dxbc] fixes for MSVC

*added missing header

* [dxgi] fixes for MSVC

* user __declspec(uuid()) instead of _mingw_uuidof()

* [d3d11] fixes for MSVC

* replace WINBOOL with BOOL
* do not declare D3D11 structs

* [meson] fix build scripts for MSVC

* change cpp version from 1z to 17 for MSVC
* set -DOMINMAX definition for MSVC
* disable test and wine_utils for MSVC
* use .def files instead of __declspec(dllexport) (bypass 'C2375: redefinition; different linkage' error)
2018-03-05 14:28:51 +01:00
Philip Rebohle
5035cf4e58
Merge pull request #126 from pchome/patch-3
[tests] Simplified dxbc disasm test
2018-03-05 14:08:59 +01:00
Philip Rebohle
3501186d38
[dxbc] Added tess level interface variables 2018-03-05 14:07:15 +01:00
pchome
f6bcd7438d
[tests] Simplified dxbc disasm test
* Avoid buggy wstring conversion
* Native `D3DReadFileToBlob()` and `D3DWriteBlobToFile()` used
* Extended to be able write to file directly
2018-03-05 15:04:30 +02:00
Philip Rebohle
5f3bfde727
[general] Updated README on wine 3.3 2018-03-05 12:29:21 +01:00
Philip Rebohle
484308347a
[d3d11] Treat D3D11SamplerState as state object 2018-03-05 02:21:34 +01:00
Philip Rebohle
7a6e20f3a8
[d3d11] Fixed CheckMultisampleQualityLevels return values 2018-03-05 01:08:26 +01:00
Philip Rebohle
9ede325c5b
Merge branch 'master' of https://github.com/doitsujin/dxvk 2018-03-05 01:07:58 +01:00
Mikhail Paulyshka
6c62d7608e [d3d11] add stub for ID3DUserDefinedAnnotation (#122)
* [d3d11] D3D11DeviceContext::QueryInterface: log missing GUID

* [d3d11] suppress warnings for ID3DUserDefinedAnnotation and ID3D11Debug
2018-03-05 01:07:09 +01:00
Philip Rebohle
e8e5739978
[d3d11] Fixed potential crashes in InitImage/InitBuffer 2018-03-03 23:33:55 +01:00
Philip Rebohle
52f6ba1756
[dxvk] Fixed D3D11CreateDeviceAndSwapChain bug
Some applications may want to create a swap chain
without specifying a device or context pointer.
2018-03-03 23:15:15 +01:00
Philip Rebohle
c5bbf2d989
[d3d11] Fixed FinishCommandList
- ppCommandList is optional.
- We need to call RestoreState in order to set up the current context
  state for the new command list.
2018-03-03 22:28:30 +01:00
Philip Rebohle
82ac381919
[d3d11] Move framebuffer creation out of OMSetRenderTargets
This might be useful when restoring context state.
2018-03-03 22:15:41 +01:00
Philip Rebohle
b469cfac0b
[d3d11] Implemented FinishCommandList/ExecuteCommandList 2018-03-03 20:59:17 +01:00
Mikhail Paulyshka
3f8c2b0f9c [dxgi] implement CreateDXGIFactory2 (#120) 2018-03-03 20:10:51 +01:00
Philip Rebohle
9f01ad1f7f
[dxvk] Fix typo 2018-03-02 17:28:17 +01:00
Philip Rebohle
49d2cee930
[dxvk] Fix Nvidia driver version number 2018-03-02 16:35:28 +01:00
Philip Rebohle
349817c52e
[dxvk] Do not enable HUD if DXVK_HUD is 0
Fixes #107.
2018-03-02 10:36:46 +01:00
ZeroFault
fae9916708 Debug logging for compute shaders (#115)
* Add debug logging for compute shaders

* remove redundant nullptr check
2018-03-02 10:33:06 +01:00
Philip Rebohle
e0fbfdf0e2
[dxvk] Use linked list for CS chunks
Improves memory efficiency and CPU overhead of the CSMT implementation
when the average number of bytes per command entry is less than 64 bytes.
2018-03-02 10:31:08 +01:00
Philip Rebohle
3dea58dabc
[dxbc] Implemented more tessellation-related declarations 2018-03-01 14:36:17 +01:00
Philip Rebohle
feba1f0e88
[dxbc] Implemented Hull Shader control point count declarations 2018-03-01 12:47:24 +01:00
Philip Rebohle
0916115086
[dxbc] Implemented Hull Shader fork/join phase invocations 2018-03-01 12:08:06 +01:00
Philip Rebohle
868e55ede7
[dxgi] Added support for 422 formats
Untested, but should fix error messages in some engines.
2018-03-01 10:45:46 +01:00
Philip Rebohle
0e9b7d7ccd
[dxbc] Implemented new workaround for depth-compare ops on Nvidia 2018-03-01 10:11:15 +01:00
Philip Rebohle
c21ebd72ef
Merge branch 'tessellation'
Dropping the branch because it won't actually break anything.
This is obviously not a complete implementation yet.
2018-03-01 09:34:00 +01:00
Philip Rebohle
d185977918
[dxbc] Implemented Hull shader function declarations 2018-03-01 09:26:17 +01:00
Philip Rebohle
83eb34d71c
[dxvk] Replaced exception by error message 2018-03-01 08:23:55 +01:00
Philip Rebohle
dbe3662bfc
[dxvk] Fixed potential memory allocation issue 2018-03-01 07:29:05 +01:00
Philip Rebohle
d74db72add
[d3d11] Implemented CSGetUnorderedAccessViews 2018-03-01 07:02:39 +01:00
Philip Rebohle
d0db88ee62
[dxbc] Implemnted some HS/DS stubs 2018-03-01 07:00:54 +01:00
Philip Rebohle
bdfbd3e81c
[dxvk] Implemented new workaround for query-related lockups
vkGetQueryPoolResults may never return if VK_QUERY_RESULT_WAIT_BIT is
set, and may return queries as not available when they should in fact
be available. This would cause indefinite hangs, so instead we return
fake data to query objects if retrieving query data fails.
2018-02-28 12:39:16 +01:00
Philip Rebohle
a5706254d5
[dxbc] Do not emit depth image types for integer images 2018-02-28 06:51:13 +01:00
Philip Rebohle
8bfd12067a
[dxbc] Remove packDrefValueIntoCoordinates hack
Causes more issues than it solves when the coordinate vector
gets too big.
2018-02-28 06:44:55 +01:00
Philip Rebohle
fcb2b6d2d8
[dxbc] Use signed integers for bit insert/extract ops
Fixes a crash with the Nvidia driver.
2018-02-28 06:44:27 +01:00
Philip Rebohle
97409c3380
[dxvk] Added workaround for RADV query problem
In some cases, this should allow games which use occlusion queries
to run rather than enter an infinite loop in GetData().
2018-02-28 06:12:31 +01:00
Philip Rebohle
e5c0030f06
[dxvk] Fall back to host memory if no device memory is available 2018-02-27 12:36:44 +01:00
Philip Rebohle
757bb2bad7
[dxvk] Mark events and queries as available by default
Fixes a lockup in World of Warships, which waits for an event query
to be signaled without actually ever calling End() for that query.
2018-02-27 10:14:53 +01:00
Philip Rebohle
dc67cf730e
[d3d11] Add exception handling to CreateTexture* methods 2018-02-27 08:54:24 +01:00
Philip Rebohle
43b7e84bb5
[d3d11] Return fake tessellation shader obejects to the application
Prevents crashes in applications that use domain and hull shaders for
more than just rendering. Allows Fallout 4 tp run.
2018-02-26 17:29:10 +01:00
Philip Rebohle
e45d502fe4
[d3d11] Fix Create*Shader return values
When not writing back any shader object, we should be returning
S_FALSE instead of S_OK.
2018-02-26 17:04:45 +01:00
Philip Rebohle
c7acfb667f
[d3d11] Fix format for 1D RTVs and DSVs 2018-02-26 17:00:24 +01:00