Triang3l
1a95bef8b3
[GPU] Eliminate unused shader I/O, UCP culling, centroid on Vulkan
...
For more optimal usage of exports and the parameter cache on the host regardless of how effective the optimizations in the host GPU driver are. Also reserve space for Vulkan/Metal/D3D11-specific HostVertexShaderTypes to use one more bit for the host vertex shader type in the shader modification bits, so that won't have to be done in the future as that would require invalidating shader storages (which are invalidated by this commit) again.
2022-07-21 12:32:28 +03:00
Triang3l
05adfbc58d
Merge branch 'master' into vulkan
2022-05-15 16:18:41 +03:00
Triang3l
a65fd4f673
[GPU] Shader::IsHostVertexShaderTypeDomain
2022-05-15 16:13:05 +03:00
Triang3l
b88f715140
Merge branch 'master' into vulkan
2022-05-03 00:13:17 +03:00
Triang3l
0fd578cafd
[GPU] Get unclipped draw height by running VS on the CPU
2022-04-28 22:25:25 +03:00
Triang3l
5519dbb39f
[GPU] Shader control flow documentation improvements
2022-04-27 21:34:08 +03:00
Triang3l
b42680abf7
[GPU] Shader ALU refactoring + documentation
...
Mainly move instruction info from the ShaderTranslator to xe::gpu::ucode for future use in the CPU shader interpreter
2022-04-27 20:52:20 +03:00
Triang3l
69958cba9d
[GPU] shader-compiler: Accept little-endian ucode
2022-04-26 22:59:02 +03:00
Triang3l
fea430f1f9
[GPU] Fix scalar c[#+aL], shader docs/refactoring
2022-04-13 23:08:19 +03:00
Triang3l
922efb13ce
Merge branch 'master' into vulkan
2022-02-03 21:12:10 +03:00
Triang3l
14b69fdb00
[GPU] vfetch_full fetching nothing still must calculate the address
2022-01-09 16:26:05 +03:00
Triang3l
d6188c5d7e
[GPU] Reuse base+index*stride in vfetch_mini instead of reloading the index GPR
...
The wheel shader in 4D530910 does vfetch_full to r0 with the index from r0.x, and then vfetch_mini.
Thanks @Gliniak for the finding :3
Also small formatting cleanup in commented-out code.
2022-01-09 14:58:38 +03:00
Triang3l
ecccd02f8a
Merge branch 'master' into vulkan
2021-09-12 14:10:36 +03:00
Triang3l
e720e0a540
[Code] Remove game names from code comments (most of at least)
2021-09-05 21:27:40 +03:00
Triang3l
6cd9d42fd0
Merge branch 'master' into vulkan
2021-06-08 12:15:34 +03:00
Triang3l
913e1e949c
[GPU] Ownership-transfer-based RT cache, 3x3 resolution scaling
...
The ROV path is also disabled by default because of lower performance
2021-04-26 22:12:09 +03:00
Triang3l
9009cba90a
[GPU] Refactor shader dumps - bin and txt files for both ucode and host
2020-12-25 21:46:07 +03:00
Triang3l
dcde08a493
[GPU] PS and rasterization disabling cleanup
2020-12-24 23:40:38 +03:00
Triang3l
e6fa0ad139
[GPU] Dynamic r# count via shader modifications + refactoring
2020-12-19 16:14:54 +03:00
Triang3l
4617dc5569
Merge branch 'master' into vulkan
2020-12-13 20:04:12 +03:00
Triang3l
9a4643d0f2
[GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir
2020-12-07 22:31:46 +03:00
Triang3l
6b988d43c7
[D3D12] Cleanup: pipeline state -> pipeline, other things
2020-11-14 16:43:18 +03:00
Triang3l
cacf702948
Merge branch 'master' into vulkan
2020-10-30 22:58:55 +03:00
Triang3l
ae3b68c7b6
[DXBC] Fast mul path only for fully identical components because neg is post-abs
2020-10-30 22:31:30 +03:00
Triang3l
feb8258a5e
[DXBC] Multiplication signed zero handling
2020-10-30 22:14:38 +03:00
Triang3l
738cb0b847
[SPIR-V] Result storing
2020-10-29 22:07:02 +03:00
Triang3l
4bb0ca0e09
[GPU] Move all xenos.h to gpu::xenos, disambiguate Dimension/TextureDimension
2020-07-11 15:54:22 +03:00
Triang3l
8a64861ec0
[DXBC] New tfetch: pre-swizzle signs, additive LOD + refactoring
2020-06-06 19:12:34 +03:00
Triang3l
aa73d652ba
[DXBC] OpenGL snorm vfetch because why not
2020-05-24 19:25:35 +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
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
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
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
9d36c257b0
[D3D12] Non-adaptive triangle tessellation
2020-04-07 18:55:43 +03:00
Triang3l
4b9f63cdf1
[GPU] Shader::HostVertexShaderType enum for domain shader types
2020-04-06 00:03:23 +03:00
Triang3l
1336316139
[D3D12] Vertex kill and multipass vertex exports
2020-02-20 08:56:16 +03:00
Triang3l
4061445087
[GPU] Remove unused kConstantInt/Bool shader operands
2020-02-02 21:05:00 +03:00
Triang3l
84a8dc91e4
[D3D12] Filtering between array texture layers
2019-09-03 10:14:25 +03:00
Triang3l
4825e69fda
[D3D12] Cleanup primitive types and front/back facing
2019-07-13 22:25:03 +03:00
Triang3l
6672997108
[D3D12] ROV early Z and full rewrite, shader scalar optimizations
2019-07-11 09:31:58 +03:00
Triang3l
66a9c9d812
[GPU] Store ALU result after both vector and scalar instructions
2019-04-20 20:30:01 +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
72e9ac5c28
[GPU] Shader translator: More memexport validation
2018-12-21 22:24:09 +03:00
Triang3l
adc0eb87f6
[GPU] Gather used memexport constants in shader translator
2018-12-20 10:14:18 +03:00
Triang3l
1ee3ed03fd
[D3D12] DXBC: Skip loading and some ALU ops for identical operands
2018-12-09 00:20:13 +03:00
Triang3l
c4599ff211
[D3D12] Compact float constants and don't split them into pages
2018-09-30 20:17:26 +03:00
Triang3l
2a98d29eda
[D3D12] DXBC: Most of tfetch
2018-09-11 22:57:08 +03:00
DrChat
abdc0ff05a
[GPU] Document first parameter of eA (export address)
2018-04-13 21:07:14 -05:00
DrChat
e6524aa497
[GPU] Disassemble memexport exports
2018-04-08 18:02:39 -05:00