Commit Graph

98 Commits

Author SHA1 Message Date
Philip Rebohle f7b311499c
[d3d11] Query format support in d3d11-formats test
Because why not. Knowing about native d3d11 feature support never hurts.
2019-09-17 16:34:41 +02:00
Philip Rebohle 649cc07f5e
[tests] Enable demoteToHelperInvocation in off-line DXBC compiler 2019-07-11 19:33:17 +02:00
Joshua Ashton 89afd586ef [build] Mark tests as gui apps in Meson
Fixes building the tests on Windows and uses the right entrypoint and linker subsystem.
2019-07-08 17:09:07 +02:00
Philip Rebohle d755b18ccb
[dxbc] Repurpose useRawSsbo option
Basically, abuse the minSsboAlignment property to convince the
compiler to always/never emit raw SSBOs for raw and structured
buffers, and use the actual device limit by default.
2019-06-11 20:20:40 +02:00
Philip Rebohle e0a5db44fe
[tests] Enable atomic counter optimization for standalone DXBC compiler 2019-05-15 20:18:04 +02:00
Philip Rebohle 399e72bbd1
[tests] Enable raw SSBO option 2018-12-14 23:45:38 +01:00
Philip Rebohle 7096937c11
[dxbc] Use ballot to determine early-discard condition in fragment shaders 2018-11-27 11:50:01 +01:00
Philip Rebohle 0418c02ac3
[dxbc] Use clustered subgroup operations on supported hardware 2018-11-21 11:17:09 +01:00
Philip Rebohle 94b0058e0d
[tests] Enable subgroup ops for DXBC compiler app 2018-11-21 11:17:09 +01:00
Philip Rebohle 1c98b0f6d3
[tests] Add depth-stencil readback test
- Add missing unmap call
2018-11-08 18:10:43 +01:00
Philip Rebohle 851d9fb726
[general] Remove unnecessary include directories from build files
These are no longer needed because dxvk includes consistently
use relative file paths now, instead of global includes.
2018-11-02 14:54:39 +01:00
Philip Rebohle 93d88afab9
[general] Fix some old includes 2018-11-02 14:37:59 +01:00
Philip Rebohle a42f03e32d
[dxbc] Add Xfb structures to DxbcModuleInfo 2018-10-10 10:28:15 +02:00
Philip Rebohle be1bb59844
[d3d11] Test streamout queries + additional output components 2018-09-14 13:45:49 +02:00
Philip Rebohle 93ce1e62b8
[tests] Small tweaks 2018-09-14 08:44:35 +02:00
Philip Rebohle fdcb47cc45
[tests] Add tessellation shaders to triangle demo 2018-09-13 18:03:12 +02:00
Jacek Caban 9fd30cf5bf [util] Handle WCHAR strings in str::format. 2018-08-31 05:37:34 +02:00
Mikhail Paulyshka 3e2a4baf63 [tests] fix dxbc-disasm with MSVC 2018-08-15 21:59:44 +02:00
Mikhail Paulyshka 9cce41394b [build] partially revert previous d3dcompiler related change 2018-08-15 21:59:44 +02:00
Philip Rebohle fabcdbc3ae
[dxbc] Add definitions for extended double instructions 2018-08-15 20:11:34 +02:00
Mikhail Paulyshka 3df708d500 [build] reduce the number of d3dcompiler versions 2018-08-15 13:17:16 +02:00
Philip Rebohle 31140373eb
[tests] Restore old d3d11-triangle behaviour 2018-08-05 15:19:15 +02:00
Philip Rebohle f8392b4f83
[dxbc] Fix incorrect pointer type when loading from baked ICBs 2018-07-30 21:08:52 +02:00
Jacek Caban 6d16bb4c87 Don't use std::thread.
Wine needs to setup each thread that has an access to Windows APIs. It means that in winelib builds, we can't let standard C++ library create threads and need to use Wine for that instead. I wrote a thin wrapper around Windows thread functions so that the rest of code just has to use new dxvk::thread class instead of std::thread.
2018-07-19 08:55:34 +02:00
Jacek Caban 635a43fefe [build] Explicitly specify .dll and .exe extensions in winelib build
meson can't handle that itself.
2018-07-19 08:55:34 +02:00
Philip Rebohle a6c2080156
[tests] Fix compiler error with the DxbcModuleInfo struct 2018-06-23 18:28:22 +02:00
Philip Rebohle 255712a1f2
[tests] Added basic Stream Output test 2018-06-19 20:04:49 +02:00
Philip Rebohle a32050374c [dxgi] Implement display mode changes
Allows games to change the screen resolution in fullscreen
mode. This is currently in a rough shape and some games may
not work as expected when selecting fullscreen mode.
2018-04-29 23:03:27 +02:00
Philip Rebohle 9aa73d1148 [dxvk] Set non-zero framebuffer size when there are no attachments
This is required for UAV-only rendering and will be required for
stream output in the future as well.
2018-04-29 11:19:18 +02:00
Philip Rebohle 98b8d41016
[dxbc] Write shader name to the generated SPIR-V
Might help identifying shaders in debugging tools such as Renderdoc.
2018-04-15 21:00:08 +02:00
Philip Rebohle 5fa8174816
[tests] Add D3D11 format tests
Small test program that lists all supported features for D3D11 formats.
2018-04-14 16:09:53 +02:00
Philip Rebohle 19e0829a37
[dxgi] Enumerate scaled and centered display modes correctly
Fixes fullscreen mode in Dark Souls 3.
2018-03-24 13:42:23 +01:00
Philip Rebohle 7c65764ed8
[tests] Fix dxbc compiler test compilation issue 2018-03-23 19:46:23 +01:00
Mikhail Paulyshka 3cb3c05888 [dxgi] implement DxgiOutput::FindClosestMatchingMode() (#153)
rev2:
* use std::vector instead of C array
* add clarification about TODO
2018-03-12 08:52:32 +01:00
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 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
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 e89c7e9276 [d3d11] Added test case for occlusion queries and small improvements 2018-02-19 11:27:14 +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 2b5bb16334 [dxgi] Removed SDL dependency from DxgiOutput 2018-01-13 16:32:46 +01:00
Philip Rebohle 64eb0f909d [tests] Removed dxvk-triangle test 2018-01-12 13:56:25 +01:00
Philip Rebohle f4cd90d6fa [dxbc] Implemented vendor-specific workarounds in an attemt to fix Nvidia 2018-01-07 20:05:27 +01:00
Philip Rebohle f93745adcf [dxbc] Implemented bfi and bfe instructions 2017-12-30 03:44:19 +01:00
Philip Rebohle 7aed861862 [tests] Fixed memory leak in compute demo 2017-12-29 01:12:50 +01:00
Philip Rebohle 8691d29185 [dxvk] Initial support for post-compute barriers 2017-12-29 01:09:54 +01:00
Philip Rebohle a51439fb29 [dxbc] Implemented thread group shared memory and barriers 2017-12-29 00:51:31 +01:00
Philip Rebohle 9848f9bdaa [tests] Updated compute sample 2017-12-28 19:07:52 +01:00
Philip Rebohle 533ce13956 [d3d11] Triangle test now tests shader resource buffers 2017-12-27 15:45:35 +01:00
Philip Rebohle e668c65017 [d3d11] Experimental support for typed shader buffer views 2017-12-27 14:32:07 +01:00