Commit Graph

3768 Commits

Author SHA1 Message Date
Triang3l 90f586383a [D3D12] Make tiled resources optional - not available on old Intel HD Graphics 2018-10-02 17:36:10 +03:00
Triang3l 9e17bbf016 [D3D12] Refactor system and bool/loop constants into separate descriptor ranges 2018-10-02 16:34:22 +03:00
Triang3l 2588aab89d [GPU/D3D12] Float constant remapping fixes 2018-10-01 20:15:00 +03:00
Triang3l c4599ff211 [D3D12] Compact float constants and don't split them into pages 2018-09-30 20:17:26 +03:00
Triang3l eb50ebd885 [D3D12] Write to 8_8_8_8_GAMMA in gamma space 2018-09-29 13:30:05 +03:00
Triang3l 64209748e3 [D3D12] Better polygon offset scale 2018-09-29 12:01:09 +03:00
Triang3l 400747bf7c [D3D12] Point sprite size 2018-09-29 11:25:03 +03:00
Triang3l d9538e6cc2 [D3D12] Log unsupported texture formats and don't log texture invalidation 2018-09-27 10:27:55 +03:00
Triang3l ea7d9e9060 [D3D12] Emulate reversed Z in shaders because it's unsupported on Nvidia 2018-09-26 20:46:24 +03:00
Triang3l 55f96c0f83 [D3D12] DXBC: Apply exp bias after alpha test 2018-09-26 16:20:04 +03:00
Triang3l 70103804c3 [D3D12] 8/16bpp resolves, fixed16 RT exp bias, RT format documentation 2018-09-26 16:10:23 +03:00
Triang3l 6e36101b42 [D3D12] Experimental write watch implementation for shared memory 2018-09-24 23:18:16 +03:00
Triang3l 005e590c92 [D3D12] SHM upload range cleanup and mask index buffer address 2018-09-23 18:37:41 +03:00
Triang3l ecfa70284e [D3D12] Treat gamma/as_16 EDRAM formats the same as their base formats 2018-09-22 19:22:57 +03:00
Triang3l 133604f249 [D3D12] Decompress textures if their size is not 4x4-aligned 2018-09-22 19:03:25 +03:00
Triang3l bb24521c2b [D3D12] DXT5 decompression shader (not used yet) 2018-09-22 15:52:07 +03:00
Triang3l 4d1b3caf8c [D3D12] DXBC: Fix max4 instruction length 2018-09-22 13:36:04 +03:00
Triang3l 6e3cf5dd22 [D3D12] Cleanup selection in shaders and add some DXT5 alpha code 2018-09-21 21:22:33 +03:00
Triang3l 17e3f09c1e [D3D12] DXT1 decompression shader 2018-09-21 08:55:55 +03:00
Triang3l 1f248572ac [D3D12] Better explanation of dxbc_switch 2018-09-19 23:26:45 +03:00
Triang3l 9daea21edc [D3D12] Don't use _COLOR blend modes for alpha 2018-09-19 22:54:35 +03:00
Triang3l cbd36218bf [D3D12] DXBC: Use switch instead of if for flow control (experimentally) 2018-09-19 21:25:58 +03:00
Triang3l 4db3a927ad [D3D12] Remove ID3DBlob from D3D12Shader 2018-09-19 17:08:48 +03:00
Triang3l ed66694319 [D3D12] Slightly better logging 2018-09-19 16:50:13 +03:00
Triang3l fdd536f572 [D3D12] Swap columns 0:39 and 40:79 of depth buffers in EDRAM 2018-09-19 11:40:28 +03:00
Triang3l 377b2da2d5 [D3D12] DXBC: Use eq, not lt, to check for zero operands in mul 2018-09-18 21:44:39 +03:00
Triang3l 7b450e9cec [D3D12] DXBC: SM3 zero handling in all multiplication instructions 2018-09-18 17:00:52 +03:00
Triang3l 836b4eef27 [D3D12] DXBC: Handle zeros in dot product and add missing instruction count increments 2018-09-18 15:27:34 +03:00
Triang3l 41d461d3a5 [D3D12] DXBC: Zero operand handling in vector mul and mad 2018-09-18 12:37:47 +03:00
Triang3l a27740a41f [D3D12] Set binding texture to null if the key is not valid 2018-09-17 08:08:45 +03:00
Triang3l 34fef0911c [GPU] Fix dynamic GPR addressing check 2018-09-17 07:35:56 +03:00
Triang3l 79b745527c [D3D12] Fix pipeline creation being stuck due to primitive topology type not being saved 2018-09-16 21:48:23 +03:00
Triang3l be2d522e19 [D3D12] Rename shaders/bin to shaders/dxbc because of .gitignore 2018-09-16 20:35:10 +03:00
Triang3l ae3d0bbb57 [D3D12] Clear both color and depth in resolves 2018-09-16 19:49:01 +03:00
Triang3l f8506d6b62 [D3D12] Use ByteSwap64 in 64bpp raw resolve 2018-09-16 18:54:59 +03:00
Triang3l 5997ec6668 [D3D12] 64bpp resolve and clear - GTA IV ingame 2018-09-16 17:14:21 +03:00
Triang3l 5f0df6d1fa [D3D12] Pipeline debug name, DXBC norm16 vertex fix 2018-09-16 15:57:22 +03:00
Triang3l c9ffe98d21 [D3D12] 64bpp raw resolve and EDRAM refactoring 2018-09-16 15:11:11 +03:00
Triang3l 5be78ab369 [D3D12] Non-indexed triangle fans and resource creation refactoring 2018-09-15 23:41:16 +03:00
Triang3l d1f185c744 [D3D12] Triangle fan conversion (untested, only indexed and without cache) 2018-09-15 15:11:03 +03:00
Triang3l a6304cd9fe [D3D12] Fix 7e3 and 20e4 conversion negative value handling 2018-09-13 20:03:05 +03:00
Triang3l 9a9665e4b8 [D3D12] Add DXBC to xenia-gpu-shader-compiler 2018-09-13 18:33:43 +03:00
Triang3l bd6b3c3e30 [D3D12] Remove the HLSL shader translator 2018-09-13 18:17:40 +03:00
Triang3l eed673eef4 [D3D12] DXBC: Fix VPOS SSAA inverse scale constant register 2018-09-13 18:01:42 +03:00
Triang3l 3194ad5938 [D3D12] DXBC: Format getGradients code 2018-09-13 18:00:56 +03:00
Triang3l d82fb7d9e6 [D3D12] DXBC getGradients and maxa clamp notes 2018-09-13 14:43:07 +03:00
Triang3l 8587438f70 [D3D12] DXBC: Fix anisotropic filtering sampler name suffix 2018-09-13 13:26:01 +03:00
Triang3l f882743d7f [D3D12] DXBC ps_param_gen 2018-09-13 10:26:17 +03:00
Triang3l cfef083271 [D3D12] DXBC: Shorten texture degamma 2018-09-13 09:38:14 +03:00
Triang3l 461fd3f693 [D3D12] DXBC texture sign bias, gamma and exponent bias 2018-09-12 23:34:58 +03:00
Triang3l 099de4487b [D3D12] DXBC vertex W format 2018-09-12 21:39:13 +03:00
Triang3l 283461be6c [D3D12] DXBC alpha test 2018-09-12 21:02:22 +03:00
Triang3l 9f7496ac23 [D3D12] DXBC RDEF, operand swizzle and cubemap orientation fix 2018-09-12 19:54:24 +03:00
Triang3l 4651a0b5ed [D3D12] DXBC: (Currently incorrect) cube undoing 2018-09-12 16:49:23 +03:00
Triang3l 15e0501a49 [D3D12] DXBC binding fixes 2018-09-11 23:15:32 +03:00
Triang3l 2a98d29eda [D3D12] DXBC: Most of tfetch 2018-09-11 22:57:08 +03:00
Triang3l d67b6f7a3e [D3D12] DXBC texture size, offset, unnormalized coordinates 2018-09-11 14:47:39 +03:00
Triang3l d4334312f3 [D3D12] DXBC samplers 2018-09-11 12:37:47 +03:00
Dr. Chat 37e59464c2 [UI] Undo warning fix in file_picker_win.cc 2018-09-10 20:38:58 -05:00
Triang3l 06fabd16ad [D3D12] DXBC control flow 2018-09-10 23:30:53 +03:00
Triang3l d5d3f336f5 [D3D12] DXBC loop start and exece 2018-09-10 22:38:15 +03:00
Triang3l 20e607a35c [D3D12] DXBC exec and predicate 2018-09-10 21:35:12 +03:00
Triang3l b0fdab1754 [D3D12] DXBC: Format if instruction 2018-09-10 18:32:03 +03:00
Triang3l f4b83cb670 [D3D12] DXBC main loop and labels 2018-09-10 13:20:35 +03:00
Triang3l 4268466383 [D3D12] DXBC texture bindings (but no samplers and fetch) 2018-09-09 23:33:08 +03:00
Triang3l 091d51f841 [D3D12] DXBC: Unload vfetch index operand 2018-09-09 19:04:03 +03:00
Triang3l a6da33e463 [D3D12] DXBC cube instruction 2018-09-09 18:38:58 +03:00
Triang3l 3b7d6bfdcb [D3D12] Format DXBC and HLSL shader translator code 2018-09-09 14:12:40 +03:00
Triang3l 01bbba32cb [D3D12] DXBC muls_prev2 2018-09-09 00:16:04 +03:00
Triang3l 0a79a36cfa [D3D12] DXBC logc and reciprocals 2018-09-08 23:06:00 +03:00
Triang3l a6936ab4ce [D3D12] DXBC clip space scale/offset 2018-09-08 21:48:00 +03:00
Triang3l 3a86d78c18 [D3D12] DXBC: Re-enable indexable temps because they are okay on Nvidia 2018-09-08 21:14:02 +03:00
Triang3l b56ff6e325 [D3D12] DXBC: Use the same code for dp4/dp3 as add/mul/max/min 2018-09-08 20:16:00 +03:00
Triang3l b91866fa49 [D3D12] DXBC: Use movc instead of indexable temps by default because of Nvidia hang 2018-09-08 15:11:25 +03:00
Justin Moore 91c53f975e
Merge pull request #1209 from Triang3l/all_format_info
[GPU] Add info about unknown texture formats
2018-09-07 17:08:07 -05:00
Triang3l 0165136f69 [D3D12] DXBC: Partial revert of x# changes because literals can be written to them 2018-09-07 23:02:34 +03:00
Triang3l bc9b95ac57 [D3D12] DXBC: Fix indexable temp usage 2018-09-07 22:04:57 +03:00
Triang3l 04544945d0 [D3D12] DXBC: Fix vector write mask usage 2018-09-07 20:27:08 +03:00
Triang3l 8ecedbb20a [D3D12] DXBC: Vfetch exponent bias 2018-09-07 09:17:36 +03:00
Triang3l 64fe2d8600 [D3D12] DXBC: Fix a typo breaking pixel shaders 2018-09-07 09:08:04 +03:00
Justin Moore 413a04eb1b
Merge pull request #1211 from Triang3l/patch-1
[GPU] Add texture signedness enumeration
2018-09-06 19:26:06 -05:00
Triang3l edcb537f9e [D3D12] DXBC vertex fetch (hangs GPU currently) 2018-09-07 00:36:15 +03:00
Triang3l 4212d2296a [D3D12] Remove 6_5_5 textures temporarily because they need custom untililng 2018-09-06 23:14:35 +03:00
Triang3l e2d60a4708 [D3D12] DXBC: Convert vertex index to float 2018-09-06 22:45:07 +03:00
Triang3l 2b2d7e71c6 [D3D12] DXBC: Add base vertex index 2018-09-06 22:22:19 +03:00
Triang3l 0d3ef9e05d [D3D12] DXBC vfetch byte swap 2018-09-06 22:05:20 +03:00
Triang3l bed58a2282 [D3D12] DXBC vfetch ld_raw part 2018-09-06 17:05:36 +03:00
Triang3l a0aa55b1e8 [D3D12] DXBC: Move interpolants to GPRs in pixel shaders 2018-09-06 14:16:17 +03:00
Triang3l 4cc9e84f35 [D3D12] DXBC position and color output 2018-09-06 13:37:14 +03:00
Triang3l ae4b34c66c [D3D12] DXBC: Result storing 2018-09-05 21:37:34 +03:00
Triang3l fd27057ce1 [D3D12] DXBC: Portion of result storing 2018-09-05 21:14:04 +03:00
Triang3l 5fb3fe3ab5 [D3D12] DXBC: maxas, maxasf 2018-09-05 18:43:06 +03:00
Triang3l b63d38319b [D3D12] DXBC: All setp instructions 2018-09-05 18:11:26 +03:00
Triang3l db87efdfaa [D3D12] DXBC: Most scalar opcodes 2018-09-05 16:38:47 +03:00
Triang3l 8cd645c4a4 [D3D12] DXBC vector ALU (except for cube) 2018-09-05 14:02:18 +03:00
Triang3l c4ceb6c0b9 [D3D12] DXBC: More vector instructions 2018-09-04 23:02:55 +03:00
Triang3l 72e6526067 [D3D12] DXBC: Some vector ALU opcodes 2018-09-03 23:03:37 +03:00
Triang3l b1247bd708 [D3D12] DXBC bool and 0/1 operand loading 2018-09-03 21:51:13 +03:00
Triang3l 04383a2113 [D3D12] DXBC loop constant loading 2018-09-03 08:14:52 +03:00
Triang3l cb9c2984dc [D3D12] DXBC float constant loading 2018-09-03 07:58:39 +03:00
Triang3l 45c83e84c8 [D3D12] DXBC source operand loading - registers 2018-09-02 23:35:11 +03:00
Triang3l 4a2329da25 [D3D12] DXBC source operand usage tokens 2018-09-02 21:12:36 +03:00
Triang3l 5798c9a45c [D3D12] DXBC SV_IsFrontFace 2018-09-02 17:14:11 +03:00
Triang3l 5dcff19efc [D3D12] DXBC internal registers 2018-09-02 16:50:00 +03:00
Triang3l 1413a7d206 [GPU] Rename uses_register_relative_addressing to uses_register_dynamic_addressing 2018-09-02 16:31:21 +03:00
Triang3l eda0d31b8f [D3D12] DXBC: Remove one TODO 2018-09-02 16:25:11 +03:00
Triang3l f90fa0cf33 [D3D12] DXBC vertex index byte swap 2018-09-02 16:10:20 +03:00
Triang3l fc6d388c4b [D3D12] DXBC code cleanup (mainly operands) 2018-09-02 13:58:03 +03:00
Triang3l 71e9085532 [D3D12] DXBC - reset interpolators and point parameters 2018-09-02 00:16:58 +03:00
Triang3l 5f24315c0e [D3D12] DXBC operand note comment 2018-09-01 23:28:28 +03:00
Triang3l b404f227b1 [D3D12] DXBC internal r# stack allocation 2018-09-01 22:20:05 +03:00
Triang3l da9f153a29 [D3D12] DXBC: Don't use indexable temps unless needed 2018-08-31 20:28:29 +03:00
Triang3l dad10c30e9 [GPU] Detect dynamic temp indexing before translating shaders 2018-08-31 20:06:53 +03:00
Triang3l 8c314072c8 [D3D12] DXBC color output remapping 2018-08-31 16:30:08 +03:00
Triang3l 37001993c5 [D3D12] DXBC indexable temps 2018-08-31 14:04:57 +03:00
Triang3l 4c812da3f2 [D3D12] DXBC pixel shader I/O and refactoring 2018-08-31 13:00:47 +03:00
Triang3l 639be6fdb8 [D3D12] DXBC vertex shader I/O 2018-08-30 22:04:11 +03:00
Triang3l 8268825f3b [D3D12] Switch to DXBC shader translator (currently unusable) 2018-08-30 20:42:22 +03:00
Triang3l 8376918bb7 [D3D12] DXBC shared memory 2018-08-30 19:46:06 +03:00
Triang3l 8d7559f0f9 [D3D12] DXBC dcl_constantbuffer 2018-08-30 19:01:05 +03:00
Triang3l aac20b6f91 [D3D12] DXBC ret and some RDEF/OSGN fixes 2018-08-30 15:58:48 +03:00
Triang3l 28b56aac2b [D3D12] DXBC SHEX writing 2018-08-30 15:12:27 +03:00
Triang3l c6e0c66c44 [D3D12] DXBC STAT writing 2018-08-30 14:42:17 +03:00
Triang3l 501bec8e5e [D3D12] Change root signature to allow vfetch in pixel shaders 2018-08-30 14:02:32 +03:00
Triang3l ac9d3d0b59 [D3D12] DXBC output signature 2018-08-29 23:36:08 +03:00
Triang3l b46a0c285f [D3D12] DXBC input signature 2018-08-29 21:54:22 +03:00
Triang3l b2ddbb6096 [D3D12] DXBC RDEF cbuffer bindings 2018-08-29 20:32:31 +03:00
Triang3l a30f8d6374 [D3D12] DXBC RDEF cbuffers 2018-08-29 19:46:38 +03:00
Triang3l 3edf41bea4 [D3D12] DXBC RDEF constants 2018-08-29 18:05:50 +03:00
Triang3l 6d783fd3bf [D3D12] DXBC RDEF types 2018-08-29 16:57:29 +03:00
Triang3l 443e371a94 [D3D12] Make SHM t0 and textures t1+ in VS as in DXBC SHM will be added first 2018-08-28 17:42:11 +03:00
Triang3l b3650a4b66 [D3D12] 6_5_5 texture format 2018-08-28 16:22:31 +03:00
Triang3l c2a5b65f8d [D3D12] Packed texture format swizzles 2018-08-28 16:10:26 +03:00
Triang3l df22ef2e6a [D3D12] EDRAM store sorting fix and RT base logging 2018-08-28 14:58:52 +03:00
Triang3l ccb57373fe [D3D12] DXBC RDEF header 2018-08-27 22:21:37 +03:00
Triang3l 90a36e3818 [D3D12] Alphatest fix and HLSL style cleanup 2018-08-27 17:21:57 +03:00
Triang3l 285de2a521 [D3D12] DXBC string append 2018-08-27 16:53:59 +03:00
Triang3l 1dc98d9133 [D3D12] DXBC size and checksum 2018-08-27 16:18:21 +03:00
Triang3l 945ced4996 [D3D12] Begin writing the DXBC translator 2018-08-27 15:58:58 +03:00
Triang3l 8ced574c6f [D3D12] Add DXBC tokens and checksum 2018-08-27 15:18:30 +03:00
Triang3l 629a8e0e25 [D3D12] Profile GPU time via BeginFrame 2018-08-27 12:54:15 +03:00
Triang3l 6d48b856b9 [D3D12] Point sprites and color exponent bias 2018-08-27 12:36:09 +03:00
Triang3l 1818905366 [D3D12] Add a flag to toggle half pixel offset 2018-08-26 23:50:38 +03:00
Triang3l 660a606f5e [D3D12] Make depth buffers less important than color in case of EDRAM aliasing 2018-08-26 20:26:49 +03:00
Triang3l 592873cf9f [D3D12] Quad list geometry shader 2018-08-26 19:51:20 +03:00
Triang3l 2c24622bdb [D3D12] Align size given by GetCopyableFootprints, fix device loss in Halo: Reach 2018-08-26 19:04:28 +03:00
Triang3l 85677af156 [D3D12] Translate shaders before updating render targets so color mask is valid 2018-08-26 17:45:23 +03:00
Triang3l e819a41300 [D3D12] Banjo-Kazooie/Tooie top tile clear fix (rendering still broken in Tooie) 2018-08-26 16:45:21 +03:00
Triang3l 91ef453534 [D3D12] Try to reload textures when a watch is triggered 2018-08-26 14:52:18 +03:00
Triang3l 227268ef65 [D3D12] Cleanup raw buffer view creation 2018-08-26 13:09:47 +03:00