Commit Graph

54 Commits

Author SHA1 Message Date
Philip Rebohle 2fce0a7685
[build] Extract version number from git if available
Logs the version number and game executable name as well.
2018-07-11 17:39:00 +02:00
Philip Rebohle c5f45d9153
[dxvk] Add shaders for new meta-resolve operation 2018-06-23 09:48:03 +02:00
Philip Rebohle 7fe4a70342 Version 0.53
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEJz0EC1ETuIbRoJDUyMxhNCejHJkFAlsLDL4ACgkQyMxhNCej
 HJmIPwgArq3gx2qLKKLokrCyVbwf5UfYtMbnyEQCs7nSBbb0JiaeQXJClAdIwFP6
 VncCpCDOjvssHAiXMF1hfbHDMvVpMa3nwz+O2bOKFxg9OCt69T0wqbOvNVuJzEq4
 7zXWNBXegPJaY5KQXiJORetU/xNcb8/ikWEAT57vkRu2RvvT2ct/oaynWZtgh+X5
 /OMHW1nMP9Bvwm5ZCWw2fCdT9evqIrXL3IreoJKX+dW/10oIaUnh+Q5Fcm7L0s7i
 dYkmm1KM6WiHpO/duK0SpbOl9ASzorwtcRjgM2syzM0QljcUpdnRCDXsuVWYOpRL
 7GbtyzdVC/SJknJoWMdTcpIX6fjYPA==
 =nkRK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEJz0EC1ETuIbRoJDUyMxhNCejHJkFAlsOvCkACgkQyMxhNCej
 HJlusQgAkfcCUgFLMLGoUeOJaHkpDnv5/s13AMG3a+m9SLUavQ87izysrp6cEaF6
 1O1Rxf/NHqhOh8jGwHILVmDWeYzDGkNKUW0/g0A0hcLMDyh5f5zMVqYoX9ITsjmG
 w5Woc4I7JPqsPdqJ0FOk/dQKIrnVXr/SZXrna55ZvXPI9q1wz0QCbE4E/q47tJUA
 3F5yw+eNaRWEHe7T9wSXdtuVo7R1NFqewt5kTvgiYg6HCWSCNAvgTVHnEg2tpaNC
 rzipvxXKSNbDB30JpC8+R6aP4b7z6P9p1KjyoSKT7Jb5kvOw3p6eY5WQq69KUhhq
 EjTMwUrFaP1K6IJwgWfxLxIufp5pqw==
 =JJRk
 -----END PGP SIGNATURE-----

Merge tag 'v0.53' into openvr-v2

Version 0.53
2018-05-30 16:58:46 +02:00
Philip Rebohle 4ae15f3edf
[dxvk] Add global specialization constant data structures
Implements a unified way of defining specialization constants
for graphics and compute pipelines which can be easily extended
in the future.
2018-05-26 14:50:00 +02:00
Philip Rebohle 19b6a16173
[dxvk] Add new mip map generator
The current approach uses Vulkan blits, which does not
work if the image view in question has a different format
than the image itself.
2018-05-25 17:44:50 +02:00
Philip Rebohle 707967ac1d
[vr] Add OpenVR loader
Provides methods to query required Vulkan instance and device extensions.
2018-05-18 16:46:34 +02:00
Philip Rebohle 517a7532be
[dxvk] Added DxvkPipelineCompiler 2018-05-10 14:29:13 +02:00
Philip Rebohle a4f9e5f0d5
[hud] Added line renderer 2018-04-17 10:01:06 +02:00
Philip Rebohle e38e1347d3
[hud] HudTextRenderer -> HudRenderer
Maintaining one class should be easier than creating
multiple renderer classes and having to switch between
them.
2018-04-17 09:20:18 +02:00
Philip Rebohle ac8447b32e
[dxvk] Add separate clear shaders for array views
Creating one shader per image view type may help in case we
get an already compatible image view from the D3D11 application.
2018-04-11 17:16:18 +02:00
Philip Rebohle 676b0cb476
[dxvk] Added DxvkMetaClearObjects stub 2018-04-11 17:05:12 +02:00
Philip Rebohle 4797645bd2
[dxvk] Removed unused DxvkOptions 2018-04-11 13:06:43 +02:00
Philip Rebohle fc3f45c082 [hud] Added stat counters to the HUD 2018-04-03 14:49:13 +02:00
Philip Rebohle 3ed03f7a3d [hud] Added configurable HUD
HUD elements can be enabled individually using a comma-separated
list. Supported options include:
- fps: Displays the framerate
- devinfo: Displays device info

Passing "1" has the same effect as "fps,devinfo".
2018-04-03 12:33:08 +02:00
Philip Rebohle a5077952ea [dxvk] Reintroduce stat counters 2018-04-03 11:03:57 +02:00
Philip Rebohle fb36b56891
[dxvk] Removed stat counters 2018-03-10 17:37:10 +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
Philip Rebohle b419b3dfbd
[dxvk] Implemented typeless resolve
This should allow a large number of Unity-based games to
render at least a menu.
2018-02-21 01:04:28 +01:00
Philip Rebohle 5fea615ed7 [dxvk] Implement backend part for event queries 2018-02-18 22:57:45 +01:00
Philip Rebohle 7ddd2500d1 [dxvk] Added query tracker 2018-02-18 20:11:05 +01:00
Philip Rebohle dd237d866d
[dxvk] Make query pools more usable as query allocators 2018-02-15 13:25:18 +01:00
Philip Rebohle 5beae25bdf
[dxvk] Implemented virtual query class and query pool stub 2018-02-12 16:36:42 +01:00
Philip Rebohle 8a4fa0b1b8
[dxvk] Added Query stub 2018-02-08 19:32:53 +01:00
Philip Rebohle d1f76b96af
[dxvk] Added dummy resources for descriptors
This should finally shut up validation layers and also allows
the branches in texture sample operations to be removed.
2018-01-27 19:25:41 +01:00
Philip Rebohle a87ae8aba4
[dxvk] Added DxvkPhysicalBuffer to back virtual buffers
This is the first step to optimizing buffer updates for applications
that frequently invalidate buffers. The goal is to reduce the number
of buffer allocations per frame and reduce the cost of invalidation.
2018-01-18 15:52:57 +01:00
Philip Rebohle 27573e9b25
[dxvk] Added app and device specific options 2018-01-16 13:58:57 +01:00
Philip Rebohle bc5dfc1cad
[dxvk] Refactored device extension handling
Support for extensions can now be queried from the device
object in an efficient way. This will allow the backend to
use optional extensions for the purpose of optimization.
2018-01-16 13:24:36 +01:00
Philip Rebohle c1f16d36bd [dxvk] Implemented local pipeline cache 2018-01-13 22:18:32 +01:00
Philip Rebohle 745ded47e0 [dxgi] Removed remaining SDL code 2018-01-13 16:36:04 +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 518b469742 [dxvk] Added command stream classes
While these are not being used as of yet, these classes can be
used to implement command stream multithreading in the future.
They are also useful to implement command lists for deferred
contexts, which are a core feature of D3D11.
2017-12-20 22:17:14 +01:00
Philip Rebohle 1fe5b74762 Optimized command submission
Command submission now does not synchronize with the device every single
time. Instead, the command list and the fence that was created for it are
added to a queue. A separate thread will then wait for the execution to
complete and return the command list to the device.
2017-12-16 18:10:55 +01:00
Philip Rebohle 23abc82aa0 [dxvk] Added performance counter class 2017-12-12 10:29:17 +01:00
Philip Rebohle 52f1c4fa00 [dxvk] Implemented staging buffers for large data transfers 2017-12-10 15:57:51 +01:00
Philip Rebohle a43bb134e0 [dxvk] Initial support for format info 2017-12-09 02:44:59 +01:00
Philip Rebohle b49815657e [dxvk] Refactored blend state 2017-12-08 01:06:48 +01:00
Philip Rebohle 19851c8432 [dxvk] Re-implemented pipeline creation within the backend 2017-12-07 09:38:31 +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 57821db900 [dxvk] Added image init functions to context 2017-12-01 17:52:05 +01:00
Philip Rebohle 27905d0711 [dxvk] Removed Recorder interface and deferred context 2017-12-01 09:50:47 +01:00
Philip Rebohle ae0c186f26 [dxvk] Implemented constant state objects 2017-11-20 13:21:27 +01:00
Philip Rebohle 72a87093c5 [dxvk] Moved some SPIR-V bits to separate directory 2017-10-18 09:50:30 +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 883ae9f39d [dxvk] Added pipeline manager stub 2017-10-14 23:52:47 +02:00
Philip Rebohle d97ccb82d6 [dxvk] Added deferred command list stub 2017-10-14 14:28:06 +02:00