Commit Graph

29 Commits

Author SHA1 Message Date
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 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 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 9acc9bf3e0 [dxbc] Implemented Rsq instruction 2017-12-10 20:01:38 +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 a2f66025f8 [dxbc] Implemented constant buffers 2017-12-08 17:08:26 +01:00
Philip Rebohle 8887e8b2fa [dxbc] Implemented interpolation modes for pixel shader inputs 2017-12-08 14:56:34 +01:00
Philip Rebohle 0843349d72 [dxbc] Added interpolation mode decoder 2017-12-08 13:24:08 +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 5acc65504f [dxgi] Added DxgiPresenter to render back buffers to the swap chain 2017-11-29 21:46:09 +01:00
Philip Rebohle a47ebd6ed5 [dxvk] Proper blend state and viewport state setup 2017-11-20 15:35:29 +01:00
Philip Rebohle abc0e98761 [dxbc] Added result modifiers, simple add instruction 2017-11-17 11:41:56 +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 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 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 6954cfd84c [dxbc] Added helper classes for DXBC decoding 2017-10-21 17:58:58 +02:00
Philip Rebohle 1bf05d3687 [spirv] Moved SPIR-V-specific stuff to separate directory 2017-10-18 10:36:47 +02:00
Philip Rebohle 72a87093c5 [dxvk] Moved some SPIR-V bits to separate directory 2017-10-18 09:50:30 +02:00