Triang3l
8aaa6f1f7d
[SPIR-V] Wrap 4-operand ops and 1-3-operand GLSL std calls
2023-04-19 21:44:24 +03:00
Triang3l
19d56001d2
[SPIR-V] Wrap NoContraction operations
2023-04-19 11:53:45 +03:00
Triang3l
78f1d55a36
[SPIR-V] Use Builder createSelectionMerge directly
2023-04-19 11:11:28 +03:00
Triang3l
887fda55c2
[SPIR-V] Remove temp reserve for 4 or less elements
2023-04-13 22:43:44 +03:00
Triang3l
baa2ff78d8
[Vulkan] Add missing stencil reference unpack in RT transfer + formatting fix
2023-03-30 22:40:40 +03:00
Triang3l
c238d8af55
[Vulkan] Fix FragStencilRef store type
2023-03-30 22:28:56 +03:00
Triang3l
e97eb75b94
[Vulkan] Update variableMultisampleRate comments (actually supported) [ci skip]
2022-12-04 14:55:56 +03:00
Triang3l
0b4f5ef286
[SPIR-V] Decorate whole gl_PerVertex with Invariant
...
Block members can be decorated with Invariant only since SPIR-V 1.5 Revision 2. In earlier versions, Invariant can be used only for variables. Mesa warns about this.
2022-12-03 14:27:43 +03:00
Triang3l
74f1f6bb6d
[Vulkan] Check depthClamp feature
2022-10-23 19:01:17 +03:00
Triang3l
45050b2380
[GPU] Vulkan fragment shader interlock RB and related fixes/cleanup
...
Also fixes addressing of MSAA samples 2 and 3 for 64bpp color render targets in the ROV RB implementation on Direct3D 12.
Additionally, with FSI/ROV, alpha test and alpha to coverage are done only if the render target 0 was dynamically written to (according to the Direct3D 9 rules for writing to color render targets, though not sure if they actually apply to the alpha tests on Direct3D 9, but for safety).
There is also some code cleanup for things spotted during the development of the feature.
2022-10-09 22:06:41 +03:00
Triang3l
7595cdb52b
[Vulkan] Non-GS point sprites + minor SPIR-V fixes
2022-07-27 17:14:28 +03:00
Triang3l
8fb5da18ea
[Vulkan] Add forgotten fullDrawIndexUint32 check
2022-07-26 16:24:14 +03:00
Triang3l
9fa41c27bc
[Vulkan] Point sprite geometry shader
2022-07-26 16:01:20 +03:00
Triang3l
77e85ecaa4
[Vulkan] 32-bit index fetch without fullDrawIndexUint32
2022-07-25 16:53:12 +03:00
Triang3l
3c12814276
[GPU] EDRAM looped addressing ( resolves #2031 )
2022-07-22 23:51:50 +03:00
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
14fdf4b270
[GPU] Up to 7x7 resolution scaling
2022-07-17 20:41:50 +03:00
Triang3l
2a69d1db4d
[Vulkan] Fix a typo in a comment about BC textures [ci skip]
2022-07-14 21:16:23 +03:00
Triang3l
037310f8dc
[Android] Unified xenia-app with windowed apps and build prerequisites
2022-07-11 21:45:57 +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
3ee68d79ea
Revert "[GPU] Make Processor optional for GraphicsSystem setup"
...
The Processor is still required in many places, including the GPU command processor worker thread
This reverts commit fd03d886e9 .
2022-07-06 22:43:40 +03:00
Triang3l
fd03d886e9
[GPU] Make Processor optional for GraphicsSystem setup
2022-07-05 21:21:22 +03:00
Triang3l
bdfd410b13
[CPU] Cleanup x64 backend usage conditionals
2022-07-05 21:07:10 +03:00
Triang3l
d263d508cd
[GPU] Make operator< const
2022-07-05 20:47:53 +03:00
Triang3l
feaad639fb
[Vulkan] Destroy all RTs before VulkanRenderTargetCache is destroyed
2022-07-04 11:27:51 +03:00
Triang3l
2621dabf0f
[Vulkan] Native 24-bit unorm depth where available
2022-07-03 21:21:17 +03:00
Triang3l
ee84f4e267
[Vulkan] Update title bar warning
2022-07-03 19:45:48 +03:00
Triang3l
001f64852c
[Vulkan] VMA for textures
2022-07-03 19:40:48 +03:00
Triang3l
636585e0aa
[Vulkan] Trace viewer
2022-07-01 19:53:41 +03:00
Triang3l
ad1ef84145
Merge branch 'master' into vulkan
2022-07-01 19:53:08 +03:00
Triang3l
e37e3ef382
[GPU] Display swap output in the trace viewer
...
Resolve output is unreliable because resolving may be done to a subregion of a texture and even to 3D textures, and to any color format
2022-07-01 19:50:19 +03:00
Triang3l
c8a4a9504f
[Vulkan] Remove an unneeded scale from RefreshGuestOutput aspect ratio
2022-07-01 12:52:12 +03:00
Triang3l
f8b351138e
[Vulkan] Alpha test
2022-06-30 22:20:51 +03:00
Triang3l
c0c3666e12
[Vulkan] Align texture extents in loading to vector size accessed by the shader
...
Fixes loading of the 1x1 linear 8_8_8_8 texture containing just a single #FFFFFFFF texel in 4D5307E6, which is used for screen fade and the lobby map loading bar background
2022-06-29 23:41:32 +03:00
Triang3l
7c2df55209
[Vulkan] Cache clear: shared memory, scratch buffer
2022-06-29 13:24:45 +03:00
Triang3l
d5815d9e6a
[Vulkan] Float24 depth range remapping fixes
2022-06-29 13:14:00 +03:00
Triang3l
05ef7a273a
[Vulkan] Samplers (only 1.0 core features for now)
2022-06-28 22:42:18 +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
d8b2944caa
[Vulkan] Handle unsupported fillModeNonSolid + fix portability subset feature checks
2022-06-25 20:46:52 +03:00
Triang3l
d30d59883a
[Vulkan] Color exponent bias and gamma conversion
2022-06-25 20:35:13 +03:00
Triang3l
758db4ccb3
[Vulkan] Fix textures not loaded if using a shader for the first time
2022-06-25 15:15:06 +03:00
Triang3l
c37c05d189
[Vulkan] Remove an outdated fullscreen shader comment [ci skip]
2022-06-25 14:35:15 +03:00
Triang3l
4b4205ba00
[Vulkan] Frontbuffer presentation
2022-06-25 14:33:43 +03:00
Triang3l
227d495738
Merge branch 'master' into vulkan
2022-06-22 21:19:29 +03:00
Triang3l
4514050f55
[Vulkan] Truncate depth to float24 in EDRAM range ownership transfers and resolves by default
...
Doesn't ruin the "greater or equal" depth test in subsequent rendering passes if precision is lost, unlike rounding to the nearest
2022-06-22 13:25:06 +03:00
Triang3l
0dc480721f
[Vulkan] Render target resolving
2022-06-20 22:29:07 +03:00
Triang3l
c6ec6d8239
[Vulkan] Use UDiv/UMod by constant tile size + minor transfer cleanup
...
Drivers compile that to a multiplication and a shift anyway.
2022-06-20 22:24:07 +03:00
Triang3l
127bf34264
[Vulkan] Trace dump tool
2022-06-13 13:03:02 +03:00