Commit Graph

4215 Commits

Author SHA1 Message Date
Triang3l e39bb04875 [D3D12] ROV: Fix min/max blending operation 2018-10-29 10:24:49 +03:00
Triang3l c7befee395 Merge branch 'master' into d3d12 2018-10-28 20:31:49 +03:00
Dr. Chat c95ba803a8 Merge branch 'xexp' 2018-10-28 12:20:02 -05:00
Dr. Chat 7443b7e61f [CPU] Rename ImportLibrary fields to follow naming conventions 2018-10-28 09:41:31 -05:00
Triang3l 83c99bc811 [D3D12] Fix resolve region handling 2018-10-28 14:36:41 +03:00
Triang3l 4162716a54 Merge branch 'master' into d3d12 2018-10-26 22:04:59 +03:00
Triang3l 1d45a4f67e [D3D12] Round to nearest when converting to fixed-point 2018-10-26 22:04:11 +03:00
Triang3l f4844207ad [D3D12] Mark 8_8_8_8_GAMMA_EDRAM as non-texture in the texture format list 2018-10-25 09:45:10 +03:00
Triang3l fb5030171e [D3D12] RGBA32F resolve 2018-10-25 09:32:19 +03:00
Triang3l 64d5574023 [D3D12] Don't apply the epsilon offset to cubemap face 2018-10-24 17:30:28 +03:00
Triang3l cabffea4d7 [D3D12] Write pixel, not sample, position to ps_param_gen 2018-10-24 17:08:15 +03:00
Triang3l e68a0c37b9 [D3D12] Add epsilon to texture coordinates to resolve tie in nearest-neighbor filtering 2018-10-24 16:35:00 +03:00
Rick Gibbed 6a39d4b1f5
Merge pull request #1240 from 0x8080/Exports
[Kernel] Define all exports for xboxkrnl/xam/xbdm
2018-10-23 18:30:04 -05:00
0x7FFFFFFF 96bb9b04da [Kernel] Define all exports for xboxkrnl/xam/xbdm 2018-10-23 17:26:47 -06:00
gibbed a33b13c174 [Kernel] Stub XamShowNuiTroubleshooterUI. 2018-10-23 17:48:10 -05:00
gibbed 3a64cf64e0 [Kernel] Stub HidReadKeys. 2018-10-23 16:43:31 -05:00
Triang3l 119342dbac Merge branch 'master' into d3d12 2018-10-23 23:35:06 +03:00
Triang3l 76c14f7e58 [APU] Load XAudio2_8.dll dynamically 2018-10-23 23:34:41 +03:00
Triang3l aef0675c31 [GPU] Don't ignore vector instructions with side effects when they write to nowhere 2018-10-23 22:46:03 +03:00
Triang3l 43f34d804a [D3D12] Load D3D dynamically 2018-10-23 19:21:01 +03:00
Triang3l b81bb4d68c [D3D12] Code cleanup 2018-10-23 16:42:53 +03:00
Triang3l 31e0581304 [D3D12] Indexed line loops 2018-10-23 13:36:03 +03:00
Triang3l 096d78a2f9 [D3D12] Expose ROV toggle in xenia-gpu-shader-compiler 2018-10-23 11:04:36 +03:00
Triang3l 404535cdd8 Merge branch 'master' into d3d12 2018-10-23 10:54:58 +03:00
Triang3l 00adfcadf9
[UI] Fix build error in file_picker_win.cc using decltype 2018-10-23 10:54:16 +03:00
Triang3l f78c48d6f9 [D3D12] Triangle fans with primitive restart 2018-10-23 08:14:41 +03:00
Triang3l fb12ee72cb [D3D12] Compilation fixes related to 8_8_8_8_GAMMA_EDRAM texture format 2018-10-22 23:30:11 +03:00
Triang3l 2b03a9e095 [GPU] Synchronize GPU frontend with the D3D12 branch 2018-10-22 23:28:52 +03:00
Triang3l abdb37464d
Merge branch 'master' into d3d12 2018-10-22 23:15:07 +03:00
emoose bf039172cf [Kernel] Add null pointer checks to xmp_app handlers 2018-10-22 18:01:09 +01:00
emoose 67f0e487f4 [Kernel] Fix _snwprintf not having format_core wide = true 2018-10-22 18:00:01 +01:00
Triang3l 729406dee2 [D3D12] ROV: Blend in linear color space 2018-10-22 15:54:41 +03:00
emoose 6e74ba93d6 [CPU] Add support for delta patches using *_offset fields 2018-10-22 12:26:14 +01:00
Triang3l 6b09c02c42 [D3D12] ROV: Alpha saturate blending factor 2018-10-22 07:45:59 +03:00
Triang3l f8d3e0c82f [D3D12] ROV: Small stencil-related cleanup 2018-10-21 22:14:48 +03:00
Triang3l b183b13868 [D3D12] ROV: Fix 7e3 alpha converted twice 2018-10-21 15:33:51 +03:00
Triang3l 8cfff36ec1 [D3D12] ROV: UAV barrier in Resolve 2018-10-21 14:53:29 +03:00
Triang3l b6006dc4b2 [D3D12] ROV: Fix 32-bit storing 2018-10-21 14:16:23 +03:00
Triang3l 24bf39e942 [D3D12] ROV: Don't clamp during blending for floats 2018-10-21 13:44:35 +03:00
Triang3l eb185ab64c [D3D12] ROV: Clamp float16 to 65504 to prevent Infinity 2018-10-20 21:50:57 +03:00
Triang3l 24ebe6b1a7 [D3D12] ROV: Non-IEEE multiplication in blending 2018-10-20 17:58:02 +03:00
emoose d2fd109af3 [CPU] Add more asserts for XEXP descriptor (+ log a warning) 2018-10-20 05:08:14 +01:00
emoose 265903fe66 [CPU] Add XEXP support to XexModule, if XEXP is in same folder as XEX
This was a headache to work out, big thanks to the lack of documentation on .xexp files... a ton of guesswork was involved here but luckily it turned out well.

I did have to make some pretty major changes to the way XEX files are loaded though.
Previously it'd just load everything in one go: XEX headers -> decrypt/decompress data -> load imports/symbols -> set loader data table entries, etc...

Now it's changed to something like this:
- Load base XEX headers + decrypted/decompressed image data, return X_STATUS_PENDING
- In the LoadFromFile call used to load the XEX, search for XEXP patch file (only .xexp in same folder atm)
- If patch exists: load XEXP, decrypt headers/data, apply patch to base XEX, dispose of XEXP
- Finish XEX load via LoadXexContinue() (handles imports/symbols/loader data...)

This saves us from needing to reset the imports/function/symbol stuff after patching (since all the XEX code will be a lot different), but I'm not really sure if I went about it the best way.
2018-10-20 04:36:21 +01:00
emoose 0b7f7e1657 [CPU] Move XEX2 code into XexModule class, autodetect XEX key
Code is mainly just copy/pasted from kernel/util/xex2.cc, I've tried fixing it up to work better in a class, but there's probably some things I missed.

Also includes some minor improvements to the XEX loader, like being able to try both XEX keys (retail/devkit) automatically, and some fixes to how the base address is determined.

(Previously there was code that would get base address from optional header, code that'd get it from xex_security_info, code that'd use a stored base address value...
Now everything reads it from a single stored value instead, which is set either from the xex_security_info, or if it exists from the optional header instead.
Maybe this can help improve compatibility with any weird XEX's that don't have a base address optional header?)

Compressed XEX loader also has some extra checks to make sure the compressed data hash matches what's expected.
Might increase loading times by a fraction, but could save reports from people unknowingly using corrupt XEXs.
(still no checks for non-compressed data though, maybe need to compare data with xex_security_info->ImageHash?)
2018-10-20 04:18:18 +01:00
Triang3l 1d97fe7d53 [D3D12] ROV: Declare SV_IsFrontFace in the depth-only shader 2018-10-19 12:30:09 +03:00
Triang3l 18ef1248f9 [D3D12] ROV: Use front face stencil for back face when needed 2018-10-19 11:55:01 +03:00
Triang3l c1e78f6953 [D3D12] ROV: Broken stencil test 2018-10-19 11:33:50 +03:00
Triang3l ea2864d21e [D3D12] ROV: Stencil constant declarations 2018-10-18 23:02:25 +03:00
Triang3l d214c62c78 [D3D12] ROV: Fix write mask source 2018-10-18 20:59:24 +03:00
Triang3l f48ea20880 [D3D12] ROV: Track which RTs and components have been actually written 2018-10-18 14:54:33 +03:00
Triang3l 1860bc6a59 [D3D12] Display whether ROV is actually used in the title 2018-10-17 17:53:37 +03:00
Triang3l f5a90faeab [D3D12] ROV: Separate depth and stencil discard/writing 2018-10-17 16:22:24 +03:00
Triang3l 1c6d753e55 [D3D12] ROV: Depth test refactoring 2018-10-17 15:23:58 +03:00
Triang3l 6c0ffe881a [D3D12] ROV: Min/max blend operations 2018-10-17 13:04:03 +03:00
Triang3l 17a737a358 [D3D12] Display ROV support in the window title 2018-10-16 21:19:45 +03:00
Triang3l 37fe120fe0 [D3D12] ROV: Write mask, write in ascending RT number order 2018-10-16 20:50:01 +03:00
Triang3l e8414da5dd [D3D12] ROV: Fix depth format system constant setting 2018-10-16 18:08:18 +03:00
Triang3l 5f2c4500d6 [D3D12] ROV: Clamp values participating in blending 2018-10-16 15:02:08 +03:00
Triang3l 2d56c9ae30 [D3D12] ROV: Empty pixel shader for depth-only drawing 2018-10-16 14:02:43 +03:00
Triang3l 6e9964b43e [D3D12] ROV: Fix depth testing 2018-10-15 23:16:34 +03:00
Triang3l e455467c32 [D3D12] ROV: Non-working depth testing code 2018-10-15 22:13:06 +03:00
Christian Hawley add23849bf [CPU] Implement lmw and stmw instructions 2018-10-14 13:57:45 -04:00
Triang3l fa968a9ecd [D3D12] ROV: Fix 7e3 denormal read 2018-10-14 16:05:11 +03:00
Triang3l 5395183d98 [D3D12] ROV: 64bpp load/store 2018-10-14 14:38:04 +03:00
Triang3l eb8596d72a [D3D12] ROV: Cleanup format system constants 2018-10-14 12:04:39 +03:00
Triang3l 518535bbd3 [D3D12] ROV 7e3 reading 2018-10-13 20:19:42 +03:00
Triang3l 148a713280 [D3D12] ROV 7e3 writing 2018-10-13 19:10:25 +03:00
Triang3l c8a48f9c1c [D3D12] ROV: Blending fixes 2018-10-13 17:44:04 +03:00
Triang3l efc7f794ed [D3D12] DXBC: Fix position/color use after free, fix ROV color load/store 2018-10-13 15:38:49 +03:00
Triang3l f98a4d11ea [D3D12] ROV: A bit of non-working blending code 2018-10-13 14:33:22 +03:00
Triang3l 60c7f11fe0 [D3D12] Blend constant values 2018-10-12 23:56:49 +03:00
Triang3l 5f108246b6 [D3D12] ROV: Blending constant declaration 2018-10-12 22:28:07 +03:00
Triang3l 10a3dc6d94 [D3D12] ROV: 32-bit loading, except for 7e3 2018-10-12 20:07:00 +03:00
Triang3l 3dc15dbb44 [D3D12] ROV: 32bpp storing (except for 7e3) 2018-10-12 09:59:31 +03:00
Triang3l 615fade64e
[D3D12] ROV: Fix EDRAM pitch shader constant size 2018-10-11 19:59:35 +03:00
Triang3l 197b1d8114 [D3D12] ROV: EDRAM offset calculation 2018-10-11 10:16:36 +03:00
Triang3l 8cde541596 [D3D12] ROV: Binding 2018-10-10 18:33:39 +03:00
Triang3l 67e5cb8681 [D3D12] ROV: Disable RTs when using ROV 2018-10-10 16:37:35 +03:00
Triang3l 6d2e74325c [D3D12] ROV: Check if supported 2018-10-10 14:30:29 +03:00
Triang3l 90f700c785 [D3D12] Analysis: Display fetch constant contents if type is wrong 2018-10-10 12:44:02 +03:00
Triang3l 7bc79cbd01 [D3D12] Signed texture SRVs 2018-10-09 21:44:18 +03:00
Triang3l 7603de218b [D3D12] DXBC part of signed textures 2018-10-09 08:31:09 +03:00
Triang3l 6a6e63060b [D3D12] Submit barriers before uploading gamma ramp 2018-10-08 19:42:02 +03:00
Triang3l fccebae703 [D3D12] PIX: Capture with F4, disable tiled resources when attached 2018-10-08 12:05:15 +03:00
Triang3l 16dc6e4100 [D3D12] DXBC: In getWeights, apply the offset for unnormalized coordinates only when needed 2018-10-07 21:51:18 +03:00
Triang3l 685d3074f4 [D3D12] Hash sampler bindings and refactor names in UpdateBindings 2018-10-07 20:21:18 +03:00
Triang3l 3de2b5e692 [D3D12] Code style fixes 2018-10-07 17:30:12 +03:00
Triang3l 400e6b7137 [D3D12] Don't replace strip reset index when not used, profile ConvertPrimitives 2018-10-07 15:26:47 +03:00
Triang3l 9194c3f8b0 [D3D12] Primitive converter cache and strip restart, texture invalidation acquire/release 2018-10-06 20:27:48 +03:00
Triang3l 128ac2a3f9 [D3D12] Align mipmap storage size to power of 2 when untiling 2018-10-05 20:48:11 +03:00
Triang3l 34946c57b0 [D3D12] Rename XeTextureCopy to XeTextureLoad in shaders 2018-10-05 20:02:36 +03:00
Triang3l 9dc7dfab02 [D3D12] Fix currently bound textures not reloaded if not needed immediately 2018-10-05 09:20:51 +03:00
Triang3l d827bbeb6c [D3D12] Fix texture binding hashing 2018-10-04 23:57:08 +03:00
Triang3l 131525e44d [D3D12] Don't create SRVs if textures not changed 2018-10-04 14:36:48 +03:00
Triang3l b77ffe3df6 [D3D12] Output gamma ramp 2018-10-03 14:36:17 +03:00
Triang3l c624bf8c49 [D3D12] DXBC: Use a0 for maxas scratch because ps must not be modified without a write mask 2018-10-02 21:24:50 +03:00
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
Triang3l 79d43bb943 [D3D12] Refactor compute pipeline creation 2018-08-26 00:56:41 +03:00
Triang3l 791c275fab [D3D12] Cleanup object destruction in Shutdown functions 2018-08-26 00:24:25 +03:00
Triang3l ff014d47d4 [D3D12] Refactor root signature creation 2018-08-25 23:37:11 +03:00
Triang3l 110d4724f9 Merge branch 'master' into d3d12 2018-08-25 23:26:32 +03:00
Triang3l dba8ab4eed [D3D12] Refactor descriptors and resolve logging 2018-08-25 22:42:18 +03:00
gibbed de43afbb54 Fix warnings when building on newer Windows 10 SDK versions. 2018-08-25 14:23:20 -05:00
Triang3l 50470d67a8 [D3D12] 32bpp and 20e4 clearing in resolves 2018-08-25 17:03:06 +03:00
Triang3l 66510b2e6f [D3D12] Experimental incomplete custom sample positions, disabled by default 2018-08-25 14:38:55 +03:00
Triang3l 304544cc72 [D3D12] Fix Y half-pixel offset 2018-08-25 10:50:47 +03:00
Triang3l 961c7e1198 [D3D12] Set 32bpp tile mode for all 32bpp formats 2018-08-25 10:29:52 +03:00
Triang3l 2c6224ad37 [D3D12] 32bpp tiling shader 2018-08-25 01:16:35 +03:00
Triang3l 4a747b3b81 [D3D12] Resolve shader and draw 2018-08-24 22:40:22 +03:00
Triang3l dd17cd3f9f [D3D12] Make RT heaps 48 MB so 2560x1024 RT can be resolved to R32G32B32A32 2018-08-23 23:25:42 +03:00
Triang3l 2e79eac976 [D3D12] Window output 2018-08-23 19:50:11 +03:00
Triang3l ea1abdaa6e [D3D12] Raw 32bpp resolve 2018-08-23 13:25:36 +03:00
Triang3l bc4125584c [D3D12] Shorten and batch barriers 2018-08-22 23:00:56 +03:00
Triang3l d204e9ba74 [D3D12] 32bpp raw resolve shader 2018-08-22 21:15:02 +03:00
Triang3l 2d8527c9df [D3D12] Common root constants for EDRAM load/store and single sample load 2018-08-22 19:54:51 +03:00
Triang3l c4f80aac0d [D3D12] EDRAM layout of a rectangle and other resolve stuff 2018-08-22 17:33:43 +03:00
Triang3l ddc8f17fa5 [D3D12] Depth untiling, update depth resolve documentation 2018-08-21 23:05:41 +03:00
Triang3l da1be211eb [D3D12] Add red/blue swap to EDRAM loads and describe resolve modes 2018-08-21 22:04:06 +03:00
Triang3l d628e92ff5 [D3D12] Resolve target dimensions 2018-08-20 19:09:04 +03:00
Triang3l f9fdcbb2dc [D3D12] Resolve dimension calculation 2018-08-20 17:58:20 +03:00
Triang3l 153c6bf713 [D3D12] Refactor EDRAM load/store pipelines into modes 2018-08-19 21:11:16 +03:00
Triang3l 1a4fc3bde2
[GPU] Add texture signedness enumeration
For sign_x, sign_y, sign_z and sign_w fields of xe_gpu_texture_fetch_t.
2018-08-19 15:25:20 +03:00
Triang3l e3a50a207d [D3D12] SHM functions needed for resolves 2018-08-18 22:43:02 +03:00
Triang3l 36cc19017a [D3D12] HLSL compilation fixes (still can't map one Halo 3 shader to vs_5_1) 2018-08-18 21:53:14 +03:00
Triang3l 7ba2526fa8 [D3D12] Move interpolators above position because it's more important for pixel shaders 2018-08-18 18:47:13 +03:00
Triang3l bd868ae6cc [D3D12] Fix a typo in linear texture address calculation 2018-08-18 18:37:20 +03:00
Triang3l b0dd9b6fd0 [D3D12] Shutdown immediate textures in the destructor 2018-08-18 15:25:30 +03:00
Triang3l bfb781d293 [D3D12] Texture invalidation (incomplete) 2018-08-18 15:24:02 +03:00
Triang3l 9e21f5ab67 [D3D12] SHM watch creation 2018-08-18 00:16:55 +03:00
Triang3l 005040e885 [D3D12] Shared memory watch structures 2018-08-17 21:41:18 +03:00
Triang3l e6ec390a04 [D3D12] Profile UpdateRenderTargets 2018-08-17 17:53:01 +03:00
Triang3l 8d6b75418d [D3D12] Clear present back buffer, more profiling scopes, remove logging in shared memory 2018-08-17 17:35:33 +03:00
Triang3l bf0f20df9b [D3D12] Immediate drawer 2018-08-17 16:55:31 +03:00
Triang3l e572f65d11 [D3D12] DXT5A swizzle 2018-08-16 17:36:03 +03:00
Triang3l ed7f4ec4be [D3D12] Fix a typo in HLSL sqrt 2018-08-16 16:19:45 +03:00
Triang3l 14523145a2 [D3D12] ps_param_gen in HLSL 2018-08-16 15:53:55 +03:00
Triang3l bb518407a2 [D3D12] Disable blending if it's 1*S+0*D 2018-08-16 14:16:56 +03:00
Triang3l 7ced7c932c [D3D12] Fix a typo in a blending register name 2018-08-16 14:02:53 +03:00
Triang3l d94ebaf580 [D3D12] HLSL alphatest 2018-08-16 13:44:48 +03:00
Triang3l 8d2bfd4b88 [D3D12] Fix 16.16.16.16 vertex fetch 2018-08-16 12:20:27 +03:00
Triang3l c547851626 [D3D12] Upload data to shared memory during frame (fixes swaying palms in CoD4) 2018-08-16 12:07:53 +03:00
Triang3l 1cec143810 [D3D12] DXT3A textures 2018-08-15 16:59:43 +03:00
Triang3l 428095f62a [D3D12] CTX1 texture loading shader 2018-08-15 16:27:13 +03:00
Triang3l 17fb60a97a [D3D12] Rectangle list geometry shader and viewport fixes 2018-08-14 17:21:18 +03:00
Triang3l 1200eaae24 [GPU/D3D12] Correct EDRAM texture format names 2018-08-13 19:50:38 +03:00
Triang3l 24c3bac898 [D3D12] Fix cubemap coordinates 2018-08-13 00:30:20 +03:00
Triang3l 01a3bc32f7 [D3D12] More texture formats, rename blend map 2018-08-12 22:58:45 +03:00
Triang3l 34a1846859 [D3D12] 3D and cube texture HLSL compilation fixes 2018-08-12 21:12:34 +03:00
Triang3l ebc5911634 [D3D12] Samplers and fix blending not enabled 2018-08-12 21:03:57 +03:00
Triang3l de70451ac8 [D3D12] Partially implement tfetch in HLSL 2018-08-12 19:37:03 +03:00
Triang3l b0993fa3f0 [D3D12] Tiny HLSL control flow cleanup 2018-08-12 01:15:38 +03:00
Triang3l 0900036795 [D3D12] HLSL control flow fixes (still broken) 2018-08-12 01:08:19 +03:00
Triang3l ede9055ca5 [D3D12] Fix RT formats and log their creation 2018-08-12 00:18:15 +03:00
Triang3l 19401f03d0 [D3D12] EDRAM load, fix EDRAM depth encoding 2018-08-11 23:39:27 +03:00
Triang3l c7da5f0572 [D3D12] Count dirty RT rows rather than tiles 2018-08-11 21:04:14 +03:00
Triang3l 9b303c64ba [D3D12] EDRAM storing and random cleanup 2018-08-11 20:33:33 +03:00
Triang3l a4b98cda31 [D3D12] Add a missing component count to HLSL vfetch 2018-08-10 22:34:42 +03:00
Triang3l e5eb6636a7 [D3D12] Add a missing new line to the shader translator 2018-08-10 19:21:18 +03:00
Triang3l fe5ec61b51 [D3D12] Render target allocation fixes 2018-08-10 19:11:03 +03:00
Triang3l 6b9717c7f7 [D3D12] Fix retarded render target allocation bugs 2018-08-10 18:44:38 +03:00
Triang3l 952bb91c3f [D3D12] Render target binding 2018-08-10 18:06:21 +03:00
Triang3l c0c0ca263d [D3D12] Overlap detection when adding RTs 2018-08-08 20:04:17 +03:00
Triang3l 46dc640209 [D3D12] Ignore draws not writing to depth and fix a typo 2018-08-07 22:59:18 +03:00
Triang3l 52a1a80200 [D3D12] Rough outline of render target architecture 2018-08-07 22:40:24 +03:00
Triang3l 83cf482a50 [D3D12] 32bpb and 128bpb untiling, fix 3D tiled offset 2018-08-06 23:31:09 +03:00
Triang3l cfd3821b83 [D3D12] DXT1 untiling 2018-08-06 20:10:53 +03:00
Triang3l 265d6eb9df [D3D12] Fix texture size calculation and add texture creation logging 2018-08-05 18:45:57 +03:00
Triang3l b50d6d844f [D3D12] Texture object creation 2018-08-05 17:43:00 +03:00
Triang3l d75a372780 [GPU] Add info about unknown texture formats 2018-08-05 14:02:58 +03:00
Triang3l 620aa664e4 [D3D12] Apply exponent bias to vertex fetches 2018-08-04 20:48:45 +03:00
Triang3l 6d9225e84c [D3D12] Increase shared memory tile heap size to 16 MB so we don't allocate too many of them 2018-08-04 19:11:46 +03:00
Triang3l 7d80b5ae0d [D3D12] Fetch constants in PS for exp bias and 3D/stacked 2018-08-04 17:08:27 +03:00
Triang3l 991b120454 [D3D12] Fix one comment regarding descriptors in d3d12_command_processor 2018-08-03 23:12:13 +03:00
Triang3l 8a24ff5078 [D3D12] Texture utility functions, all block sizes and bpp 2018-08-03 23:11:09 +03:00
Triang3l 35aaa72722 [D3D12] SRV and sampler bindings 2018-08-03 16:39:13 +03:00
Triang3l 471ff6f157 [D3D12] Remove 20e4 depth range comment because it's used for 0-1 depth 2018-08-02 19:21:06 +03:00
Triang3l 034eb66968 [D3D12] Scratch GPU-side buffer (for untiled texture data) 2018-08-01 21:38:38 +03:00
Triang3l 6d2441a9ee [D3D12] Remove context_ from PipelineCache 2018-08-01 18:41:07 +03:00
Triang3l a627ef3d66 [D3D12] Immediate drawer pixel shader and root signature 2018-08-01 18:15:17 +03:00
Triang3l 1ae30e5775 [D3D12] Don't add .xyzw swizzle to stores 2018-08-01 16:17:48 +03:00
Triang3l 2b482352d0 [D3D12] Don't crash if failed to compile a shader 2018-08-01 14:02:32 +03:00
Triang3l 235799eecd [D3D12] Half-pixel offset improvement 2018-08-01 13:26:39 +03:00
Triang3l 6d6e803c7d [D3D12] Flip the viewport 2018-08-01 13:12:06 +03:00
Triang3l dea463f79b [D3D12] Fixes to make things drawn 2018-08-01 12:52:22 +03:00
Triang3l 2cedd61009 [D3D12] Fix HLSL fetch cbuffer usage 2018-08-01 01:23:38 +03:00
Triang3l db625892ea [D3D12] Shared memory typo fix and improvements 2018-08-01 01:09:51 +03:00
Triang3l 8fadd7a242 [D3D12] Fix vertex address in fetch range usage 2018-07-31 19:57:12 +03:00
Triang3l 5d0ad2e465 [D3D12] Draw calls 2018-07-31 19:23:43 +03:00
Triang3l bb045cae70 [D3D12] Restore W and apply half-pixel offset in VS 2018-07-31 17:13:44 +03:00
Triang3l fb1051b610 [D3D12] System constant setting and some cleanup 2018-07-31 16:17:51 +03:00
Triang3l 2183a969af [D3D12] Make tiled resource toggleable, disable debug layer by default 2018-07-30 20:18:52 +03:00
Triang3l e0eede73b9 [D3D12] Constant buffer binding 2018-07-30 15:59:43 +03:00
Triang3l 84e7ae16e7 [D3D12] Enable independent blending 2018-07-29 17:30:08 +03:00
Triang3l 8002de774a [D3D12] Descriptor heap pool 2018-07-29 15:29:48 +03:00
Triang3l 2d59231993 [D3D12] Pipeline cache and command processor formatting 2018-07-29 00:57:25 +03:00
Triang3l b567b9e9cc [D3D12] Upload buffer pool class 2018-07-29 00:56:37 +03:00
Triang3l ae7ff58f81 [D3D12] Pipeline cache 2018-07-28 16:30:47 +03:00
Triang3l 4f7edff19d [D3D12] SHM: Watches prototype, some uploading 2018-07-26 22:52:26 +03:00
Triang3l 812a35caff [D3D12] SHM: Range fixes, logging, testing 2018-07-26 01:01:48 +03:00
Triang3l bd54e905b2 [D3D12] SHM: Mark outdated pages for upload when using them 2018-07-25 21:36:39 +03:00
Triang3l 2be5f2cfa2 [D3D12] SHM uploading 2018-07-25 20:24:39 +03:00
Triang3l bbabbc2439 [D3D12] SHM - mark pages as modified in the beginning of a frame 2018-07-25 15:04:14 +03:00
Triang3l ae1196f29d [D3D12] Shared memory - heap creation 2018-07-25 00:47:02 +03:00
Triang3l 82f2abed0d [D3D12] Command processor command lists 2018-07-24 17:07:38 +03:00
Triang3l 3a90f7a246 [D3D12] Enable instruction numbers and offsets in DXBC disassembly 2018-07-24 16:47:55 +03:00
Triang3l 49e9ebce50 [D3D12] Don't require typed UAV loads 2018-07-24 16:08:30 +03:00
Triang3l ea922bb3ab [D3D12] Temporarily disable shader optimization 2018-07-24 16:07:00 +03:00
Triang3l c0ff73a588 [D3D12] Build and code format fixes 2018-07-24 15:14:16 +03:00
Triang3l 87aecfa1b8 [D3D12] Shaders (not all compiling yet) 2018-07-24 14:57:21 +03:00
Triang3l b0421de496 [D3D12] Cube instructions 2018-07-23 18:37:55 +03:00
Triang3l f237f7e8eb [D3D12] Shader translator CompleteTranslation 2018-07-23 17:23:35 +03:00
Triang3l 60706077a3 [D3D12] Shader translator scalar ALU 2018-07-23 16:55:40 +03:00
Triang3l 40806c1b67 [D3D12] Shader compiler vector ALU 2018-07-23 11:22:43 +03:00
Triang3l 3101930526 [D3D12] Shader translator vertex fetch 2018-07-22 23:15:36 +03:00
Triang3l 67f88ff59c [D3D12] HLSL shader translator stores 2018-07-22 14:28:33 +03:00
Triang3l 11e4ae3f90 [D3D12] HLSL shader translator loads 2018-07-22 13:35:40 +03:00
Triang3l d60c8b29ca [D3D12] Convert GlslShaderTranslator flow control to HLSL 2018-07-21 23:37:28 +03:00
Triang3l 7afc40820b [D3D12] Require tiled resources for virtual memory 2018-07-21 21:52:20 +03:00
Triang3l 00d5bd48da [D3D12] A bit of HLSL shader translator 2018-07-21 21:45:33 +03:00
Triang3l 5629a8248e [D3D12] Use a single command list for all composition 2018-07-20 17:18:57 +03:00
Triang3l cd1cf3a857 [D3D12] Make something buildable 2018-07-20 15:18:02 +03:00
Triang3l 0ded51f894 [D3D12] Context Begin/EndSwap 2018-07-19 18:28:07 +03:00
Triang3l 14bfac3ebd [D3D12] Rename D3D12Provider getters 2018-07-19 14:52:54 +03:00
Triang3l f5e91ba97c [D3D12] Command list, fence cleanup 2018-07-19 14:51:07 +03:00
Triang3l ffcf18f193 [D3D12] Move fences to a separate class, get rid of Vulkan provider 2018-07-19 14:08:52 +03:00
Triang3l d7701ae86b [D3D12] D3D12Context initialization 2018-07-19 12:48:11 +03:00
Triang3l 03682e81d1 [D3D12] ID3D12Device creation 2018-07-18 20:30:49 +03:00
Triang3l e9083dbc2f [D3D12] Create xenia-ui-d3d12 project 2018-07-18 15:02:37 +03:00
Triang3l 03da2929aa [D3D12] Add HLSL building to xenia-build 2018-07-18 13:16:12 +03:00
Triang3l fde3c1f0e8 [D3D12] Copy the null graphics system as D3D12 2018-07-18 12:02:00 +03:00
Triang3l c2b2a9f376 [D3D12] Create the project and link D3D libraries 2018-07-18 11:42:51 +03:00
gibbed ba7dc6b2d7 [GPU] Improve readability of initialization errors and remove references to OpenGL. 2018-07-01 16:50:03 -05:00
Rick Gibbed 94d1106386
Merge pull request #1177 from Triang3l/depthbias.
[GPU] Depth bias support
2018-07-01 01:34:34 -05:00
gibbed 15eb6ed2d9 [Vulkan] Fix GetMipExtent calculating mip extent incorrectly. 2018-07-01 01:31:33 -05:00
gibbed 4357415892 [GPU] Better names for tiled functions. 2018-07-01 01:30:22 -05:00
Rick Gibbed 724086dcad
Merge pull request #1189 from Triang3l/vpk_vupk_constants.
[CPU] Unify constant operand checks in pack/unpack
2018-07-01 01:23:11 -05:00
Rick Gibbed f24dbaa21b
Merge pull request #1176 from Triang3l/xex_exe_extension.
[Core] Treat .exe files as XEX
2018-07-01 01:14:04 -05:00
Dr. Chat f89b4626a3 [VFS] Add VFS dump tool (supporting STFS only as of now) 2018-06-26 13:45:16 -05:00
Triang3l dd19701dc4 [CPU] Unify constant operand checks in pack/unpack 2018-06-18 13:55:46 +03:00
Triang3l c6255af824 [GPU] Depth bias support 2018-06-16 16:32:14 +03:00
Unknown 86443dd28a Persist title-specific profile content 2018-06-13 19:37:15 -07:00
Triang3l c89cc6a229 [CPU] vupkd3d: NaN on negative overflow and tests 2018-06-11 21:34:13 +03:00
Triang3l 0378f532ab [CPU] Fix W in 2101010 vupkd3d and revert untested saturation 2018-06-11 17:22:15 +03:00
Triang3l bd02fd31bd [Core] Treat .exe files as XEX 2018-06-09 10:24:11 +03:00
gibbed 5f16e46282 [Core] Do a case-insensitive compare for extension when launching a path. Fixes #1175. 2018-06-09 01:22:45 -05:00
gibbed c11cce2d3b Oops. Fix premake for xenia-ui-window-vulkan-demo. 2018-06-08 10:09:12 -05:00
gibbed fb9eb84893 Fix premake for xenia-hid-demo and xenia-ui-window-vulkan-demo. 2018-06-08 09:52:35 -05:00
gibbed 40e8d78d16 [Kernel] Allow specifying of additional command-line passed to guest. 2018-06-06 19:56:03 -05:00
gibbed 43b987da1e [HID] Make winkey key checks more readable. 2018-06-05 08:15:59 -05:00
gibbed 8d5d6c5a59 [HID] Allow shift in winkey input to toggle d-pad in addition to capslock. 2018-06-05 08:13:51 -05:00
gibbed 1409b9c565 [GPU/Vulkan] Add support for 2D image stacks. 2018-06-05 07:51:51 -05:00
gibbed 4caa2a2145 [Vulkan] Blacklist some validation layer errors we don't care about. 2018-06-04 23:37:58 -05:00
gibbed 486172770d [GPU] Ignore min mip level when one is specified and there is no mip address. 2018-06-04 22:54:41 -05:00
gibbed aba0f3c628 [GPU] Ensure pitch/height are a multiple of block size for host textures. 2018-06-04 22:53:30 -05:00
gibbed 2c7043bd98 [GPU/Vulkan] Maybe fix minimum mip level. Probably breaks everything. 2018-06-04 10:13:28 -05:00
gibbed b5a88d1a7d [GPU] Track unaligned (visible) block width in texture info.
[Vulkan] Don't use power of two for mip width/height calculation for host textures.
[Vulkan] Add more Vulkan error logging.
[Vulkan/GPU] Rudimentary texture dumping.
2018-06-04 06:08:29 -05:00
gibbed b35fe935f9 [GPU] Ignore mipmap level count when mip data address is invalid. 2018-06-01 22:04:31 -05:00
gibbed 0d429fc7d7 [Vulkan] Disable texture mipmap watches by default. 2018-05-31 23:00:11 -05:00
gibbed 79f8fe9f37 [GPU] Fixes to problems caused by previous commit (bad handling of memory addressing, watches, etc). 2018-05-31 21:50:22 -05:00
gibbed 9ac2bf0beb [Kernel] Fix fetch field name that was changed. 2018-05-31 20:17:03 -05:00
gibbed e329649f2e [GPU] Rename texture_memory_usage.cc to texture_extent.cc 2018-05-31 19:43:26 -05:00
gibbed e89a31006f - [GPU] Rename TextureMemoryUsage to TextureExtent (and relevant functions/etc).
- [GPU] Precalculate memory byte usage for base mip (and any additional mip levels).
- [GPU] Change TextureCache::WatchCallback so that if it's fired multiple times for the same texture it does not assert.
- [GPU] Add write watches for texture memory associated with additional mipmap levels.
2018-05-31 19:41:33 -05:00
gibbed cd39bbed5c [Base] Undo last commit because it breaks file redirection.
This reverts commit ceece673e8.
2018-05-31 17:22:50 -05:00
gibbed ceece673e8 [Base] Fix AttachConsole so that --help works when invoked from command-line. 2018-05-31 16:46:03 -05:00
gibbed d0df71b8b6 [Vulkan] Move texture config to its own files. 2018-05-31 10:35:58 -05:00
gibbed 1573b7570d [Vulkan] Apply distinct component and vector swizzles. 2018-05-31 10:29:08 -05:00
gibbed 2314f25fb7 [Vulkan] Force red channel into all channels for DXT5A. Probably wrong solution but will work for now. 2018-05-31 09:47:41 -05:00
Triang3l 06fcdef968 [CPU] Bring back saturation in D3DCOLOR vpkd3d128 2018-05-31 16:17:27 +03:00
gibbed 958aa04cc5 [Vulkan] Fix swizzle for DXT5A. 2018-05-31 07:31:33 -05:00
Triang3l d61aff4389 [CPU] v(u)pkd3d128: Support UINT_2101010 and don't saturate D3DCOLOR
Fix broken mesh polygons in the Call of Duty series. Also remove saturation of D3DCOLOR when packing because values near 3 may be accepted, while unpacking D3DCOLOR gives values near 1.
2018-05-31 14:42:11 +03:00
gibbed ec3ab0adbd [GPU] Stub out context update GPU opcode.
[Vulkan] Gracefully handle vertex upload failures.
2018-05-30 20:49:30 -05:00
gibbed bbebfd49c8 [Vulkan] Add logging to certain error conditions.
[Vulkan] Track both texture block height and texture block vertical pitch.
[Vulkan] Only convert the necessary visible height on texture uploads.
[Vulkan] Fix write watch on texture data so it properly only covers mip 0 data.
2018-05-30 19:38:36 -05:00
gibbed 7068d0a5a9 [Vulkan] More details in texture upload logging. 2018-05-30 18:19:37 -05:00
gibbed 6b2f75219c [Vulkan] Include format/dimension in render texture debug name. 2018-05-30 18:19:06 -05:00
gibbed 2d68ec162d [Vulkan] Remove unnecessary swizzles. 2018-05-30 18:16:11 -05:00
gibbed 8a099925f3 Shut Travis up. 2018-05-30 10:09:19 -05:00
gibbed 6e000039e8 [Vulkan] Maybe fix the rectangle list shader, part two! Probably still breaks everything. 2018-05-30 09:56:44 -05:00
gibbed 8882d7eebd [Vulkan] Maybe fix the rectangle list shader. Probably breaks everything. 2018-05-30 08:04:16 -05:00
gibbed fed60962d6 [Vulkan] Regenerate shaders, and explicitly require the extensions they depend on. 2018-05-30 08:04:16 -05:00
Dr. Chat ef18e9d649 [VFS] Fix Stfs GetBlockHash (and simplify it) 2018-05-29 23:12:27 -05:00
DrChat f518ec1b37 [GPU] Add coherency debug logs 2018-05-29 19:42:59 -05:00
Dr. Chat a0464f54ba [VFS] SVOD (with EGDF) support 2018-05-29 14:12:09 -05:00
gibbed 62bb26878f [GPU] Whoops, CompositeExtract should come after the loads. 2018-05-28 21:10:11 -05:00
gibbed 3e6a9099d1 [GPU] Fix composite extracts from previous commit. 2018-05-28 20:34:53 -05:00
gibbed 83a9cb3435 [GPU] Use uint4 for loop/bool constants to meet std140 packing requirements. 2018-05-28 18:19:22 -05:00
gibbed 2bd9bae0f4 [Vulkan] Better swizzle for DXT3A/DXT5A? 2018-05-28 17:25:32 -05:00
gibbed e665c0a3fb Fix another Travis complaint. 2018-05-28 14:42:53 -05:00
gibbed f450ae6a76 Fix lint errors due to Travis lint differences. 2018-05-28 07:14:18 -05:00
gibbed 425764698e [Vulkan] Improvements to texture upload code, fix mipmap uploads, remove no_mipmaps flag. 2018-05-28 07:06:33 -05:00
gibbed b623c33e00 [Vulkan] Add no_mipmaps flag. 2018-05-27 20:36:45 -05:00
gibbed 73c7546114 [Kernel] Fix return of XamUserGetXUID and XamUserGetSigninInfo. 2018-05-27 19:51:25 -05:00
gibbed da06cb4f06 [Kernel] Fix return of XamUserGetDeviceContext. 2018-05-27 19:43:44 -05:00
gibbed dc5bd83098 [Kernel] Move xam_user to new shim convention. 2018-05-27 19:43:39 -05:00
gibbed fc0cc89a1d [Kernel] Add X_HRESULT_result. (yes, the name is stupid) 2018-05-27 18:12:48 -05:00
gibbed ee7b9f415a [Kernel] Move xam_input to new shim convention. 2018-05-27 16:59:07 -05:00
gibbed 4cc2aaf5b9 Remove unnecessary usage of xe::be. 2018-05-27 16:35:01 -05:00
Dr. Chat fed3c10c60 [VFS] Properly detect STFS volume descriptor type 2018-05-27 14:03:29 -05:00
Dr. Chat 3e216f0553 [VFS] Panic when fed a GoD container 2018-05-26 21:19:34 -05:00
Dr. Chat 728ed593ad [VFS] Make ResolvePath / Dump virtual 2018-05-26 18:51:03 -05:00
gibbed 9231317eeb [Vulkan] Generalize texture conversion, and fix cube textures in the process. 2018-05-26 11:19:52 -05:00
Dr. Chat 1def8cfc59 [VFS] Rename a couple STFSVolumeDescriptor fields 2018-05-26 09:06:10 -05:00
gibbed 7df45bf590 [Vulkan] Fix DXT3A conversion. 2018-05-26 08:25:25 -05:00
gibbed cc130e1b07 [GPU] Remove unused code. 2018-05-26 07:06:56 -05:00
gibbed 7116b5fc82 [Vulkan] Reimplemented texture conversions. Here be dragons! Probably breaks everything. Also bonus DXT3A support. 2018-05-26 06:57:16 -05:00
gibbed 926464cb90 [App] Put DEBUG/CHECKED into the window title when appropriate. 2018-05-26 06:29:08 -05:00
gibbed 73d75c56e1 [GPU] Fix TextureInfo::Prepare for 3D textures. 2018-05-24 23:45:38 -05:00
gibbed 56dd07e329 [Kernel] Add yield to XAudioGetVoiceCategoryVolumeChangeMask for games that spin threads with it. 2018-05-24 23:31:21 -05:00
gibbed 8e9d50dd4a [Kernel] Fix XamUserGetSigninInfo to zero out info even in failure. 2018-05-24 12:41:13 -05:00
gibbed 14c73a33f9 [Kernel] Fix return of CreateContent/OpenContent in ContentManager when an already open package was found. 2018-05-24 11:17:56 -05:00
gibbed 85ad87eb73 [Kernel] Fix ContentPackage leaking its registered device. 2018-05-24 11:17:52 -05:00
gibbed 6411674f0f [GPU] Use pitch for block width calculation. 2018-05-24 08:45:12 -05:00
gibbed bc7306b352 [Kernel] Fix XamLoaderGetLaunchDataSize to set size to 0 for games that don't check its return value. 2018-05-24 03:26:29 -05:00
gibbed 4613c6b8b8 [Vulkan] Better macro for channel swizzling. 2018-05-23 20:37:32 -05:00
gibbed e9290cd2e0 [Vulkan] Rework component swizzles into channel swizzles. Probably breaks everything. 2018-05-23 20:19:53 -05:00
gibbed d0561d046b [Kernel] Handle title being null in XamShowMessageBoxUI. 2018-05-23 13:30:59 -05:00
gibbed 2ef3ea996f [Kernel] Experimental debug monitor/PIX code. 2018-05-23 05:10:39 -05:00
gibbed 09585eb103 [GPU] Clarify assert in SpirvShaderTranslator::StoreToResult. 2018-05-23 04:55:32 -05:00
gibbed 9e153c0db1 [App] Add optional scratch/cache mounts. 2018-05-23 04:55:18 -05:00
gibbed 712a2afdf4 [Kernel] Correct GammaType enum. 2018-05-23 04:25:19 -05:00
gibbed bc369e43cb [Kernel] Add support for XFileEndOfFileInformation. 2018-05-23 04:24:37 -05:00
DrChat 6262dd2c3d [App] Actually set a high-performance timer 2018-05-22 22:20:34 -05:00
DrChat 288af1c7e9 [App] Add a flag to toggle high-performance timers 2018-05-22 17:31:30 -05:00
DrChat 73c30d87a8 [App] Request high-performance timer resolution on Windows 2018-05-22 16:41:05 -05:00
gibbed cb4b1bae1b [Vulkan] Forgot to undef the new RRRR swizzle macro. 2018-05-22 11:07:27 -05:00
gibbed 9bc17cd1d4 [Vulkan] Maybe fix DXT5A? 2018-05-22 10:52:52 -05:00
gibbed f8961df221 Fix Travis complaints, as usual. 2018-05-22 06:23:37 -05:00
gibbed 53cf0c5be0 [Kernel] Notes for VdGetCurrentDisplayGamma and VdSetDisplayMode. 2018-05-22 06:01:29 -05:00
gibbed 6e9994ee41 [Kernel] Log handle addditions/removals. 2018-05-22 05:57:32 -05:00
gibbed 452c58149a [CPU] Some extra srw tests. 2018-05-22 05:56:20 -05:00
gibbed 200b9ddf7d [Vulkan] Add debug names for blitter. 2018-05-22 05:55:27 -05:00
gibbed 6d3146a750 [Vulkan] Add debug marker functions. 2018-05-22 05:54:42 -05:00
gibbed ee5724f5dd [GPU] Move gamma ramp tracking to CommandProcessor. 2018-05-22 05:36:24 -05:00
gibbed fb650ae024 [Vulkan] Start tracking the gamma ramp. 2018-05-21 23:16:15 -05:00
gibbed 8a65dbd024 [GPU] Make some gaps in the register table more obvious. 2018-05-21 22:56:05 -05:00
gibbed 9f86868a95 [Kernel] Deny non-zero users for some XAM exports. 2018-05-20 19:15:16 -05:00
gibbed cddfa26bae [GPU] Add IsSRGBCapable default case. 2018-05-20 12:18:31 -05:00
gibbed c233eabeda [GPU] Remove extraneous breaks from GetTexelSize. 2018-05-20 02:10:16 -05:00
gibbed 3f901311af [GPU] Add SRGB helper function. 2018-05-20 02:08:49 -05:00
Dr. Chat cb608b7f98 [Vulkan] GetBaseRTFormat 2018-05-19 17:02:17 -05:00
Dr. Chat 1e1ba34d76 [Vulkan] Unbreak the 2_10_10_10 RT formats a bit further 2018-05-19 16:55:42 -05:00
gibbed 981590bc98 [Vulkan] Don't break k_2_10_10_10. 2018-05-19 16:37:05 -05:00
gibbed 5fafdb2e7a [Vulkan] Force k_2_10_10_10* to k_16_16_16_16_FLOAT. Probably breaks everything. 2018-05-19 15:58:26 -05:00
gibbed b33ccdf0cd [Vulkan] Better debug names. 2018-05-19 15:49:37 -05:00
gibbed 8064926999 [Vulkan] Implement support for color_exp_bias. 2018-05-19 15:45:13 -05:00
gibbed 9655b76f68 [Vulkan] Simplify color/depth info access in IssueCopy. 2018-05-19 14:48:00 -05:00
gibbed 77b097098d [GPU] Add color_exp_bias to push constants. 2018-05-19 14:39:32 -05:00
gibbed 16e33cf123 [Vulkan] Fix a PrepareResolve call the last commit forgot. 2018-05-18 18:37:59 -05:00
Dr. Chat 191dc30bee [GPU] Use the pitch field in tfetch constants 2018-05-18 13:48:28 -05:00
DrChat f591f2dace [Vulkan] Workaround for rapid fence reuse causing a memory leak 2018-05-18 09:59:26 -05:00
gibbed 6807ef3653 [Vulkan] Fix hashing of vertex bindings. 2018-05-14 11:42:22 -05:00
gibbed 170ab85049 [Vulkan] Reworking packed mip offset calculation. Probably breaks everything. 2018-05-14 03:47:58 -05:00