Mikhail Paulyshka
9deb73a2a7
Add support for MSVC, attempt 3 ( #130 )
...
* [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.
* [utils] fixes for MSVC
* __mingw_uuidof() does not exists in MSVC
* apply GCC pragma only for GCC
* added missing header
* [dxbc] fixes for MSVC
*added missing header
* [dxgi] fixes for MSVC
* user __declspec(uuid()) instead of _mingw_uuidof()
* do not use DLLEXPORT macro for MSVC
* [d3d11] fixes for MSVC
* replace WINBOOL with BOOL
* do not declare D3D11 structs for MSVC
* do not use DLLEXPORT macro for MSVC
* [meson] fix build scripts for MSVC
* change cpp version from c++1z to c++latest for MSVC
* set -DOMINMAX definition for MSVC
* disable test and wine_utils for MSVC
* use .def files instead of __declspec(dllexport) for MSVC (bypass 'C2375: redefinition; different linkage' error)
* fix .def files for MinGW
* add --enable-stdcall-fixup linker flag for MinGW
2018-03-06 18:34:34 +01:00
Philip Rebohle
88c4e363e5
[dxbc] Implemented workaround for hull shader output synchronization
2018-03-06 18:29:20 +01:00
Philip Rebohle
2271814d95
[dxbc] Implemented domain shader input variables
2018-03-06 16:47:35 +01:00
Philip Rebohle
ff0ff0c23b
[dxbc] Implemented hull shader passthrough
2018-03-06 15:52:29 +01:00
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
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 c63d4361a0ecc9d0d660742237b0e0ed3036c87e.
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
3501186d38
[dxbc] Added tess level interface variables
2018-03-05 14:07:15 +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
0e9b7d7ccd
[dxbc] Implemented new workaround for depth-compare ops on Nvidia
2018-03-01 10:11:15 +01:00
Philip Rebohle
d185977918
[dxbc] Implemented Hull shader function declarations
2018-03-01 09:26:17 +01:00
Philip Rebohle
d0db88ee62
[dxbc] Implemnted some HS/DS stubs
2018-03-01 07:00:54 +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
ec59389527
[dxbc] Implement EvalAttribute* instructions
2018-02-26 16:46:34 +01:00
Philip Rebohle
00f6262ff3
[dxbc] Properly implement Input/Output coverage masks
2018-02-26 14:23:41 +01:00
Philip Rebohle
78e9b575c5
[dxbc] Implement AtomicIMin/Max instructions
2018-02-21 03:49:06 +01:00
Philip Rebohle
be1cad34bf
[dxbc] Use correct image query instructions for UAVs
...
May fix issues on Nvidia drivers.
2018-02-17 07:33:42 +01:00
Philip Rebohle
fd1fd40ad6
[dxvk] Only emit depth image types for 2D and Cube images
...
May fix driver crashes on Nvidia.
2018-02-16 09:59:41 +01:00
Philip Rebohle
8ebffc1018
[dxbc] Added support for SV_RenderTargetID in pixel shaders
2018-02-15 18:07:40 +01:00
Philip Rebohle
563d4582ab
[dxbc] Implemented BfRev instruction
2018-02-15 09:41:48 +01:00
Philip Rebohle
59be5b72e8
[dxbc] Added support for oDepthGe/oDepthLe
2018-02-08 10:28:27 +01:00
Philip Rebohle
b3ba401503
[dxbc] Added support for early fragment tests
2018-02-08 10:26:46 +01:00
Philip Rebohle
5a42512028
[dxbc] Silence DclIndexRange warnings
2018-02-08 10:17:59 +01:00
Philip Rebohle
fc947f5985
[dxbc] Implemented Geometry SV RenderTargetId
2018-02-04 23:36:00 +01:00
Philip Rebohle
b741b3b4d5
[dxbc] Fixed output value store for geometry shaders
2018-02-04 23:09:07 +01:00
Philip Rebohle
8c64a81e27
[dxbc] Implemented stream instructions for single-stream GS
2018-02-04 22:59:15 +01:00
Philip Rebohle
b8a540d4ef
[dxbc] Implemented Lod instruction
2018-02-04 22:41:23 +01:00
Philip Rebohle
54108726d5
[dxbc] Implemented SampleInfo instruction
2018-02-04 19:30:39 +01:00
Philip Rebohle
76d48fcdf5
[dxbc] Fixed image size query for multisampled images
2018-02-04 18:08:18 +01:00
Philip Rebohle
d0201a1bab
[dxbc] Implemented GatherPo and GatherPoC instructions
2018-02-04 17:40:02 +01:00
Philip Rebohle
49f13cfdc4
[dxbc] Implement CountBits/FirstBit instructions
2018-02-04 13:14:23 +01:00
Philip Rebohle
201cb88d27
[dxbc] Remove push constant block for now
...
This needs some more work.
2018-02-03 10:36:17 +01:00
Philip Rebohle
a567f6a5a5
[dxbc] Do not emit depth type for non-sampled resources
...
Fixes a crash in the Nvidia driver. These type
declarations were never used in the first place.
2018-02-02 21:42:04 +01:00
Philip Rebohle
14d5054893
[dxvk] Initial work on instance data fetch rates
...
Adds a pipeline flag to indicate that instanced
draw calls need to be emulated.
2018-02-01 20:15:25 +01:00
Philip Rebohle
0154d0856d
[dxbc] Added push constant definition block
...
This will be used to fake a draw's instance ID when
per-instance data fetch rates other than 1 are used.
2018-02-01 18:07:24 +01:00
Philip Rebohle
fb4663fcc8
[dxbc] Remove duplicate image type declaration
2018-01-31 11:25:49 +01:00
Philip Rebohle
173e46e2bd
[dxbc] Added Hull/Domain shader specific structures
2018-01-29 14:37:06 +01:00
Philip Rebohle
8c4d94b570
[dxbc] Implemented OutputCoverageMask
2018-01-29 10:54:36 +01:00
Philip Rebohle
4ac38af8a7
[dxbc] Declare SV variables on first use
2018-01-29 10:41:41 +01:00
Philip Rebohle
8a3dcf7c99
[dxbc] Added support for SV_SampleIndex
2018-01-28 15:32:35 +01:00
Philip Rebohle
6f51c136d2
[dxbc] Remove obsolete error message when resinfo is used with UAVs
2018-01-27 22:15:53 +01:00