Philip Rebohle
922f0382f6
[dxvk] Remove option for asynchronous shader compilation
...
Unsafe.
2018-09-13 20:40:32 +02:00
Philip Rebohle
059073fcd0
[dxbc] Fix missing hull shader input declarations
...
Fixes tessellation in Tomb Raider 2013. Closes #368 .
2018-09-13 18:25:32 +02:00
Philip Rebohle
fdcb47cc45
[tests] Add tessellation shaders to triangle demo
2018-09-13 18:03:12 +02:00
Philip Rebohle
797c568c74
[dxbc] Use temporary array for per-patch hull shader outputs
...
Drivers don't seem to like it when output arrays are addressed dynamically.
2018-09-13 15:17:39 +02:00
Philip Rebohle
d86b5361f0
[dxvk] Only mark render targets as used on draw calls
2018-09-13 12:00:49 +02:00
Philip Rebohle
9e3914b368
[dxvk] Remove redundant parameter from DxvkCommandList constructor
2018-09-12 18:54:05 +02:00
Philip Rebohle
2d93452cba
[util] Spoof Nvidia card for Assassin's Creed Syndicate
...
This one actually doesn't work properly when the AMD AGS library
is not present, but is fine with nvapi not being there.
2018-09-12 14:10:49 +02:00
Philip Rebohle
1127a344dc
[dxvk] Fix query type enablement in query manager
...
We cannot use query types as flag indices, since query
types added in the future may have gretaer enum values
than 32.
2018-09-11 13:01:00 +02:00
Philip Rebohle
f9add97a07
[d3d11] Fix Begin/End for all queries other than Event and Timestamp
2018-09-11 13:00:52 +02:00
Philip Rebohle
ea6b6e2e53
[dxvk] Rename useAsyncPipeCompiler -> asyncPipeCompiler
2018-09-11 08:38:18 +02:00
Philip Rebohle
ea9e812798
[dxvk] Introduce new 'Created' state for queries
...
New initial state for queries. D3D11 returns an error when trying to
retrieve data from a query in this state, rather than S_FALSE or S_OK.
2018-09-10 23:07:51 +02:00
Philip Rebohle
d7441f274b
[dxvk] Enable device features for VK_EXT_vertex_attribute_divisor
2018-09-10 22:10:16 +02:00
Philip Rebohle
ba65a1e36b
[dxvk] Query new Vertex Attribute Divisor features
...
This was added in revision 3 of the extension.
2018-09-10 21:46:14 +02:00
Philip Rebohle
f5270c8522
[dxvk] Collect info about the supported revisions of an extension
2018-09-10 21:40:40 +02:00
Philip Rebohle
54b2001f42
[meta] Update Vulkan headers to 1.1.84
2018-09-10 21:03:18 +02:00
Philip Rebohle
5c89a68879
[dxvk] Implement render target state tracking for async compilation
...
This ensures that we always render to targets which are only used once.
2018-09-10 19:41:17 +02:00
Philip Rebohle
f94f5a74ba
[dxvk] Add methods to track render target view usage
2018-09-10 18:05:52 +02:00
Philip Rebohle
c7ddaea5a6
[dxvk] Add method to retrieve current frame number
2018-09-10 18:05:33 +02:00
Philip Rebohle
5cc2c219dd
[dxvk] Use all but two available threads for async pipeline compilation
2018-09-10 17:03:11 +02:00
Philip Rebohle
6532302e34
[util] Implement dxvk: 🧵 :hardware_concurrency
2018-09-10 17:02:51 +02:00
Philip Rebohle
c3b542878c
[dxvk] Repurpose asynchronous pipeline compiler
...
Removes support for DISABLE_OPTIMIZATION_BIT. Instead, pipelines
will not be made available until compiled by one of the worker
threads.
2018-09-10 17:02:42 +02:00
Philip Rebohle
012a5c2f74
[d3d11] Add option to enforce anisotropic filtering
...
When setting d3d11.samplerAnisotropy to a non-negative value,
AF will be either disabled (0) or enabled with the given
anisotropy (>0) for all samplers.
2018-09-10 15:42:55 +02:00
Philip Rebohle
16a3ae52fe
[dxbc] Remove emitCsSystemValueLoad
...
There are no compute shader system values.
2018-09-10 11:50:13 +02:00
Philip Rebohle
f8dc5612f7
[d3d11] Added option to limit tessellation factors
...
d3d11.maxTessFactor accepts values ranging from 8 to 64, and limits
the maximum tessellation factor accordingly.
2018-09-09 23:14:00 +02:00
Philip Rebohle
2541aeb25c
[dxgi] Add option to override the sync interval
2018-09-09 19:14:30 +02:00
Philip Rebohle
d7b16dd90a
[dxgi] Add option to change the back buffer count
2018-09-09 19:12:07 +02:00
Philip Rebohle
b7d8be25f1
[dxgi] Use DXGI back buffer count for the Vulkan swap chain
2018-09-09 19:07:41 +02:00
Philip Rebohle
45f61cbae5
[dxvk] Fix initial query state
...
Trying to retrieve data from newly created D3D11 queries is supposed
to return S_FALSE and not return data, so we shouldn't mark the query
as available immediately after creation.
2018-09-09 14:35:09 +02:00
Jens Peters
e48c27ac30
[util] Spoof AMD card for Batman: Arkham Knight ( #627 )
...
This prevents game crashes in "Detective Mode" for NVidia cards.
Fixes https://github.com/doitsujin/dxvk/issues/580
2018-09-08 16:33:44 +02:00
MartinPL
f949240b2f
Spoof AMD card for GTA V
...
GTA V working out of box on Proton for Nvidia users. Tested
#624
https://github.com/ValveSoftware/Proton/issues/37#issuecomment-415833819
2018-09-08 12:51:39 +02:00
Philip Rebohle
60796a8143
[util] Spoof AMD card for Dragon Quest XI
...
This game for some reason seems to keep searching for NVAPI DLLs
and runs at an extremely low framerate as a result. Fixes #622 .
2018-09-07 07:50:08 +02:00
Philip Rebohle
108a6645e6
[dxbc] Make emitRawBufferLoad more readable
2018-09-06 21:44:53 +02:00
Philip Rebohle
57e5b05f32
[d3d11] Fix layer count for 3D RTVs with non-zero base mip level
...
We have to take the mip level into account as well, or otherwise
we may create a view with more layers than the selected mip level has.
2018-09-04 07:39:46 +02:00
Philip Rebohle
2533b9f4ed
[dxvk] Fix layer count for 2D views into 3D images
2018-09-04 07:38:47 +02:00
Philip Rebohle
9520c9b1b8
[dxbc] Apply Modulo 31 to bit counts and offsets (shr/shl/bfe/bfi)
...
Assassin's Creed Syndicate relies on correct behaviour.
2018-09-03 01:01:44 +02:00
Philip Rebohle
ae62499e3a
[meta] Release v0.71
2018-09-02 11:40:38 +02:00
Philip Rebohle
09948a3495
[d3d11] Synchronize CS thread after flush when waiting for resource
...
In some rare cases, the flush operation itself may add new references
which we need to see while spinning on the resource's usage counter.
2018-09-01 21:25:39 +02:00
Philip Rebohle
2b3d9aaf5c
[dxvk] Remap spec constant ranges
...
Keeping the numbers low will make debugging shaders easier.
glslang seems to have an upper limit on spec constant IDs
in place.
2018-09-01 20:41:25 +02:00
Philip Rebohle
825200b2a2
[dxvk] Don't change spec constant IDs that are no valid resource slots
...
Fixes pipeline state-related specialization constants.
2018-09-01 20:27:36 +02:00
Philip Rebohle
ffc2130ee6
[d3d11] Pass format swizzle to render target views
...
Fixes missing caterpillars in World of Tanks (#410 ).
2018-09-01 18:15:31 +02:00
Philip Rebohle
05e505a844
[dxbc] Implement pixel shader output component mapping
2018-09-01 18:15:27 +02:00
Philip Rebohle
70786aeee8
[spirv] Support OpVectorExtractDynamic instruction
2018-09-01 17:59:50 +02:00
Philip Rebohle
cb274e040d
[dxvk] Add spec constants for pixel shader output mapping
2018-09-01 17:59:50 +02:00
Philip Rebohle
37a8743dbc
[dxvk] Add output component mask state to graphics pipelines
...
This is required in order to implement swizzled render target views.
We currently use this to remap color write masks as needed.
2018-09-01 17:59:50 +02:00
Philip Rebohle
7c97e276f2
[dxvk] Fix up component swizzle for render target views
...
Vulkan does not support non-identity swizzles for image views that are
used for rendering, but we have to keep the information around in order
to support rendering to swizzled image formats.
2018-09-01 15:51:56 +02:00
Philip Rebohle
f74661daa4
Revert "[util] Limit device memory size to 4095 MB for Life is Feudal MMO"
...
This reverts commit 73cbf5b352
.
The workaround is no longer necessary due t a game update.
Closes #614 .
2018-08-31 22:54:16 +02:00
Philip Rebohle
2f90213c0f
[dxvk] Enable pipeline statistics queries around compute shaders
...
Fixes potential issues caused by csInvocations being 0.
2018-08-31 16:24:03 +02:00
Philip Rebohle
657093c14e
[dxvk] Refactor query management
...
Moved all query-related state tracking and management into a
separate class. This allows for new query types to be added
in the future, and makes less dodgy assumptions about the
current state when beginning or ending a query.
2018-08-31 15:38:09 +02:00
Jacek Caban
9fd30cf5bf
[util] Handle WCHAR strings in str::format.
2018-08-31 05:37:34 +02:00
Jacek Caban
95e04de3ad
[build] Use d3dcompiler as lib name when linking to d3dcompiler_47 in winelib build.
...
As of 169c033bda
Wine provides an importlib d3dcompiler that links to d3dcompiler_47, just like MSVC does.
2018-08-31 05:37:34 +02:00