Philip Rebohle
64a74735f8
[dxbc] oDepth no longer treated as standard output register
...
Fixes a crash in the shader compiler when starting up Tomb Raider.
2017-12-19 12:58:40 +01:00
Philip Rebohle
6df9fc75d2
[dxbc] Implemented some new bit-wise logical instructions
2017-12-19 00:45:31 +01:00
Philip Rebohle
13d4a3d87d
[dxbc] Fixed bug with constant vector operands
2017-12-18 18:02:15 +01:00
Philip Rebohle
6cc3ff4ad8
[dxbc] Basic geometry shader (sm4) support
2017-12-18 16:41:05 +01:00
Philip Rebohle
1e08c0744f
[dxbc] Implemented basic control flow instuctions
2017-12-18 11:53:28 +01:00
Philip Rebohle
858913ec0c
[dxbc] Shader decoder and compiler overhaul (2/2)
...
Removed the old decoder and the old shader compiler
and added documentation to the new structures.
2017-12-18 00:46:44 +01:00
Philip Rebohle
47347e38da
[dxbc] Shader decoder and compiler overhaul (1/2)
...
Major rewrite of the entire shader decoder to generate easy
to parse data structures for the compiler, which ultimately
allows new instructions to be implemented more easily.
2017-12-18 00:28:54 +01:00
Philip Rebohle
2f99be9546
[dxbc] Implemented conditional move and comparison instructions
2017-12-17 01:36:41 +01:00
Philip Rebohle
2ad5f49f3e
[dxbc] Shader compiler rewrite (2/2)
2017-12-14 12:53:53 +01:00
Philip Rebohle
a4eb807215
[dxbc] Implemented SinCos, Min and Max instructions
2017-12-13 16:35:01 +01:00
Philip Rebohle
464a3e7d4e
[dxbc] Shader compiler rewrite (1/2)
...
Rewrote most parts of the shader compiler and removed the old one. The next
step is to improve documentation and remove the remaining traces of the old
shader compiler.
2017-12-13 15:32:54 +01:00
Philip Rebohle
0f26d1c627
[dxbc] Removed <optional> dependency
2017-12-12 13:00:37 +01:00
Philip Rebohle
22c3cd80a1
[dxbc] Implemented mad instruction
2017-12-11 14:36:35 +01:00
Philip Rebohle
93f79742e9
[dxbc] Scalar values can be expanded to multiple vector components during a store operation
2017-12-10 22:35:55 +01:00
Philip Rebohle
d941446ca0
[dxbc] Fixed bug in decoder that would return wrong component masks
2017-12-10 21:13:22 +01:00
Philip Rebohle
9acc9bf3e0
[dxbc] Implemented Rsq instruction
2017-12-10 20:01:38 +01:00
Philip Rebohle
b4493d90d8
[dxbc] Initial support for sample instruction
2017-12-10 12:08:20 +01:00
Philip Rebohle
7c03495d74
[dxbc] Implemented shader resource declaration for images
2017-12-10 10:34:18 +01:00
Philip Rebohle
939faeaf27
[dxbc] Implemented sampler declaration
2017-12-10 03:39:35 +01:00
Philip Rebohle
bfb05f24b8
[dxbc] Implemented support for MUL instruction
2017-12-09 01:49:30 +01:00
Philip Rebohle
c90bc3e946
[dxbc] Implemented proper resource slot mapping
2017-12-08 22:30:41 +01:00
Philip Rebohle
feab720ddb
[spirv] Added methods to force type declaration for arrays and structs
2017-12-08 19:50:36 +01:00
Philip Rebohle
0610296248
[d3d11] Implemented constant buffer binding
2017-12-08 19:39:33 +01:00
Philip Rebohle
e872448ca3
[dxbc] Refactored shader compiler to return a DxvkShader
2017-12-08 18:14:05 +01:00
Philip Rebohle
a2f66025f8
[dxbc] Implemented constant buffers
2017-12-08 17:08:26 +01:00
Philip Rebohle
9f4cc6b77d
[dxbc] Minor cleanups
2017-12-08 15:30:12 +01:00
Philip Rebohle
8887e8b2fa
[dxbc] Implemented interpolation modes for pixel shader inputs
2017-12-08 14:56:34 +01:00
Philip Rebohle
bd8dc20fa2
[dxbc] User-defined shader interface cannot be an array due to interpolation modes
2017-12-08 14:18:30 +01:00
Philip Rebohle
0843349d72
[dxbc] Added interpolation mode decoder
2017-12-08 13:24:08 +01:00
Philip Rebohle
e3533fb634
[dxbc] Implemented user-defined shader interface
2017-12-08 12:59:08 +01:00
Philip Rebohle
b7e263fc73
[dxbc] Added highly experimental shader input/output interface code
2017-12-07 16:29:34 +01:00
Philip Rebohle
1f89452014
[d3d11] Implemented input layout creation
2017-12-07 12:45:02 +01:00
Philip Rebohle
dece62c70a
[d3d11] Implemented basic shader creation methods
2017-12-06 18:54:01 +01:00
Philip Rebohle
a9a03fec69
[dxvk] DxvkShader creates a VkShaderModule again
2017-11-20 14:03:00 +01:00
Philip Rebohle
745466652c
[dxvk] Removed shader resource slots for now, needs work
2017-11-18 10:42:27 +01:00
Philip Rebohle
a84e2eabc2
[dxvk] Restructured state tracker again
2017-11-17 19:49:44 +01:00
Philip Rebohle
abc0e98761
[dxbc] Added result modifiers, simple add instruction
2017-11-17 11:41:56 +01:00
Philip Rebohle
4c0404d3c6
[dxbc] Removes shader input/output interfaces for now, needs more work
2017-11-17 11:41:46 +01:00
Philip Rebohle
cded7726a7
[dxbc] Added pixel shader code generator stub
2017-11-16 02:07:10 +01:00
Philip Rebohle
5d26f0fb0c
[dxbc] Implemented operand modifiers and load/store stuff
2017-11-16 01:30:17 +01:00
Philip Rebohle
901abe4356
[dxbc] Implemented some very basic load/store operations
2017-11-13 02:07:13 +01:00
Philip Rebohle
43dfba2287
[dxbc] Separate code generator classed for each shader type
2017-11-13 00:22:52 +01:00
Philip Rebohle
403ab75aeb
[dxbc] More sophisticated component mask/swizzle classes
2017-11-07 15:11:09 +01:00
Philip Rebohle
4052951542
[dxbc] Removed most of the DXBC compiler again
2017-11-07 15:10:38 +01:00
Philip Rebohle
9cdc341946
[dxbc] Some shader signature stuff
2017-11-01 16:43:04 +01:00
Philip Rebohle
72f353074f
[dxbc] Initial xSGN chunk implementation
2017-11-01 00:01:40 +01:00
Philip Rebohle
bc8cc76888
[dxbc] Added operand index decoder, entry point declaration
2017-10-29 02:35:16 +02:00
Philip Rebohle
f5ad024f5d
[dxbc] Implemented temporary register declarations
2017-10-26 16:32:10 +02:00
Philip Rebohle
200da4cf60
[spirv] Added SpirvModule class to generate SPIR-V code
2017-10-26 15:40:39 +02:00
Philip Rebohle
294586eeb3
[dxbc] Instruction decoder work
2017-10-25 13:49:13 +02:00