Commit Graph

2335 Commits

Author SHA1 Message Date
gibbed 3e6c2bb47c Fix up handling of positional options in cvar handling.
- Fix up handling of positional options in cvar handling so that executables
  other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -05:00
Triang3l 4731ae026b [D3D12] 3D/stacked texture layer addressing 2019-08-19 23:24:58 +03:00
Triang3l 2334e475de [Vulkan v2] Physical device, [D3D12] Small cleanup 2019-08-08 00:08:20 +03:00
Triang3l 40471dff32 [D3D12] Remove gflags from premake5.lua 2019-08-06 23:16:51 +03:00
Triang3l 68017eadea [Vulkan] Add missing line to mark a texture as watched 2019-08-04 18:29:20 +03:00
gibbed 848e2a4088 [App] Rework graphics system creation. 2019-08-03 16:42:38 -05:00
Triang3l 890a32bd98 [App] Only start D3D12 if DLL exists 2019-08-03 22:33:09 +03:00
Triang3l d20c2fa9da [Memory/Vulkan] Move old memory watches to the Vulkan backend 2019-08-03 21:06:59 +03:00
Triang3l 0370f8bbd9 [Memory] Pass exact_range to watch callbacks 2019-08-03 19:16:04 +03:00
Triang3l cc7f26ada8 [GPU] Remove one merge conflict resolution line 2019-08-03 17:15:37 +03:00
Triang3l 352f12f92e [D3D12] Switch from gflags to cvars 2019-08-03 16:53:23 +03:00
Jonathan Goyvaerts 81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
Triang3l 90c9c24ca5 [D3D12] Add d3d12_readback_resolve gflag 2019-08-01 08:55:47 +03:00
Triang3l 24383b9137 [Memory/D3D12] Unwatch up to 256 KB ranges 2019-07-31 00:18:12 +03:00
Triang3l 4aceeb73c4 [Memory] Move new watches to heap-aware Memory from MMIOHandler 2019-07-30 08:00:20 +03:00
Triang3l 3f968c3760 [D3D12] YUV texture formats 2019-07-21 15:38:25 +03:00
gibbed 23c9341642 Merge remote-tracking branch 'origin/master' into d3d12 2019-07-18 18:39:17 -05:00
gibbed 0bed6e565b [Base/GPU] Fix some usage of xe::find_base_path. 2019-07-18 18:37:47 -05:00
Triang3l 7a88789ebd [D3D12] RB_STENCILREFMASK_BF and stencil constants cleanup 2019-07-14 23:49:30 +03:00
Triang3l f393c621d7 [D3D12] Fix typos in shader_compiler_main 2019-07-14 00:18:37 +03:00
Triang3l 4825e69fda [D3D12] Cleanup primitive types and front/back facing 2019-07-13 22:25:03 +03:00
Triang3l a16a746432 Merge branch 'master' into d3d12 2019-07-13 22:22:42 +03:00
Triang3l 1cc06ea3e7 [GPU] VGT major mode info, swap IsPrimitiveTwoFaced arguments 2019-07-13 22:18:06 +03:00
Triang3l 863217217e Merge branch 'master' into d3d12 2019-07-13 15:33:45 +03:00
Triang3l 244f5d4f1c [GPU] xenos.h: Add IsPrimitiveTwoFaced 2019-07-13 15:30:14 +03:00
Triang3l 929ecfa15c [D3D12] ROV: Fix stencil test result being ignored for depth 2019-07-13 12:27:15 +03:00
Triang3l 35c8b66c93 [D3D12] Add forgotten shader implicit early Z check 2019-07-11 10:15:33 +03:00
Triang3l 6672997108 [D3D12] ROV early Z and full rewrite, shader scalar optimizations 2019-07-11 09:31:58 +03:00
Triang3l 08675ab65e [D3D12] 3D texture resolve 2019-04-25 08:37:55 +03:00
Triang3l 66a9c9d812 [GPU] Store ALU result after both vector and scalar instructions 2019-04-20 20:30:01 +03:00
gibbed c965751911 Merge remote-tracking branch 'origin/master' into d3d12 2019-04-20 02:40:46 -05:00
gibbed 1145d57007 Undo main/wWinMain changes in preparation for new method
of doing a startup AVX check.

This reverts commit 4030cff3ec.
2019-04-20 02:32:45 -05:00
Triang3l 40ffba97d9 Merge branch 'master' into d3d12 2019-04-19 15:32:10 +03:00
gibbed 4030cff3ec - Move main, wWinMain entrypoints to their own file.
- Fix startup AVX checks.
2019-04-18 16:57:42 -05:00
gibbed 827567a21a Merge branch 'master' into d3d12 2019-04-18 11:23:41 -05:00
gibbed 28a7334f5c [Vulkan] Fix missing aes_128 link for trace viewer/dumper. 2019-04-18 10:20:18 -05:00
Triang3l ec92d46480 Merge branch 'master' into d3d12 2019-04-18 17:54:57 +03:00
gibbed ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
Triang3l 3f22ff3645 [D3D12] DXT3A_AS_1_1_1_1 texture loading 2019-04-17 14:38:41 +03:00
Triang3l 293851d0c9 [D3D12] Re-add accidentally deleted RT update trigger 2019-04-12 20:09:31 +03:00
Triang3l 8f51855c8f Revert "[D3D12] Re-add accidentally deleted RT update trigger and treat Z test and write bits separately"
This reverts commit 25cc189e99.
2019-04-12 20:04:50 +03:00
Triang3l 25cc189e99 [D3D12] Re-add accidentally deleted RT update trigger and treat Z test and write bits separately 2019-04-12 19:13:03 +03:00
Triang3l ecc056912d [D3D12] Don't drop draw calls with no render targets 2019-04-12 16:59:45 +03:00
Triang3l 93a18a517b [D3D12] Place UAV barriers for the EDRAM ROV when layout changes 2019-04-12 15:59:09 +03:00
Triang3l 45cee3f871 [D3D12] Don't create RT store pipelines with ROV 2019-04-11 12:05:13 +03:00
Triang3l 88c594ca3b [D3D12] Fix RB_COPY_DEST_PITCH handling in ResolveCopy 2019-04-10 22:35:05 +03:00
Triang3l 5e30f3a947 [D3D12] User clip planes and constant/signature refactoring 2019-04-10 16:37:06 +03:00
Triang3l 8c56d5cb98 [D3D12] Fix lint failure in RenderTargetCache::BeginFrame 2019-04-09 23:04:13 +03:00
Triang3l 4e8e75c549 [D3D12] Remove TODO for initial EDRAM clear since Windows clears allocations anyway 2019-04-09 19:45:35 +03:00
Triang3l 959b8ef19e [D3D12] Draw rectangles by mirroring one vertex across diagonal 2019-04-09 17:19:47 +03:00
Triang3l 0367e1a536 [D3D12] Fix ps_param_gen rounding ignored with ROV 2019-04-05 23:57:29 +03:00
Triang3l 6db0ad663b [D3D12] mb_used -> used_mb in the profiler 2019-04-05 15:31:59 +03:00
Triang3l d0c8725270 [D3D12] Limit texture memory usage with LRU deletion 2019-04-05 15:19:16 +03:00
Triang3l 5582e63ef1 [D3D12] Resolve 16-bit RTs to unorm textures, not snorm 2019-03-07 11:21:39 +03:00
Triang3l 7049d52dbb [D3D12] Display texture cache size in the profiler 2019-03-05 10:26:40 +03:00
Triang3l 05c1f57007 Merge branch 'master' into d3d12 2019-03-03 14:42:11 +03:00
Maksim Derbasov 142148e594 [GPU] Fix bit check in Make Coherent logging. 2019-03-02 04:13:03 -06:00
Triang3l 57e8f05234 [D3D12] Make RG16/RGBA16 RTVs range switchable 2019-01-29 14:39:04 +03:00
Triang3l cb99afffcb [D3D12] Revert changing the sign of tfetch epsilon 2019-01-29 12:41:06 +03:00
Triang3l 0c8ce2af04 [D3D12] tfetch: change epsilon sign, add 0.5 to getWeights coords 2019-01-29 12:35:22 +03:00
Triang3l 61fd5a6dc2 [D3D12] Replicate red channel of single-channel textures 2019-01-26 14:11:09 +03:00
Triang3l 189ffca234 [D3D12] DXBC: Fix aL incrementing 2019-01-25 22:43:16 +03:00
Triang3l 80e5c56340 Merge branch 'master' into d3d12 2019-01-25 20:44:51 +03:00
Triang3l e706cf0d54 [GPU] Fix addsc/mulsc/subsc r# addressing mode not initialized 2019-01-25 20:43:53 +03:00
Triang3l ba7b6d6081 [D3D12] Memexport CPU readback, disabled by default 2019-01-25 16:33:25 +03:00
Triang3l 4a3245650f [D3D12] Optional non-GS path for quads for PIX 2019-01-25 15:09:58 +03:00
Triang3l 9dd62c1e15 [D3D12] Alpha to coverage (w/o dithering) with RTV, tiny AtoC fixes 2019-01-21 23:41:47 +03:00
Triang3l 0a9feb5eca [D3D12] ROV: Alpha to coverage (without dithering) 2019-01-21 21:28:26 +03:00
Triang3l 0fc8497905 [D3D12] Fix debug config crash in back buffer stretching code 2019-01-19 14:48:46 +03:00
Triang3l b7bcdf3e8b [D3D12] Pre-create EDRAM and shared memory buffer descriptors 2019-01-17 16:39:51 +03:00
Triang3l cf7c981991 [D3D12] Cache SRV descriptors in the texture cache to copy instead of creating 2019-01-16 19:06:11 +03:00
Triang3l cf3ce4f98b [D3D12] Unhardcode forgotten pipeline creation thread count 2019-01-15 21:04:17 +03:00
Triang3l a1a1110784 [D3D12] Non-indexed line loops 2019-01-15 14:19:59 +03:00
Triang3l 17dfd84f71 [D3D12] Free two alphatest-related system constant dwords 2019-01-15 12:58:36 +03:00
Triang3l 27a8e4259e [D3D12] DXBC: Fix 0*anything check with negated operands 2019-01-12 18:52:06 +03:00
Triang3l b8d1bb740b [GPU/D3D12] Fix CTX1 component order 2019-01-12 14:28:32 +03:00
Triang3l e5bcedfd1f [D3D12] DXBC: Fix 0*anything check in muls_prev 2019-01-12 13:07:45 +03:00
Triang3l ef523823d5 [D3D12] Force early Z with DSV, fix blend disabled flag in rb_colorcontrol ignored 2019-01-11 17:07:33 +03:00
Triang3l d7ed044be1 [D3D12] Don't cull points and rectangles 2019-01-09 16:25:03 +03:00
Triang3l 8ad12480a4 [D3D12] Copy index buffer to a scratch buffer for memexporting draws 2019-01-09 13:19:49 +03:00
Triang3l aabe6dec9c [D3D12] Fix log level of pipeline creation messages 2019-01-08 14:14:14 +03:00
Triang3l 77e9ab342c [D3D12] DXBC: Don't update coverage in the depth-only pixel shader 2019-01-06 20:13:23 +03:00
Triang3l 75ec48d225 [D3D12] DXBC: Don't declare shared memory SRV in the depth-only pixel shader 2019-01-06 18:41:54 +03:00
Triang3l 6c48f209a1 [D3D12] Fix 7e3 and 20e4 denormal conversion 2019-01-06 15:10:55 +03:00
Triang3l bc89a5822b [D3D12] Memexport: Fix red/blue swap not being in the write mask 2019-01-05 21:14:06 +03:00
Triang3l 1523a1f662 [D3D12] Use 3/4 of logical cores for pipeline creation, cleanup pipeline log messages 2019-01-04 14:30:26 +03:00
Triang3l 890228b6f3 [D3D12] Prototype multithreaded PSO creation 2019-01-04 00:30:11 +03:00
Triang3l 364cae6cc8 [D3D12] Use deferred command list 2019-01-03 15:08:49 +03:00
Triang3l f0c662fa1e [D3D12] Deferred command list class 2019-01-02 23:46:24 +03:00
Triang3l a97fc28ee2 [D3D12] Use multimap for pipelines 2019-01-01 23:13:26 +03:00
Triang3l 1cea4062c0 [D3D12] Rewrite pipeline cache for compact storage of pipeline descriptions 2019-01-01 22:20:50 +03:00
Triang3l 317e5c3ce2 [D3D12] Some stats in the profiler, tweak tiled buffer heap sizes 2018-12-30 15:09:58 +03:00
Triang3l 87d663d7e0 [D3D12] Disable adaptive tessellation temporarily because of cracks 2018-12-29 21:12:21 +03:00
Triang3l 928e46c8b2 [D3D12] Adaptive tessellation of triangle patches 2018-12-29 20:53:41 +03:00
Triang3l 14476e5453 [D3D12] Rename 2_10_10_10 AS_16 RT format to AS_10 2018-12-29 14:59:10 +03:00
Triang3l 616739048b Merge branch 'master' into d3d12 2018-12-29 14:55:17 +03:00
Triang3l 54b211ed18 [GPU] Rename 2_10_10_10 AS_16 RT format to AS_10 2018-12-29 14:54:01 +03:00
Triang3l af96b68398 [GPU] Copy SurfaceNumFormat comment from D3D12 branch 2018-12-29 14:18:10 +03:00
Triang3l cbfc00f80e [D3D12] Debug option to display tessellation as wireframe 2018-12-28 14:37:39 +03:00
Triang3l 43866092a5 [D3D12] Update some comments about numeric formats 2018-12-28 14:12:09 +03:00
Triang3l f3e3bbc4fa Revert "[D3D12] ROV: Round unorm/snorm to nearest rather than nearest even"
This reverts commit 216998eb56.
2018-12-28 14:05:13 +03:00
Triang3l 216998eb56 [D3D12] ROV: Round unorm/snorm to nearest rather than nearest even 2018-12-28 08:25:41 +03:00
Triang3l 5860a8fdc6 [D3D12] DXBC: Add a missing STAT increment to memexport 2018-12-28 08:13:35 +03:00
Triang3l ed09cac440 [D3D12] DXBC: vfetch RoundIndex, vertex index signedness fixes 2018-12-28 08:11:34 +03:00
Triang3l ec7667ce1b [D3D12] Broken memexport shader code 2018-12-27 20:43:17 +03:00
Triang3l bd9aae016f [D3D12] DXBC: eA and eM registers 2018-12-22 19:51:12 +03:00
Triang3l e803ee84d5 [D3D12] Bind shared memory as UAV with memexport 2018-12-22 15:39:47 +03:00
Triang3l 645f450321 [D3D12] DXBC: Fix UAV and sampler operands 2018-12-22 14:26:18 +03:00
Triang3l 6025599d3b [D3D12] Request memory for memexport in shared memory 2018-12-22 00:57:31 +03:00
Triang3l 0aeff797e5 [D3D12] DXBC: Allocate multiple registers with PushSystemTemp 2018-12-21 22:54:26 +03:00
Triang3l 72e9ac5c28 [GPU] Shader translator: More memexport validation 2018-12-21 22:24:09 +03:00
Triang3l 73baaa8e89 [GPU] Gather eA/eM# writes in shader translator 2018-12-21 10:06:41 +03:00
Triang3l 090bf8e353 [D3D12] Change RT in the title to something less ambiguous and more googlable 2018-12-20 20:48:15 +03:00
Triang3l adc0eb87f6 [GPU] Gather used memexport constants in shader translator 2018-12-20 10:14:18 +03:00
Triang3l dc0b468ea8 Merge branch 'master' into d3d12 2018-12-19 22:51:26 +03:00
Triang3l 486a5725e3 [GPU] xenos.h: tessellation, memexport constant 2018-12-19 22:50:43 +03:00
Triang3l c84511a5f1 [GPU/D3D12] Update tessellation enums 2018-12-19 18:23:54 +03:00
Triang3l cbba86fcf0 [D3D12] Split DXBC shader translator into multiple files 2018-12-19 14:24:16 +03:00
Triang3l 2de0e26606 [D3D12] DXBC: Remove ugly useless indexable temp fallback 2018-12-16 13:03:03 +03:00
Triang3l 574f85cc15 [D3D12] Refactoring: DXBC -> Dxbc 2018-12-14 13:25:07 +03:00
Triang3l 952819ed87 [D3D12] Don't 4KB-align sizes of resolve destinations 2018-12-13 15:22:16 +03:00
Triang3l 2b55ec86ea [GPU] Shader Compiler: Expose domain shader output 2018-12-13 14:52:50 +03:00
Triang3l 2b646ff425 [D3D12] Fake per-edge tessellation with continuous 2018-12-12 22:12:32 +03:00
Triang3l 7698944673 [D3D12] Swap red and blue in 8bpp gamma ramp 2018-12-09 15:53:57 +03:00
Triang3l 1ee3ed03fd [D3D12] DXBC: Skip loading and some ALU ops for identical operands 2018-12-09 00:20:13 +03:00
Triang3l 352a443c67 [D3D12] DXBC: Small cleanup of something ugly in subs_prev 2018-12-08 19:18:56 +03:00
Triang3l e1f0e9c84a [D3D12] DXBC: Slightly shorten SM3 mul behavior emulation 2018-12-08 16:42:30 +03:00
Triang3l 9427667a27 [D3D12] Experimental 2x resolution scale 2018-12-06 10:38:13 +03:00
Triang3l 132af3e266 [D3D12] DXBC: Don't skip invariant driver optimizations 2018-12-04 12:29:27 +03:00
Triang3l bb53d722f9 [D3D12] Don't use switch in shaders on Intel, log GPU name 2018-12-03 16:31:49 +03:00
Triang3l 5b9e4b5886 Merge branch 'master' into d3d12 2018-11-27 11:05:14 +03:00
Triang3l f634e94227 [D3D12] ROV: Don't mark Z of PS SV_Position as used in dcl 2018-11-26 20:53:34 +03:00
gibbed 2398b1b8f4 [Vulkan] Use epsilon equality for checking rectangle list form. 2018-11-26 11:51:02 -06:00
gibbed af206addd1 Optimize SPIRV code generated via genspirv command. 2018-11-26 11:49:36 -06:00
Triang3l 355d33dadd [D3D12] Rename feature gflags 2018-11-25 23:25:56 +03:00
Triang3l 9a58841219 [D3D12] ROV: Use MSAA instead of SSAA 2018-11-25 16:37:38 +03:00
Triang3l 5c1efe7b9a Merge branch 'master' into d3d12 2018-11-24 16:26:27 +03:00
gibbed d87ae26895 [CI] Fix mspack linking even more. 2018-11-23 17:58:38 -06:00
Triang3l da280347c4 Merge branch 'master' into d3d12 2018-11-22 21:01:05 +03:00
Margen67 896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed 1ba5dd5eb1 Use platform-specific user directory to store content. Create a file named portable.txt next to xenia.exe to restore previous behavior. 2018-11-21 18:07:45 -06:00
Triang3l 14b623465c [D3D12] ROV: ForcedSampleCount=1 for safety 2018-11-21 20:53:11 +03:00
Triang3l 70fae20072 [D3D12] Apply scissor to resolve regions 2018-11-21 17:15:09 +03:00
Triang3l c061836649 [D3D12] Enable ROV by default 2018-11-20 21:30:36 +03:00
Triang3l b0b1e684f7 [D3D12] Fix UAV binding in EDRAM clear root signature 2018-11-20 21:29:04 +03:00
Triang3l d35be635d6 Merge branch 'master' of github.com:xenia-project/xenia into d3d12 2018-11-18 22:21:32 +03:00
Triang3l 7fa453c813 [GPU] Fix 1-component ALU instruction swizzle (hopefully) 2018-11-18 22:20:43 +03:00
Triang3l 66a37c0cc3 [D3D12] ROV: Aliasing and bounds checking, retc instead of discard 2018-11-17 17:15:15 +03:00
Triang3l 6901c3ea17 [D3D12] DXBC: Fix operands in scalar multiplication zero check 2018-11-16 19:25:24 +03:00
Triang3l e46244a996 [D3D12] Put shared memory in PS resource state because vfetch seems allowed in PS 2018-11-16 13:12:51 +03:00
Triang3l 38f421e89f [D3D12] GPUTEXTUREFORMAT_6_5_5 as RBG 2018-11-16 12:56:19 +03:00
Triang3l e1d771ab9c [D3D12] GPUTEXTUREFORMAT_11_11_10 support 2018-11-14 17:02:19 +03:00
Triang3l 5e51306660 [D3D12] Integer texture comment and UpdateSystemConstantValues cleanup 2018-11-14 16:45:31 +03:00
Triang3l 8ff03bcfa0 [D3D12] Allow different loading modes for unsigned and signed textures 2018-11-14 13:52:16 +03:00
Triang3l b4706054d0 [D3D12] U11V11W10 texture loading shader 2018-11-13 22:00:10 +03:00
Triang3l 4ad1c2c538 [D3D12] R11G11B10 unorm textures 2018-11-13 19:00:01 +03:00
Triang3l ae48b3ffa8 [D3D12] Disable placed resources for RTV/DSV because of Nvidia 2018-11-10 22:45:55 +03:00
Triang3l 6a8a080703 [D3D12] DXBC: Source map comment output 2018-11-10 19:01:05 +03:00
Triang3l 3b57c82fe4 [D3D12] ROV: Don't use the D24FS8-specific clear shader with ROV 2018-11-03 20:55:50 +03:00
Triang3l 7935bcf49f [D3D12] Fix resolving of non-top-left sample 2018-11-02 20:21:33 +03:00
Triang3l 3af93e547a [D3D12] Fix triangle fan winding order 2018-11-02 09:57:35 +03:00
Triang3l 5a79f675bd [D3D12] ROV: Unbind resolve RT after using 2018-11-01 22:13:45 +03:00
Triang3l fd12302108 [D3D12] DXBC: Fix setp_inv output when the predicate is set 2018-10-31 16:18:19 +03:00
Triang3l de141e0ee3 [D3D12] DXBC: Rewrite conditional execution 2018-10-30 21:31:59 +03:00
Triang3l 251f078baf [D3D12] Fix mipmapped cubemaps and stacked textures 2018-10-29 22:40:29 +03:00
Triang3l e39bb04875 [D3D12] ROV: Fix min/max blending operation 2018-10-29 10:24:49 +03:00
Triang3l 83c99bc811 [D3D12] Fix resolve region handling 2018-10-28 14:36:41 +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
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 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
Triang3l 729406dee2 [D3D12] ROV: Blend in linear color space 2018-10-22 15:54:41 +03: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
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
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
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
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 dba8ab4eed [D3D12] Refactor descriptors and resolve logging 2018-08-25 22:42:18 +03: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 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 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 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 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 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 00d5bd48da [D3D12] A bit of HLSL shader translator 2018-07-21 21:45:33 +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 e9083dbc2f [D3D12] Create xenia-ui-d3d12 project 2018-07-18 15:02:37 +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
Triang3l c6255af824 [GPU] Depth bias support 2018-06-16 16:32:14 +03:00
gibbed 1409b9c565 [GPU/Vulkan] Add support for 2D image stacks. 2018-06-05 07:51:51 -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 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 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
gibbed 958aa04cc5 [Vulkan] Fix swizzle for DXT5A. 2018-05-31 07:31:33 -05: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
DrChat f518ec1b37 [GPU] Add coherency debug logs 2018-05-29 19:42:59 -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 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 9231317eeb [Vulkan] Generalize texture conversion, and fix cube textures in the process. 2018-05-26 11:19:52 -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 73d75c56e1 [GPU] Fix TextureInfo::Prepare for 3D textures. 2018-05-24 23:45:38 -05:00
gibbed 6411674f0f [GPU] Use pitch for block width calculation. 2018-05-24 08:45:12 -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 09585eb103 [GPU] Clarify assert in SpirvShaderTranslator::StoreToResult. 2018-05-23 04:55:32 -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 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 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
gibbed 2238ff9ff0 [Vulkan] Use BGRA swizzle for 565. 2018-05-13 16:51:20 -05:00
Dr. Chat 996ea9e273 [GPU] Ditto for GetMipLinearSize 2018-05-13 13:59:48 -05:00
Dr. Chat 1953cea64e [GPU] Unconditionally multiply in src.depth in GetMipByteSize (always valid) 2018-05-13 13:58:34 -05:00
gibbed 0a971462d7 Fix formatting to make lint happy. 2018-05-13 09:02:40 -05:00
gibbed 1ffa4747db [Vulkan] Better debug object names. 2018-05-13 08:42:36 -05:00
gibbed ab0f75307a [Vulkan] More information on uploaded textures in log. 2018-05-13 08:41:20 -05:00
gibbed ef924a8423 [Vulkan] Cube textures, now with mipmaps. 2018-05-13 08:31:33 -05:00
gibbed 9b64e67e14 [Vulkan] Fix following mips for compressed textures. 2018-05-12 20:19:58 -05:00
gibbed 7a1167fd66 [Vulkan] Align ALL texture block sizes to tile dimensions. Probably breaks everything. 2018-05-12 19:40:54 -05:00
gibbed 1c8cec45f3 [Vulkan] Properly copy untiled texture data. 2018-05-12 19:39:35 -05:00
gibbed c6ee689159 [Vulkan] Rework GetMipByteSize to properly handle linear textures. Probably breaks everything. 2018-05-12 02:30:58 -05:00
gibbed 9926bf1cf6 [Vulkan] Don't try to get mip 0's offset when there is only one mip. 2018-05-12 00:52:02 -05:00
Rick Gibbed a510bc3c78
[Vulkan] Use BGRA swizzle for 1555. 2018-05-11 20:05:59 -05:00
Rick Gibbed 988877f428
[Vulkan] Use BC4 for DXT5A. 2018-05-11 15:58:27 -05:00
Dr. Chat 53f5a218c6 [Vulkan] Log GPU resolves 2018-05-08 20:59:32 -05:00
Dr. Chat da62e0e044 [GPU] Rename TextureInfo::size_xx -> TextureInfo::size 2018-05-08 10:29:36 -05:00
Dr. Chat 212688249c [Vulkan] Update ConvertTextureCube to use mips 2018-05-07 19:03:49 -05:00
Dr. Chat e44fb33b79 [Vulkan] Fix (non-mipmapped) linear 2D texture uploads 2018-05-07 19:00:25 -05:00
Dr. Chat f3134e265a [Vulkan] Swap k_4_4_4_4 as well. 2018-05-07 17:42:51 -05:00
Dr. Chat 25c2048b1a [Vulkan] Texture swizzling for certain texture formats 2018-05-07 16:33:17 -05:00
Dr. Chat 77d1d7342e [GPU] Remove TextureInfo::has_packed_mips 2018-05-05 18:23:30 -05:00
Dr. Chat 30f8fe7bb0 [GPU] Use log2 when calculating mip offset 2018-05-05 10:45:39 -05:00
Dr. Chat 61e47167c0 [Vulkan] Replace vulkan-loader with volk 2018-05-04 16:49:46 -05:00
Dr. Chat 88729e2ac4 [GPU] Initial (and possibly incorrect) texture size calculation for 1D and 3D 2018-05-04 12:10:26 -05:00
Dr. Chat 040d8d1ade [GL4] Farewell, GL4 backend 2018-05-04 11:54:33 -05:00
Dr. Chat f54ac240a4 [Vulkan] Stupid hack to fix ABGR4 formats. 2018-05-04 09:45:42 -05:00
Dr. Chat 7a3d0b683b [Vulkan] Fix block pitch calculation of mips 2018-05-04 00:18:45 -05:00
Dr. Chat 8ecadd49d2 [GPU] Further fix mip address calculations with really skewed aspect ratios 2018-05-04 00:18:22 -05:00
Dr. Chat 911588e9dc [GPU] Fix mip size calculation for compressed textures 2018-05-03 18:34:23 -05:00
Dr. Chat f45cd398ef [Vulkan] Handle MIPs with non-power-of-two dimensions 2018-05-03 17:54:09 -05:00
Dr. Chat 04748b4a0d [GPU] TextureInfo::GetMipLocation - calculate packed mip offset 2018-05-03 16:04:11 -05:00
Dr. Chat 5e4b696782 [SPIR-V] Reset writes_depth_ 2018-05-03 14:15:53 -05:00
Dr. Chat f885b89a03 [Vulkan] Make image views cover all mips
Align texture dimensions to 1 block minimum (for uploading mips)
2018-05-03 14:15:36 -05:00
Dr. Chat c9d4cfe6d0 [GPU] MIPs > 16 pixels are stored in their own individual tiles 2018-05-03 12:01:50 -05:00
DrChat 1f157f35f4 [Vulkan] Initial support for mipmaps 2018-05-03 10:02:07 -05:00
DrChat f7c7cc54ed [GPU] TextureInfo::GetMaxMipLevels 2018-04-30 11:01:46 -05:00
Dr. Chat 62bee78edd [SPIR-V] Declare DepthReplacing if we replace depth 2018-04-29 18:43:31 -05:00
Dr. Chat 87bfad1f74 [GPU] PM4_EVENT_WRITE_EXT destination is /not/ aligned (to 16 bytes) 2018-04-29 18:26:36 -05:00
DrChat 86f387ed42 [SPIR-V] Fix 1D texture fetches. Fixes #1124 2018-04-20 15:25:07 -05:00
DrChat 2b66a1b68f [Vulkan] Emulate Xenos behavior with copy dest at a negative offset
It appears the Xenos starts copying pixel data at the first encountered visible destination pixel, rather than texture mapping the source texture onto the destination polygon
2018-04-17 15:35:24 -05:00
DrChat 0cff91692e [Vulkan] Propagate errors in the render cache 2018-04-16 22:09:23 -05:00
DrChat 521b9eb5c5 [Vulkan] Fix window scale and offset calculation 2018-04-16 18:27:23 -05:00
DrChat 27c840fa91 [Vulkan] Fixup window offset calculation 2018-04-16 15:44:52 -05:00
DrChat 18d9efc93b [Vulkan] Bump down BufferCache alignment 2018-04-16 13:02:05 -05:00
DrChat b90465e2e5 [Vulkan] Halve the viewport dimensions when viewport scaling is disabled (10240 -> 5120)
The negative part of the viewport is unused, so hijack the 2 unused parameters of the window scale to use as an offset
2018-04-16 12:54:50 -05:00
DrChat 25f93a171c [Vulkan] Support optional vertex window offset 2018-04-16 11:08:24 -05:00
DrChat 6ca771d26f [Vulkan] Handle window scissor window_offset_disable 2018-04-14 17:51:57 -05:00
DrChat f8319ec12f [Base] Support sign-extension in bitfield 2018-04-14 17:34:21 -05:00
DrChat d914791afe [SPIR-V] Fix SetTextureLOD 2018-04-14 15:39:48 -05:00
DrChat 303539af22 [SPIR-V] Fix incorrect dst implementation (incorrect extraction indices) 2018-04-14 15:32:18 -05:00
DrChat 0f0d600a5b Fix Travis 2018-04-13 21:45:47 -05:00
DrChat 39083acdcb [Vulkan] Bump up maximum number of vertex buffers 2018-04-13 21:09:56 -05:00
DrChat 399e1fac2a [Vulkan] Gracefully fail on copy if a target format is unsupported 2018-04-13 21:09:21 -05:00
DrChat abdc0ff05a [GPU] Document first parameter of eA (export address) 2018-04-13 21:07:14 -05:00
DrChat 6794b4975c [SPIR-V] Use texture sample calls with constant offset 2018-04-13 21:06:45 -05:00
DrChat e6524aa497 [GPU] Disassemble memexport exports 2018-04-08 18:02:39 -05:00
DrChat 1d4fa80eac [GPU] Fixup ringbuffer log2_size (which specifies size in qwords)
Save microengine init packets
2018-04-08 15:50:36 -05:00
DrChat 9653c0bafc [GPU] Allow dynamic building of GPU packets 2018-04-03 19:08:30 -05:00
DrChat 14abe1a407 Fixup 360 support 2018-04-03 19:02:49 -05:00
DrChat a9d2a50082 [Vulkan] Add AMD shader statistics info support 2018-03-03 12:34:19 -06:00
DrChat 199328f971 [Vulkan] PipelineCache ClearCache support and pipelines counter 2018-03-03 11:36:12 -06:00
DrChat 43043fd4a8 [Vulkan] Track pixel center in pipeline cache (but don't apply it quite yet) 2018-03-03 10:30:59 -06:00
DrChat c8698f912f [Vulkan] Add pending delete textures counter 2018-03-02 23:46:58 -06:00
DrChat 9235a8107b [Vulkan] Track active textures in the texture cache 2018-03-02 23:28:29 -06:00
DrChat 2e3115660f [Vulkan] Scavenge Profiling 2018-03-02 21:42:49 -06:00
DrChat d31db60a75 [SPIR-V] tfetch UseRegisterLOD support 2018-03-01 13:46:44 -06:00
DrChat ea3ee2db2b [SPIR-V] No implicit lod on vertex shaders 2018-03-01 13:30:21 -06:00
DrChat b3626a039b [Vulkan] Remove backend swap event (unused and confusing) 2018-03-01 10:19:11 -06:00
DrChat b2f1bf914a [Vulkan] Set proper aspect mask in depth uploads 2018-03-01 09:54:15 -06:00
DrChat 702a8732c8 [GPU] Free the command processor in the destructor rather than on shutdown
Fixes a race condition: TDR followed by WriteRegister will cause a crash. It's okay to continue writing to the command processor (it may be setup again later).
2018-02-28 15:19:02 -06:00
DrChat 2a52156edf [Vulkan] Change invalidated_textures_ to an unordered set 2018-02-24 14:23:22 -06:00
DrChat a753dbed15 [Vulkan] Update the rest of the shaders 2018-02-24 11:15:58 -06:00
DrChat 8fd9ab8387 [Vulkan] Fix input mismatch in dummy.frag 2018-02-24 11:15:27 -06:00
DrChat 24baf58ae3 [SPIR-V] Proper implementation of getGradients 2018-02-23 00:00:07 -06:00
DrChat 5a4dcd7043 [Vulkan] Shader module debug object names 2018-02-22 23:07:54 -06:00
DrChat 5b6766b210 [SPIR-V] Fix a few issues with shaders (validation)
Properly calculating the number of texture bindings
2018-02-22 22:06:05 -06:00
DrChat 77da785d70 [Vulkan] Use locally generated texture binding indices instead of GPU indices 2018-02-22 21:00:54 -06:00
DrChat da4cf1bc80 [SPIR-V] 2_10_10_10 is actually 10_10_10_2 2018-02-22 18:37:24 -06:00
DrChat ea5c98248f [Vulkan] Remove dead vertex input code from the pipeline cache 2018-02-22 14:01:52 -06:00
DrChat 1a263f14a2 [Vulkan] Hash and track vertex descriptor sets (similar to texture cache) 2018-02-20 21:25:51 -06:00
DrChat 2a908eb86d [SPIR-V] Handle 32-bit normalized unsigned formats 2018-02-20 16:25:37 -06:00
DrChat b3de604f9e [SPIR-V] Fix offsetof on Travis 2018-02-19 19:09:06 -06:00
DrChat b5127cf924 [SPIR-V] Remove is_signed/is_integer check on float formats (they're ignored) 2018-02-19 12:53:53 -06:00
DrChat a3cf3a7694 [SPIR-V] Don't bother setting up vertex bindings if they aren't used. 2018-02-19 12:45:17 -06:00
DrChat be687f5f27 [SPIR-V] Size the vertex bindings input based on actual number of bindings 2018-02-19 11:28:22 -06:00
DrChat 16cf9883ca [Vulkan] Fix a couple validation errors 2018-02-19 11:19:24 -06:00
DrChat 103ecbab7e [SPIR-V] 32 [u]int formats 2018-02-19 11:01:45 -06:00
DrChat ff6d306728 [SPIR-V] Handle 16/16, 16/16/16/16 (float and norm) and 32f 2018-02-19 08:11:31 -06:00
DrChat 6fb176528b [SPIR-V] Don't group together unimplemented fetches 2018-02-19 00:23:15 -06:00
DrChat 081c142c4c [SPIR-V] Convert 8888, 32, 2/10/10/10 2018-02-19 00:14:38 -06:00
DrChat fe9c83c15b [Vulkan] First working version of dynamic vfetch! 2018-02-18 23:22:02 -06:00
DrChat 4c766dcc61 [Vulkan] BufferCache: Fix a few problems 2018-02-18 20:54:29 -06:00
DrChat f3f1a7fe42 [SPIR-V] Update glslang
WIP new vertex fetching
2018-02-18 20:13:38 -06:00
DrChat 4e1a55f585 [Vulkan] Bind the vertex set to DS slot 2 2018-02-18 18:50:53 -06:00
DrChat 9463732709 [Vulkan] BufferCache::PrepareVertexSet 2018-02-18 18:48:23 -06:00
DrChat 4be725c4b4 [Vulkan] Create/Free Vertex Descriptor Pool 2018-02-18 18:26:28 -06:00
DrChat af406df793 [Vulkan] Move the constant descriptor set to its own setup/destroy functions 2018-02-18 18:11:52 -06:00
DrChat 300656f788 Merge branch 'master' into vk_vfetch 2018-02-18 17:02:59 -06:00
DrChat 79308b477f Merge branch 'vtx_cache' 2018-02-18 16:49:32 -06:00
DrChat 71e5e967ec [Vulkan] Disable vertex buffer cache expansion for now. 2018-02-18 16:49:15 -06:00
DrChat 05192e3c0f [Vulkan] Prevent negative scissor offsets 2018-02-18 15:14:34 -06:00
DrChat 1a113fb82b [Vulkan] Fix cube texture uploads 2018-02-18 14:59:34 -06:00
DrChat ffef59aaa5 [Base] RingBuffer: Add ReadAndSwap instead of piggybacking off of Read 2018-02-18 12:18:20 -06:00
Dr. Chat 3d1c2a6c9a [GPU] Update vizquery documentation 2018-02-16 22:03:33 -06:00
DrChat 22929182e6 [GPU] Update the docs of a few registers 2018-02-16 18:33:01 -06:00
DrChat 1dba231049 [Vulkan] Handle primitive reset index on copy 2018-02-16 18:31:43 -06:00
DrChat 776b5eff36 [Vulkan] BufferCache: Add VertexBuffer struct 2018-02-16 16:51:32 -06:00
DrChat db53559611 Merge branch 'master' 2018-02-16 16:34:17 -06:00
DrChat 30e0a258e4 [Vulkan] Buffers typically aren't aligned. 2018-02-15 17:05:54 -06:00
DrChat 310606d0f6 Merge branch 'master' into vk_vfetch 2018-02-14 20:31:31 -06:00
DrChat c9a5553fe9 [Vulkan] Upload entire vertex allocation into the transient cache (for now) 2018-02-11 20:43:32 -06:00
DrChat d015de4a84 [Vulkan] Smarter transient cache
Detect cases where requested vertex data has already been uploaded in a larger buffer
2018-02-10 21:08:17 -06:00
DrChat 5a637d6899 [Vulkan] Add VMA to Buffer Cache 2018-02-09 20:58:17 -06:00
DrChat c7ffec3260 [GPU] Add unknown registers E00/E40 to register file 2018-02-09 20:57:51 -06:00
DrChat 3ad45f4186 [Vulkan] New docs for buffer cache 2018-02-09 20:57:26 -06:00
DrChat 455dfeb39f [Vulkan] Use a static function for texture invalidation callbacks 2018-02-09 16:58:56 -06:00
DrChat b38b9e43ea [Vulkan] Don't bother re-hashing previously covered bindings 2018-02-07 18:40:41 -06:00
DrChat 7ea3381699 [Vulkan] texture_bindings_ -> texture_sets_ 2018-02-07 18:40:12 -06:00
DrChat 3e157972cc [Vulkan] Add a few size checks on vertex bindings (max across all cards is 32) 2018-01-03 16:40:31 -06:00
DrChat 10f74fc45a Merge branch 'master' into vk_vfetch
# Conflicts:
#	src/xenia/gpu/spirv_shader_translator.cc
2018-01-01 18:30:29 -06:00
Dr. Chat d512d4127f [SPIR-V] Fix the build. 2018-01-01 15:00:37 -06:00
DrChat 26f3100c23 [SPIR-V] Don't normalize denormalized 10/11/11 formats if not requested 2017-12-28 16:20:35 -06:00
DrChat e5fd81b22f [SPIR-V] Don't normalize denormalized 10/11/11 formats if not requested 2017-12-24 13:54:44 -06:00
DrChat 8784daf6bc [Vulkan] Don't allocate textures if we don't know the format.
DTX5A = ATI1
2017-12-23 21:02:33 -06:00
DrChat 28ebb4bf43 [Vulkan] Offset the destination rect and viewport by the window offset 2017-12-23 12:53:00 -06:00
DrChat 26100c586f [Vulkan] Track render target state with the pipeline cache 2017-12-22 23:33:27 -06:00
DrChat 516c113423 [SPIR-V] Fix tfetches with an offset 2017-12-22 23:15:18 -06:00
DrChat 20099e51af Formatting 2017-12-22 22:24:51 -06:00
DrChat 366e8b1b6a [SPIR-V] Fix invalid 1D texture offsets 2017-12-22 22:24:19 -06:00
DrChat fb89973266 [SPIR-V] Add support for loops 2017-12-22 22:23:28 -06:00
DrChat 80b0b66e5d [Vulkan] Regenerate shaders with newer glslang 2017-12-21 23:14:42 -06:00
DrChat 4cfe1e3203 [Vulkan] Support window scissor in IssueCopy 2017-12-21 22:38:35 -06:00
DrChat 2e1d33b8d3 [Vulkan] Correct some more pipeline barriers 2017-12-21 17:03:02 -06:00
DrChat f26bd04a6c [Vulkan] Fix typo causing depth image views to be overwritten by a stencil view 2017-12-21 16:51:55 -06:00
DrChat 554d333299 [Vulkan] Request depth/stencil attachment usage for textures that support it 2017-12-21 15:13:54 -06:00
DrChat ab7dce53ec [Vulkan] Fix another incorrect pipeline stage barrier 2017-12-21 15:13:01 -06:00
DrChat 697eccf23e [SPIR-V] Fix incorrect FOrdEqual result type 2017-12-21 15:12:02 -06:00
DrChat cbfaffd9f3 [Vulkan] Correct a bunch of incorrect pipeline barrier stages 2017-12-21 13:11:34 -06:00
DrChat 8bf10a941a [GPU] TraceViewer *.xenia_gpu_trace -> *.xtr 2017-12-21 11:05:50 -06:00
DrChat ecfaaa6c95 [GPU] Log attempts to fetch unsupported texture formats 2017-12-20 21:26:52 -06:00
DrChat 9395b73217 [Travis] Enable full Xenia build on linux 2017-12-20 16:27:01 -06:00
DrChat 886a223cf2 [GPU] Remove a few unused variables from TraceDump 2017-12-20 14:38:02 -06:00
DrChat db34128b95 Fix linux build of the vulkan trace dumper 2017-12-19 18:29:00 -06:00
DrChat d3b03b9a93 [Vulkan] Update VMA 2017-12-19 18:19:03 -06:00
DrChat 4d159efef5 [GPU] Run TraceDump headless, and drop the GL4 trace dumper 2017-12-19 16:37:59 -06:00
DrChat 09b3a07e3c Support rendering windowless (tested on the Vulkan backend) 2017-12-19 16:05:36 -06:00
DrChat 11f8da9092 [GPU] Whoops, accidentally flipped is_integer around. 2017-12-18 18:11:24 -06:00
DrChat 55d2c03943 [GPU] Rename a few misnamed vfetch fields 2017-12-18 17:24:52 -06:00
DrChat 29c5fb8022 [GPU] Short circuit command processor waits if an exit is requested. 2017-12-18 17:23:14 -06:00
DrChat d98344f99b [Vulkan] Log down strings when an invalid usage flag is specified. 2017-12-18 15:47:52 -06:00
DrChat b5d647d540 [Vulkan] Better handling of device lost events (present fatal error dialog) 2017-12-18 14:27:00 -06:00
DrChat 6e0550d46b [GPU] Strip the extension from .xtr files when choosing the output path. 2017-12-17 15:17:44 -06:00
DrChat d4338a2c3f [GPU] Use overall shorter names for xenia GPU traces 2017-12-17 15:00:10 -06:00
DrChat c7859da997 [GPU] Fix TraceDump progress not showing 2017-12-17 13:44:39 -06:00
DrChat f4a0dbac75 [GPU] Don't bother redrawing the trace dump window 2017-12-17 13:12:42 -06:00
DrChat 6b4e8ee19e [SPIR-V] New flag: spv_disasm - Generate disassembly for spir-v shaders (disabled by default) 2017-12-17 13:12:10 -06:00
DrChat 5da59a95c9 Merge branch 'linux' 2017-12-16 17:15:49 -06:00
DrChat 49287579ff [Vulkan] Robustify error handling during initialization 2017-12-16 15:14:48 -06:00
DrChat bf9fa02b18 [GPU] Accept input and output path as command line parameters 2017-12-15 23:48:23 -06:00
DrChat 66d19a462b [GPU] Make TraceDump error handling more robust
Exit with code -1 if GraphicsSystem::Capture failed
2017-12-15 22:31:10 -06:00
DrChat 8cabc114e9 [GPU] Properly track the packets leading up to a swap command 2017-12-15 22:01:50 -06:00
DrChat 829f346dc2 Axe a few unused functions from TraceDump 2017-12-15 20:33:12 -06:00
DrChat aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
DrChat 02e37be4e5 Merge branch 'linux' of git://github.com/dougvj/xenia into linux
# Conflicts:
#	.travis.yml
2017-12-14 19:20:02 -06:00
DrChat a7b6d91a2b [SPIR-V] (untested) Implementation of getGradients 2017-10-01 18:59:54 -05:00
scribam b6e7e66fbe Fix travis LINT 2017-09-20 23:29:39 +02:00
DrChat e674c9df26 Vulkan: Emit a warning when attempting to use a texture in an unsupported way 2017-09-07 14:37:05 -05:00
DrChat f9d08888c7 Vulkan: ClearCache for texture cache, properly free all textures and allocator on exit. 2017-09-07 14:22:04 -05:00
DrChat 1358b94f4d Fix lint errors :) 2017-09-03 20:02:45 -05:00
DrChat 121a2d655a Vulkan: Properly support depth writes (or blit depth images if able) 2017-09-01 18:32:55 -05:00
DrChat 4e4a1a03c1 Vulkan: Add a memory allocator and hook it up to the texture cache. 2017-08-20 20:48:36 -05:00
DrChat 7e819a4ccb Vulkan: Refactor CTX1 conversion 2017-08-20 18:37:02 -05:00
DrChat 1eac03a11c GPU: The base format of *_EXPAND textures is *_FLOAT 2017-08-19 21:10:53 -05:00
DrChat e758e87587 Trace Viewer: Display texture info even if the demand failed
Display format name as well
2017-08-19 20:56:13 -05:00
DrChat 57ffee0d8c GPU: Add name strings for all texture formats 2017-08-19 20:55:29 -05:00
DrChat 96ba5d5563 Vulkan: Set the depth/stencil attachment flag bit for depth/stencil textures. 2017-08-19 18:34:32 -05:00
Dr. Chat 2f200f4a75 Vulkan: Reformat the texture config table to look nicer 2017-08-14 00:32:40 -05:00
Dr. Chat 657d571c0d Vulkan: Update a couple of comments on texture formats 2017-08-13 21:32:57 -05:00
DrChat 3d0cbe50b9 Vulkan: Use GetBaseFormat in TextureFormatIsSimilar 2017-08-13 19:08:38 -05:00
Dr. Chat 22575af212 Fix AMD crashes from last commit 2017-08-10 23:24:32 -05:00
DrChat 4809f3eb51 Vulkan: Create a util WritebackTexture function (unused atm) 2017-08-10 15:01:12 -05:00
DrChat 09c29bbdc5 Vulkan: Search by a texture's base format when fetching. 2017-08-09 22:27:41 -05:00
DrChat 63576aec35 Vulkan: Add debug code to flag empty texture uploads in the log 2017-08-09 22:26:56 -05:00
AllanCat 79b9efb777 GL4: Fix HostTextureInfo setup. 2017-08-09 10:07:15 -05:00
gibbed f8edc761fc Vulkan: Do near-exact lookups for the frontbuffer texture (may break everything). 2017-08-09 02:28:47 -05:00
gibbed 4c77616ef9 Vulkan: Suppress some warnings from validation layer. 2017-08-09 01:15:33 -05:00
DrChat bea607b454 Vulkan: Apply a half-pixel offset where necessary. 2017-08-09 00:48:53 -05:00
gibbed 082c767fba Add the currently active graphics system to the window title. 2017-08-09 00:40:44 -05:00
DrChat 8b5eb1cd38 Vulkan: Remove redundant format argument from DemandResolveTexture 2017-08-09 00:10:52 -05:00
gibbed b14dc3351c GPU: Make 1D textures into 2D ones. 2017-08-08 17:58:11 -05:00
gibbed 1570dcd24c Vulkan: 32_32_32_32 had wrong unsigned format. 2017-08-08 16:51:19 -05:00
gibbed 90b8f983d0 - Vulkan: DXT1_AS_16_16_16_16 should probably map to VK_FORMAT_BC1_RGBA_UNORM_BLOCK.
- Vulkan: Added comments regarding CTX1 format.
2017-08-08 16:47:16 -05:00
gibbed 42533d39eb Vulkan: Assume all 1D texture sampling is actually sampling a 2D texture. 2017-08-08 16:35:19 -05:00
gibbed 355d9f6c62 Take three? 2017-08-08 02:10:22 -05:00
gibbed 3aa5a70827 Take two? 2017-08-08 01:49:53 -05:00
gibbed 19627a6cb2 GPU: Cast various flags to bool in IssueCopy. Fixes #773. 2017-08-08 01:46:21 -05:00
gibbed 4a95862023 GPU: Ensure texture resolves are at least 1x1. 2017-08-08 01:39:42 -05:00
gibbed d2d8d65629 GPU: First pass of CTX1 to R8G8_UINT conversion implementation for Vulkan. 2017-08-08 00:26:40 -05:00
DrChat ee18d548c9 Vulkan: Do not bind a NULL pipeline even if a full update is requested. 2017-08-08 00:11:08 -05:00
DrChat 0720bbe19f Vulkan: Fix race crash in trace viewer 2017-08-07 23:35:17 -05:00
DrChat cce5182725 Vulkan: Fix swap on resolve (off by one!)
Clean up part of IssueCopy
2017-08-07 23:34:50 -05:00
DrChat 35e4431c33 Vulkan: Get rid of the empty descriptor set 2017-08-07 21:46:35 -05:00
DrChat 8bfe22bbd7 GPU Shader Translator: Add cases for memexport registers 2017-08-07 21:40:24 -05:00
DrChat cfc65a0197 GPU: Rewrite/rephrase some confusing shader translator code 2017-08-07 21:08:01 -05:00
gibbed 6d9a56a269 GPU: Fixed texel pitch calculation for linear textures. 2017-08-07 20:50:42 -05:00
gibbed febe46973f GPU: Don't use host write bit for texture uploads. 2017-08-07 19:47:17 -05:00
gibbed b4ae5b9a01 - GPU: Removal of deprecated TextureInfo fields.
- GPU: Replicated removed deprecated fields into local struct for GL.
- GPU: Improved texture copies for Vulkan, no more pitch changes.
- GPU: Stubbed code for CTX1 conversion in Vulkan.
2017-08-07 19:30:06 -05:00
gibbed 906f24cb1a GPU: Make the format info table 64 statically elements again. 2017-08-07 19:13:02 -05:00
DrChat 2ba0ebb4cb GPU: Add back k_1_REVERSE 2017-08-06 16:55:02 -05:00
gibbed bd58191239 Moved format info table to its own file to maintain formatting. 2017-08-06 14:13:19 -05:00
gibbed 5ce29dbe1c Format info table was off by one this whole time. Who knew? 2017-08-06 13:58:37 -05:00
gibbed 791f81c484 Prettify format info table. 2017-08-06 13:57:13 -05:00
DrChat eb022939d1 Vulkan: Initialize a texture's framebuffer to nullptr 2017-08-06 12:47:34 -05:00
AllanCat 7ad6fc92f6 Fixed white edge on some textures(text display). 2017-07-19 23:18:49 +08:00
AllanCat c47d12875c Fixed Vulkan's dark color issue. 2017-07-19 15:06:29 +08:00
Doug Johnson b65c7e6297 vulkan: render_cache: More clang compilation fixes 2017-07-11 11:47:24 -06:00
sephiroth99 7ede34b593 vulkan: render_cache: fix clang compilation 2017-07-11 11:47:24 -06:00
Doug Johnson bb0ee0e4a3 Change glsl lang call that supports scalar rather than vector 2017-07-11 11:47:24 -06:00
Doug Johnson be3615b15b Add missing include <vector> 2017-07-11 11:47:24 -06:00
Doug Johnson 48a2435bde Add header dependencies that prevented linux build
There were several files with dependancies on vector and cmath that
caused compiler errors under linux. In addition, there was a printf
formatting error that threw a compiler error as well
2017-07-11 11:47:24 -06:00
Dr. Chat 283b7bc1b4 GPU: Change ReadRegister/WriteRegister constants to be consistent with other numberings. 2017-07-04 20:47:22 -05:00
Thomas Mccaffery fb51148b03 Added GPU Register Definition
Added 0x1924 = 0x6490 according to this referenced here https://www.x.org/docs/AMD/old/RRG-216M56-03oOEM.pdf as DC_LUT_PWL_DATA.
2017-06-12 02:48:51 -04:00
Dr. Chat 9dc740dcc0 GraphicsSystem: Properly support register file reads/writes, and fill in some unknown registers 2017-06-11 13:00:31 -05:00
Dr. Chat 6ab4bac542 Xenos: Fill in some of the unknown primitive types. 2017-06-10 20:09:03 -05:00
Parker Lamb 8ae737aaa5 Added GPU register definitions. 2017-06-06 21:45:41 -05:00