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
b41bb35a20
[SPIR-V] Make interpolators an array to fix Adreno linkage
2022-07-09 17:52:26 +03:00
Triang3l
b3edc56576
[Vulkan] Merge texture and sampler descriptors into a single descriptor set
...
Put all descriptors used by translated shaders in up to 4 descriptor sets, which is the minimum required, and the most common on Android, `maxBoundDescriptorSets` device limit value
2022-07-09 17:10:28 +03:00
Triang3l
e4de8663c4
[Vulkan] All guest draw uniform buffer bindings in a single descriptor set
...
Reduce the number of bound descriptor sets from 10 to 6, which is still above the minimum limit of 4, but closer
2022-07-07 21:05:56 +03:00
Triang3l
f8b351138e
[Vulkan] Alpha test
2022-06-30 22:20:51 +03:00
Triang3l
6688b13773
[Vulkan] PsParamGen
2022-06-26 15:01:27 +03:00
Triang3l
a5c8df7a37
[Vulkan] Remove UB-based independent blend logic
...
On Vulkan, unlike Direct3D, not writing to a color target in the fragment shader produces an undefined result.
2022-06-25 20:57:44 +03:00
Triang3l
d30d59883a
[Vulkan] Color exponent bias and gamma conversion
2022-06-25 20:35:13 +03:00
Triang3l
1a22216e44
[SPIR-V] Texture fetch instructions
2022-06-09 21:42:16 +03:00
Triang3l
46202dd27a
[Vulkan] Basic texture descriptor set allocation/binding
2022-05-17 22:42:28 +03:00
Triang3l
73d574a046
[Vulkan] Rectangle and quad list geometry shader generation
2022-05-10 21:48:18 +03:00
Triang3l
b88f715140
Merge branch 'master' into vulkan
2022-05-03 00:13:17 +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
fea430f1f9
[GPU] Fix scalar c[#+aL], shader docs/refactoring
2022-04-13 23:08:19 +03:00
Triang3l
0acb97d383
[Vulkan] EDRAM range ownership transfers, resolve clears, 2x-as-4x MSAA
...
Transfers are functional on a D3D12-like level, but need additional work so fallbacks are used when multisampled integer sampled images are not supported, and to eliminate transfers between render targets within Vulkan format compatibility classes by using different views directly.
2022-04-03 16:40:29 +03:00
Triang3l
c75e0dd19e
[Vulkan] Blend and depth/stencil state, small pipeline cleanup
2022-02-15 23:00:21 +03:00
Triang3l
8ccb00d03d
[SPIR-V] Store vfetch_full address in a variable
2022-02-07 23:00:23 +03:00
Triang3l
270469d4d4
[Vulkan] Basic framebuffer output
2021-06-19 14:16:24 +03:00
Triang3l
6cd9d42fd0
Merge branch 'master' into vulkan
2021-06-08 12:15:34 +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
a94301d967
[Vulkan] Viewport from draw_util and vtx_fmt
2020-11-18 12:48:12 +03:00
Triang3l
715d614f5e
[Vulkan] Float controls properties
2020-11-15 15:08:50 +03:00
Triang3l
65c8d2b28e
[Vulkan] Basic draw call architecture + [D3D12] Some cleanup
2020-11-14 14:16:04 +03:00
Triang3l
d7341f9873
[Vulkan] Internal descriptor set layouts
2020-11-07 14:03:31 +03:00
Triang3l
a82b85a8ac
[SPIR-V] vfetch: 32_* and 32_*_FLOAT formats
2020-11-04 23:56:12 +03:00
Triang3l
533bdf2114
[SPIR-V] Shared memory SSBOs
2020-11-04 18:57:08 +03:00
Triang3l
8665fa7517
[SPIR-V] Vertex index writing to r0.x
2020-11-03 23:31:52 +03:00
Triang3l
06b47d1df0
[SPIR-V] Scalar addition and multiplication
2020-11-01 20:42:59 +03:00
Triang3l
d9f57c1ad8
[SPIR-V] Max4
2020-11-01 13:12:31 +03:00
Triang3l
1acc5eff05
[SPIR-V] Vector mul, mad
2020-10-31 17:56:46 +03:00
Triang3l
52a8ed8e6d
[SPIR-V] Version, float controls
2020-10-31 16:22:15 +03:00
Triang3l
738cb0b847
[SPIR-V] Result storing
2020-10-29 22:07:02 +03:00
Triang3l
4dba2d8d89
[SPIR-V] Operand loading
2020-10-27 22:48:47 +03:00
Triang3l
1c83c8dcfa
[SPIR-V] Instruction predication
2020-10-26 22:12:01 +03:00
Triang3l
556c8de2ab
[SPIR-V] Loops
2020-10-25 20:24:48 +03:00
Triang3l
fdbed73463
[Vulkan/SPIR-V] Some pipeline layout parts + exec conditionals
2020-10-25 15:09:39 +03:00
Triang3l
7846245b66
[SPIR-V] Main program counter switch
2020-10-18 15:36:02 +03:00
Triang3l
1de144938c
[SPIR-V] Main loop blocks, validation
2020-10-16 19:55:41 +03:00
Triang3l
b3339d7e46
[SPIR-V] Some initial bits of the translator
2020-10-11 20:22:15 +03:00
Triang3l
7b93670dbd
[Vulkan] Remove old Vulkan code, change shaders directory, create empty Vulkan backend
2020-08-31 21:44:29 +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
3aa0ce3096
[GPU] Shader translator refactoring (mostly ALU), fixes for disassembly round trip and write masks
2020-05-08 23:57:51 +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
1336316139
[D3D12] Vertex kill and multipass vertex exports
2020-02-20 08:56:16 +03:00
Triang3l
f83269cf8c
[GPU] Refactor: Register structs in D3D12CommandProcessor and some other places
2019-10-19 23:32:38 +03:00
Triang3l
352f12f92e
[D3D12] Switch from gflags to cvars
2019-08-03 16:53:23 +03:00