Philip Rebohle
c9ce09e098
[d3d11] Respect xfb metadata when computing shader hash
...
Closes #733 .
2018-10-25 11:28:02 +02:00
Philip Rebohle
7369dee9d6
[d3d11] Create passthrough geometry shader if necessary
...
Fixes stream output in Unity Engine titles.
- Fix compilation with new DxbcProgramInfo struct.
2018-10-10 19:55:41 +02:00
Philip Rebohle
689602497f
[d3d11] Use state cache
2018-09-23 14:41:49 +02:00
Philip Rebohle
4469ef1ec1
[d3d11] Replace shader debug name with shader key
2018-09-18 10:35:27 +02:00
Philip Rebohle
a078bb947e
[d3d11] Replace D3D11ShaderKey with DxvkShaderKey
2018-09-18 10:35:08 +02:00
Philip Rebohle
bf06654a83
[d3d11] Remove DXVK_SHADER_READ_PATH
...
Broken, and won't work with ICB UBOs.
2018-07-30 20:29:05 +02:00
Philip Rebohle
bf912d0a5f
[d3d11] Create shader constant buffer if necessary
2018-07-30 20:29:05 +02:00
Philip Rebohle
c31e646921
[dxvk] Introduce concept of shader constants
...
Large constant arrays should be moved to a uniform buffer instead
of being baked directly into the shader code.
2018-07-30 20:29:05 +02:00
Philip Rebohle
7f0f7ac048
[d3d11] Refactor shader binding
...
This way we can get rid of an unnecessary template and make future
extensions possible.
2018-07-30 19:37:19 +02:00
Philip Rebohle
102591369e
[dxbc] Add DxbcModuleInfo struct
...
This will be required in the future to pass data from the
application to the shader compiler.
2018-06-23 17:14:35 +02:00
Philip Rebohle
59d4f1a1fb
[util] Add method to retrieve SHA1 hashes in 32-bit chunks
2018-05-03 23:47:42 +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
00a452ed89
[d3d11] Implement DXBC shader module cache
...
If an application compiles the same shader multiple times, we should reuse
an already existing DxvkShaderModule instead of creating a new one. This
helps keep the number of DxvkGraphicsPipeline objects low in games such
as Rise of the Tomb Raider.
2018-04-06 17:54:02 +02:00
Philip Rebohle
ba9e1f307d
[dxbc] Don't use rvalue references for file streams
2018-03-23 18:17:16 +01:00
Philip Rebohle
25cae39cdb
[spirv] Remove SPIR-V tools integration
...
SPIR-V tools did not turn out to be useful, but increased the
binary size by a significant amount and caused build problems.
- spirv-opt: Far too slow for the intended purpose, and Nvidia
specific shader issues have been reported and fixed.
- spirv-val: Not much value in practice since shaders can be
written to a directory and validated manually.
2018-03-13 14:32:03 +01:00
Philip Rebohle
4c693fc262
[spirv] Added experimental spirv-tools integration
...
Added support for the validator in order to make debugging easier,
as well as the optimizer, which may help Nvidia users run DXVK.
2018-02-22 18:06:00 +01:00
Philip Rebohle
ad6c45d6b1
[dxvk] Improve debuggability of shader compiler issues
...
When using DXVK_LOG_LEVEL=debug, the graphics pipeline manager now
prints the names of the shaders used by the pipeline. This shall
help debug driver crashes in vkCreate*Pipelines.
2018-02-07 16:44:30 +01:00
Guy1524
5c4e290d72
Check if shader in READ_PATH exists before using it
...
Make sure that the replacement shader in the DXVK_SHADER_READ_PATH exists, if not use the generated shader.
2018-01-20 21:20:45 -05:00
Philip Rebohle
3fc064f434
[d3d11] Added shader module creation log
2018-01-12 00:06:54 +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
6cc3ff4ad8
[dxbc] Basic geometry shader (sm4) support
2017-12-18 16:41:05 +01:00
Philip Rebohle
89ec199c34
[d3d11] Re-implemented shader read
2017-12-10 12:21:33 +01:00
Philip Rebohle
e872448ca3
[dxbc] Refactored shader compiler to return a DxvkShader
2017-12-08 18:14:05 +01:00
Philip Rebohle
9e1cf8396b
[dxvk] Added environment variable to toggle debug layers
2017-12-08 01:32:02 +01:00
Philip Rebohle
27e63cbdc6
[d3d11] Implemented small buffer uploads
2017-12-07 18:51:41 +01:00
Philip Rebohle
bf17c61579
[d3d11] Implemented shader binding
2017-12-07 10:12:48 +01:00
Philip Rebohle
dece62c70a
[d3d11] Implemented basic shader creation methods
2017-12-06 18:54:01 +01:00
Philip Rebohle
8934ab0fc7
[d3d11] Added stubs for shader classes
2017-12-06 14:16:14 +01:00