Commit Graph

2335 Commits

Author SHA1 Message Date
Triang3l aa73d652ba [DXBC] OpenGL snorm vfetch because why not 2020-05-24 19:25:35 +03:00
Triang3l 04ca28c902 [DXBC] Unbreak signed integer vfetch + don't multiply by 1 in normalization 2020-05-23 19:04:42 +03:00
Triang3l 7f2d9ca929 [D3D12] Revert half-pixel offset through viewport because of SSAA issues 2020-05-23 18:37:28 +03:00
Triang3l 3879ff29b3 [DXBC/GPU] vfetch to new codegen, signed vfetch offset, fix AND with system flags 2020-05-23 17:15:11 +03:00
Triang3l 3d2b04333e [D3D12] RT Cache: Fix typos (in something broken anyway) 2020-05-17 16:05:22 +03:00
Triang3l 581646cff2
[GPU] Lint xe_gpu_texture_fetch_t 2020-05-17 01:38:15 +03:00
Triang3l b7a5c24bb1 [D3D12] d3d12_break_on_error + fix PerformSwap descriptor heap wrap 2020-05-17 00:26:04 +03:00
Triang3l 8341a48210 [D3D12] Fix state of textures bound to both VS and PS 2020-05-16 19:33:22 +03:00
Triang3l fdd97fc831 [D3D12] Reword clamp FIXME because WONTFIX 2020-05-16 00:19:18 +03:00
Triang3l 8c2f607793 [GPU] Notes about tiled offset patterns 2020-05-14 23:42:54 +03:00
Triang3l 35abd8e2e8 [D3D12] Actually properly select tessellation mode 2020-05-11 22:47:07 +03:00
Triang3l 0d14ae01bb [D3D12] Allow non-adaptive tessellation for patch primitive types, and all triangle and quad tessellation modes 2020-05-11 22:40:52 +03:00
Triang3l 4631b2b16c [D3D12] Apply half pixel offset through viewport, remove some 2560 references 2020-05-11 20:37:02 +03:00
Triang3l 6d0e4787fb [DXBC] Use div for vtx_fmt w0 instead of rcp 2020-05-11 16:51:48 +03:00
Triang3l a3b4c77fdb [GPU] Add texture_util::SwizzleSigns for later 2020-05-11 16:30:09 +03:00
Triang3l b256005b7a [GPU] Fix GatherInstructionInformation enum values not handled warning 2020-05-11 00:28:26 +03:00
Triang3l 814990f686 [DXBC] ALU scalar ops to new codegen 2020-05-10 20:57:33 +03:00
Triang3l ef37cbb955 [DXBC] Fix an outdated comment about cube operands 2020-05-10 16:35:40 +03:00
Triang3l b79ba69548 [DXBC] ALU vector ops to new codegen 2020-05-10 16:33:39 +03:00
Triang3l 3aa0ce3096 [GPU] Shader translator refactoring (mostly ALU), fixes for disassembly round trip and write masks 2020-05-08 23:57:51 +03:00
Triang3l f7ad631057 [GPU] ucode doc: revert one accidentally changed character 2020-04-26 17:01:01 +03:00
Triang3l 07e4f84c2b [GPU] ucode doc: A2xx ALU names, DX9 rules, cube 2020-04-26 16:53:13 +03:00
Triang3l 96a61bc623 [DXBC] All prologues and epilogues to new DXBC code 2020-04-26 13:51:25 +03:00
Triang3l 1799585e92 [DXBC] Control flow to new DXBC code 2020-04-25 19:30:01 +03:00
Triang3l fb39bac2a1 [Vulkan] Make the title message more clear to users 2020-04-25 14:33:16 +03:00
Triang3l d65cbc160d [D3D12] Treat non-ROV truly as fallback in the title bar 2020-04-25 13:59:47 +03:00
Triang3l 64a83af137 [DXBC] Cleanup StartPixelShader, always_reads_mask, and ps_param_gen overall 2020-04-25 00:20:27 +03:00
Triang3l f83809f7a1 [D3D12] Non-adaptive quad tessellation 2020-04-19 23:12:39 +03:00
Triang3l 58c104e0cc [DXBC] SRV binding enum 2020-04-15 23:53:37 +03:00
Triang3l 630a538af3 [D3D12] Reword shader storage error messages 2020-04-14 13:46:18 +03:00
gibbed aa1c69d7b6 [D3D12] Properly setup shareable shader storage.
[D3D12] Properly setup shareable shader storage.

- Properly create shareable shader storage directory.
- Log errors when failing to create shareable shader storage directory
  or shareable shader files.
2020-04-14 00:58:30 -05:00
Triang3l 5795d25afe [D3D12] Remove runtime check of cvars::d3d12_edram_rov 2020-04-12 20:48:35 +03:00
Triang3l 0f0ed0eb21 [DXBC] RDEF enums, ISGN/PCSG/OSGN structs and enums 2020-04-11 20:25:37 +03:00
Triang3l f365ab5e6d [D3D12] Fix wrong comment about adaptive tessellation 2020-04-09 22:26:47 +03:00
gibbed ed04d96e67 Avoid using '#' format spec for X hex numbers.
Avoid using '#' format spec for X (uppercase) hex numbers, as it
results in output like "0XABCDEF" instead of "0xABCDEF".
2020-04-09 11:25:08 -05:00
Sandy Carter e605eef781 filesystem: remove unused includes of header 2020-04-09 09:44:48 -05:00
Sandy Carter 69bcf59c79 filesystem: use std for CreateFolder
Remove custom platform implementation of `CreateFolder` and replace uses
with `std::filesystem::create_directories` which creates paths
recursively.
2020-04-09 09:44:48 -05:00
Triang3l acb3778819 [D3D12] Adaptive quad tessellation, remove d3d12_tessellation_adaptive cvar 2020-04-09 00:00:11 +03:00
gibbed c51cba080b Fix some bad string formats. 2020-04-08 13:05:37 -05:00
Triang3l 7e27427c4a [D3D12] SV_Position is not necessary in VS if it's in DS/GS 2020-04-08 12:54:35 +03:00
Triang3l 7cf3a75ab1 [D3D12] Fix and enable triangle adaptive tessellation 2020-04-08 00:26:49 +03:00
gibbed a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed 5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Triang3l b47948b7cf [DXBC] Fix another copy-paste kVSDS typo 2020-04-07 19:19:08 +03:00
Triang3l 306f2947ec [DXBC] Fix a copy-paste kDSVS typo 2020-04-07 19:18:21 +03:00
Triang3l 9d36c257b0 [D3D12] Non-adaptive triangle tessellation 2020-04-07 18:55:43 +03:00
Triang3l b00baadf53 [D3D12] Fix a lint issue in comments 2020-04-06 12:41:35 +03:00
Triang3l 283c3ab59b [D3D12/DXBC] Fix a couple of tessellation-related comments 2020-04-06 00:19:29 +03:00
Triang3l c4f47039eb [GPU] Fix a typo in the tessellation patch types comment 2020-04-06 00:08:05 +03:00
Triang3l 4b9f63cdf1 [GPU] Shader::HostVertexShaderType enum for domain shader types 2020-04-06 00:03:23 +03:00
Triang3l 8da8044771 [DXBC] Move cvars from D3D12 to GPU 2020-04-05 17:23:38 +03:00
Triang3l e82d05c687 [D3D12] Pass adaptive tessellation factors via index buffer like on the guest 2020-04-05 17:22:49 +03:00
Triang3l 5d6fe38e6f [DXBC] Vertex shader prologue and gamma to new DXBC code 2020-04-05 13:13:55 +03:00
Triang3l 5f5e281e8c [DXBC] Rewrite a comment in memexport that may be outdated 2020-03-29 19:14:25 +03:00
Triang3l 05f6b444a0 [DXBC] Move memexport to the new DXBC code and make it more straightforward 2020-03-29 19:09:58 +03:00
Triang3l 7bdf59a8c7 [DXBC] Fix totally broken instruction when memexport is used in PS 2020-03-28 00:23:02 +03:00
Triang3l a10bd2a5c1 [DXBC] Unbreak MRT in RTV output path 2020-03-27 23:18:15 +03:00
Triang3l 316f996d50 [DXBC] D3D11.3 Functional Specification lies 2020-03-27 21:31:00 +03:00
Triang3l a4ffcd5175 [D3D12] Update DXBC contribution notes 2020-03-23 00:13:54 +03:00
Triang3l cde092ece1 [D3D12] Persistent shader and PSO storage 2020-03-21 19:22:19 +03:00
Triang3l b12554c5af [GPU] Add VGT_DRAW_INITIATOR to registers.cc 2020-02-25 08:05:47 +03:00
Triang3l 90b772a330 [GPU] Set VGT_DRAW_INITIATOR and use major mode from it 2020-02-24 23:27:25 +03:00
Triang3l 95475d5f78 [D3D12] SharedMemory::ClearCache invalidating pages, destroying watches 2020-02-23 15:55:41 +03:00
gibbed a6e6f0f7bf Lint cleanup. 2020-02-22 13:29:07 -06:00
Triang3l 1336316139 [D3D12] Vertex kill and multipass vertex exports 2020-02-20 08:56:16 +03:00
Triang3l 47eee5e1c3 [GPU] Unified function for mip level bounds, BaseMap mip filter, small refactoring 2020-02-18 23:31:48 +03:00
Triang3l 710d225d0a [GPU] --gpu_allow_invalid_fetch_constants to bypass invalid fetch constant type errors 2020-02-16 19:35:26 +03:00
Triang3l d18e63e6e2 [D3D12] Always write original shader source in DXBC if PIX is attached 2020-02-16 18:09:22 +03:00
Triang3l 8ec813de82 [Memory, D3D12] Various refactoring from data provider development 2020-02-15 21:35:24 +03:00
Triang3l b59ae30ec3 [D3D12] DXBC: Fix two uninitialized register usages in ROV code, better comments 2020-02-13 08:31:01 +03:00
Triang3l 014d03193e [D3D12] Convert dxbc_shader_translator_om.cc to new DXBC emission code 2020-02-10 23:50:26 +03:00
Silent f392347673 [GPU] Remove MAX_PATH limit from Shader::Dump 2020-02-09 14:02:37 -06:00
Triang3l 85fb028faa [D3D12] Cleaner DXBC emission code, port ROV prologue to it 2020-02-07 09:42:43 +03:00
Triang3l 211e30d791 [GPU] Remove repeated word in a comment 2020-02-02 21:07:51 +03:00
Triang3l 4061445087 [GPU] Remove unused kConstantInt/Bool shader operands 2020-02-02 21:05:00 +03:00
Triang3l c43ccc073d [D3D12] Submit command lists on primary buffer end 2019-12-04 21:42:26 +03:00
Triang3l 6a3a56b3b9 [D3D12] Workaround for texture flickering on Nvidia - don't use sampler 2047 2019-12-01 21:39:48 +03:00
Joel Linn 03d5455a2f [imgui] Fixes to work with new api.
- Font atlas is now owned by context.
- Switch from deprecated io.RenderDrawListsFn callback to dedicated call in window.cc.
- Replaced deprecated ImGuiCol_ModalWindowDarkening with ImGuiCol_ModalWindowDimBg.
- Replaced deprecated SetScrollHere() with SetScrollHereY().
- Replaced deprecated GetContentRegionAvailWidth() with GetContentRegionAvail().x.
- Replaced deprecated ShowTestWindow() with ShowDemoWindow().
- Replaced deprecated ImGuiCol_ChildWindowBg with ImGuiCol_ChildBg.
- Replaced deprecated SetNextTreeNodeOpen() with SetNextItemOpen().
2019-11-20 08:05:40 -06:00
Joel Linn 1985169924 [imgui] Make code compile with new imgui. 2019-11-20 08:05:40 -06:00
Triang3l 26e1a67036 [GPU] Separate dxbc and dxbctext shader compiler targets 2019-11-09 00:13:23 +03:00
Triang3l e5b8f0cb27
[Vulkan] Remove an obsolete comment about GLSL 2019-11-08 23:16:37 +03:00
Margen67 09e1028154 Remove (hopefully) last OpenGL leftovers & crunch
Crunch is unused.
2019-11-08 09:10:51 -08:00
Triang3l d4a5a57867 [D3D12] Remove command_list.h inclusion 2019-11-06 08:08:49 +03:00
Triang3l c8f3c93802 [D3D12] Don't create multiple command lists as they're just encoders 2019-11-06 08:06:12 +03:00
Triang3l 00116fad2d [D3D12] Don't assume there's a null D3D descriptor handle 2019-11-04 21:10:32 +03:00
Triang3l c499229455 [GPU] Store an EDRAM snapshot in traces 2019-11-04 17:30:20 +03:00
Triang3l 9deb710607 [D3D12] CP: Framework for multiple command lists per frame 2019-10-31 23:33:11 +03:00
Triang3l 6e5a0ebf7b [D3D12] CP: Separate guest frame and non-frame submissions 2019-10-28 22:00:59 +03:00
Triang3l d3b6f71ae1 [D3D12] Don't use D3D12Context for command processor fence 2019-10-28 10:49:32 +03:00
Triang3l b4af63fe31 [D3D12] Detach UploadBufferPool and DescriptorHeapPool from D3D12Context 2019-10-27 20:53:53 +03:00
Triang3l f23ba862f6 [D3D12] Trace viewer entry point 2019-10-27 00:37:33 +03:00
Triang3l 36f4158f09 [GPU] Trace dump: Do PIX/RenderDoc capture if attached 2019-10-25 21:32:17 +03:00
Triang3l f75d927cc5 [D3D12] Resolve fetch memory read tracing 2019-10-25 09:17:08 +03:00
Triang3l c057b5a032 [D3D12] Make trace dump partially work 2019-10-25 08:38:06 +03:00
Triang3l b622e894d6 [D3D12] Replicate the last texture component into non-existent ones 2019-10-23 23:47:17 +03:00
Triang3l 4623b41023 [D3D12] Trace guest memory operations 2019-10-23 23:33:50 +03:00
Triang3l 1005651855 [D3D12] Fix DXN swizzle and cleanup texture swizzles 2019-10-21 21:16:29 +03:00
Triang3l a9ed73bdd1 [GPU] Remove most hardcoded register/instruction layouts from common and D3D12 code 2019-10-20 19:40:37 +03:00
Triang3l f83269cf8c [GPU] Refactor: Register structs in D3D12CommandProcessor and some other places 2019-10-19 23:32:38 +03:00
Triang3l 84a8dc91e4 [D3D12] Filtering between array texture layers 2019-09-03 10:14:25 +03:00
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