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