Gliniak
a8df744ea6
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-07-03 13:07:15 +02: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
d174762a40
Merge branch 'master' into vulkan
2022-07-01 12:51:34 +03:00
Triang3l
28670d8ec2
[UI] Presenter: Rename display size to aspect ratio
2022-07-01 12:50:45 +03:00
Triang3l
f8b351138e
[Vulkan] Alpha test
2022-06-30 22:20:51 +03:00
Triang3l
6772c88141
Merge branch 'master' into vulkan
2022-06-30 22:15:29 +03:00
Triang3l
7e691d5ef1
[DXBC] Handle NaN in not equal alpha test as passed
2022-06-30 22:15:01 +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
9392fff369
Merge branch 'master' into vulkan
2022-06-29 23:39:54 +03:00
Triang3l
a11b070fee
[GPU] Align texture extents in loading to host buffer texel size accessed by the shader
2022-06-29 23:38:06 +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
Gliniak
efe3cd96d6
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-29 09:21:09 +02:00
Triang3l
05ef7a273a
[Vulkan] Samplers (only 1.0 core features for now)
2022-06-28 22:42:18 +03:00
Triang3l
5d9061cf99
Merge branch 'master' into vulkan
2022-06-28 22:05:45 +03:00
Triang3l
243683d2e9
[GPU] Cleanup Texture::MarkAsUsed conditionals
2022-06-28 22:04:26 +03:00
Triang3l
382710bab7
[GPU] Normalize sampler clamp modes
2022-06-28 21:58:58 +03:00
Triang3l
cedc94679b
[GPU] Don't drop the rest of the command list if IssueDraw fails
2022-06-28 21:40:06 +03:00
Gliniak
e6898fda66
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-26 20:11:33 +02:00
Triang3l
9672230d9f
Merge branch 'master' into vulkan
2022-06-26 18:59:49 +03:00
Triang3l
ec008463b6
[GPU] CrYCb/YCrCb border colors
2022-06-26 18:56:50 +03:00
Triang3l
2606fa5709
[GPU] Apply BaseMap MipFilter via samplers as it may be overridden
...
Make it have no effect on the texture resource as a resource may be used with samplers with different overrides. Also make sure magnification vs. minification is not undefined with it on Direct3D 12.
2022-06-26 18:41:38 +03:00
Triang3l
e191430091
Merge branch 'master' into vulkan
2022-06-26 16:58:27 +03:00
Triang3l
086a070fa9
[GPU] Explicitly cast bit field values in std::min/max
...
According to the integral promotion rules https://eel.is/c++draft/conv.prom#5.sentence-1 bit fields can be promoted to `int` if it's wide enough to store their value, and then otherwise, to `unsigned int`. Hopefully fixes Clang building (the `width_div_8` case).
2022-06-26 16:54:11 +03:00
Triang3l
e0b890fe5c
[DXBC] Remove alphatest/A2C with [earlydepthstencil]
2022-06-26 15:31:08 +03:00
Triang3l
6688b13773
[Vulkan] PsParamGen
2022-06-26 15:01:27 +03:00
Triang3l
a99a1be880
Merge branch 'master' into vulkan
2022-06-26 15:00:21 +03:00
Triang3l
b787f2dec1
[GPU] GPR count limit is 128, not 64
2022-06-26 14:45:49 +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
b1be33004a
Merge branch 'master' into vulkan
2022-06-25 20:31:26 +03:00
Triang3l
4812b4ba8b
[D3D12] Fix outdated color system constants comment [ci skip]
2022-06-25 20:31:05 +03:00
Triang3l
5dca11a892
[SPIR-V] Fix fetch constant LOD bias signedness
2022-06-25 16:33:35 +03:00
Triang3l
d8b0227cbd
[SPIR-V] Fix cubemap X axis
2022-06-25 16:25:29 +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
4db445c6f9
Merge branch 'master' into vulkan
2022-06-25 15:13:41 +03:00
Triang3l
aa45d7b47d
[D3D12] More descriptive pipeline creation call comment [ci skip]
2022-06-25 15:13:11 +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
3fc7d8753c
Merge branch 'master' into vulkan
2022-06-24 23:38:04 +03:00
Triang3l
f4a634c617
[XeSL] xesl_write*Store > xesl_*Store
2022-06-24 23:37:29 +03:00
Triang3l
7a4732e14f
[GPU] XeSL swap shaders
2022-06-24 23:24:30 +03:00
Triang3l
b7737d70ca
[D3D12] Update RequestSwapTexture resource state comment [ci skip]
2022-06-23 22:59:53 +03:00
Gliniak
ce3b159683
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-22 21:05:45 +02:00
Triang3l
227d495738
Merge branch 'master' into vulkan
2022-06-22 21:19:29 +03:00
Triang3l
e9f129f67f
[GPU] Safer and more correct depth bias conversion
...
Float24-as-float32 depth bias is now in the increments of 8, because conversion of the depth to float24 directly in the pixel shaders may destroy the bias qualitatively otherwise if it's too small.
2022-06-22 21:14:40 +03:00
Triang3l
a7885ae1a4
[GPU] Fix CPU-side float24 conversion broken recently
2022-06-22 20:47:44 +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
Gliniak
e7a122d943
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-22 12:18:13 +02:00
Triang3l
0d8bd0e0c6
Merge branch 'master' into vulkan
2022-06-22 13:15:50 +03:00
Triang3l
cbf0476d42
[D3D12] Don't round float24 depth when it's known to be exact
2022-06-22 13:14:38 +03:00
Gliniak
83269315d8
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-22 12:06:42 +02:00
Triang3l
7869b080d3
[D3D12] 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 12:53:09 +03:00
Gliniak
87fd772393
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-21 07:54:44 +02:00
Triang3l
c0703e64db
Merge branch 'master' into vulkan
2022-06-20 22:40:19 +03:00
Triang3l
e2f632f8fa
[D3D12] Use udiv by constant tile size + minor transfer cleanup
...
Drivers compile that to a multiplication and a shift anyway.
2022-06-20 22:39:30 +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
Gliniak
a4ff64c465
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-20 21:07:32 +02:00
Triang3l
61c4c49d76
Merge branch 'master' into vulkan
2022-06-20 12:34:41 +03:00
Triang3l
207e11c8d2
[GPU] Separate range arguments for fixed16 RG and RGBA in GetResolveInfo
...
On Vulkan, when snorm16 in unsupported, these formats may be emulated as float16, which natively can represent a wide range of numbers including -32 to 32 with blending. However, R16G16_SNORM and R16G16B16A16_SNORM are two separate formats, which may have different support on the device.
2022-06-20 12:29:45 +03:00
Triang3l
b61953374e
[GPU] Make resolve EDRAM binding DS 0 and rename it
...
Ordering the descriptor sets by the change frequency on Vulkan, in increasing order (the opposite of D3D12 root signatures). The EDRAM binding never changes there (always one storage buffer), while the destination buffer binding may become changeable in the future (to split dispatches if exceeding `maxStorageBufferRange`, for example).
2022-06-20 12:15:52 +03:00
Triang3l
1200b205cf
Merge branch 'master' into vulkan
2022-06-19 17:52:28 +03:00
Triang3l
9b83d3d0f4
[GPU] XeSL resolve shaders + host depth store width fix
2022-06-19 17:50:21 +03:00
Gliniak
c0483f8bee
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-17 10:58:15 +02:00
Triang3l
166be463be
[XeSL] Metal Shading Language definitions
2022-06-16 21:39:16 +03:00
Gliniak
e8aaddf4d5
Merge remote-tracking branch 'GliniakRepo/patchingSystem' into canary_experimental
2022-06-14 17:50:25 +02:00
Triang3l
127bf34264
[Vulkan] Trace dump tool
2022-06-13 13:03:02 +03:00
Gliniak
945976a31d
Added Premake Files For PatchingSystem
2022-06-12 19:58:12 +02:00
Triang3l
ac268afbe9
[Vulkan] Fix 1<< uint32_t constants
2022-06-12 19:45:12 +03:00
Triang3l
140ed51e9a
[GPU] Fix missing xenia-ui dependency in gpu > gpu-shader-compiler (needed for gmake2)
2022-06-12 19:44:24 +03:00
Triang3l
17c835b245
Merge branch 'master' into vulkan
2022-06-12 18:51:08 +03:00
Triang3l
820b7ba217
[GPU] Fix GetActiveTextureHostSwizzle return type
2022-06-12 18:50:38 +03:00
Triang3l
1a22216e44
[SPIR-V] Texture fetch instructions
2022-06-09 21:42:16 +03:00
Triang3l
f875a8d887
Merge branch 'master' into vulkan
2022-06-09 21:35:12 +03:00
Triang3l
78d1eb8bf8
[GPU] TextureCache::GetActiveTextureHostSwizzle
2022-06-09 21:34:21 +03:00
Triang3l
56f72da137
[GPU] More exact PWL texture/RT gamma conversion
2022-06-07 21:26:34 +03:00
Gliniak
c7da7e1999
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-02 22:19:43 +02:00
Triang3l
a8cfe9bebb
[Vulkan] Unsubsample odd-sized 4:2:2 textures
2022-06-02 23:10:50 +03:00
Triang3l
1ce45ee150
Merge branch 'master' into vulkan
2022-06-02 22:50:14 +03:00
Triang3l
55a91afcc7
[D3D12] Don't decompress unaligned BC textures if supported
2022-06-02 22:48:03 +03:00
Triang3l
84fcd5defa
[GPU] Fix resolve destination offset and extent calculation
2022-06-02 21:47:30 +03:00
Triang3l
a9a072bf00
[GPU] Explain why a 32x32x4bpp linear texture takes 2 pages, not 1 [ci skip]
2022-06-01 13:00:23 +03:00
Triang3l
8bd244f277
[GPU] Better explanation for exact texture memory extent calculation [ci skip]
2022-06-01 12:55:16 +03:00
Gliniak
3169aa2ff3
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-01 08:45:21 +02:00
Triang3l
d1ad10b98c
[GPU] Primitive reset comment typo correction [ci skip]
2022-05-31 23:23:53 +03:00
Triang3l
efd7ef212a
[D3D12] 128 megatexel limit explanation based on the spec [ci skip]
2022-05-31 23:23:10 +03:00
Triang3l
25594c918c
[GPU] Fix tiled texture memory extent calculation
2022-05-31 23:17:33 +03:00
Gliniak
d7d26dc1c4
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-05-25 07:54:16 +02:00
Triang3l
6c9a06b2da
[Vulkan] Texture loading
2022-05-24 22:42:22 +03:00
Triang3l
aac28f19d1
Merge branch 'master' into vulkan
2022-05-24 22:34:40 +03:00
Triang3l
a4840e1992
[GPU] FIXME comment for 1bpb/2bpb texture tiled extent
2022-05-24 22:33:27 +03:00
Triang3l
8701c9f24e
[D3D12] Texture load code cleanup and resolution scaling fixes
...
The resolution scale is now taken into account when copying from the mip tail.
2022-05-24 22:28:42 +03:00
Triang3l
75c185e759
[GPU] Move texture load shader info to common
2022-05-24 22:24:33 +03:00
Triang3l
f994d3ebb3
[Vulkan] Single block-compressed flag for host texture formats, not block sizes
2022-05-23 13:27:43 +03:00
Triang3l
f7b0edee6b
[Vulkan] GBGR/BGRG decompression
2022-05-23 13:18:47 +03:00
Triang3l
4c2f8764d6
Merge branch 'master' into vulkan
2022-05-23 12:36:35 +03:00
Triang3l
c1f15c86a3
[GPU] Decompress GBGR/BGRG into RGBB, not RGB1
...
While the alpha of the texture data is not used at all (replaced with blue using the view swizzle), still make the shader code state the intention more explicitly if the format is decompressed for use as signed. Unsigned 1.0 is 0xFF, while signed 1.0 is 0x7F.
2022-05-23 12:31:45 +03:00
Triang3l
cf3069eb13
[GPU] Signedness in Cr_Y1_Cb_Y0_REP/Y1_Cr_Y0_Cb_REP comment [ci skip]
2022-05-22 22:11:59 +03:00
Triang3l
ef808e9def
[GPU] _REP explanation in Cr_Y1_Cb_Y0_REP/Y1_Cr_Y0_Cb_REP comment [ci skip]
2022-05-22 21:46:11 +03:00
Triang3l
6735dbd941
[GPU] Calculate, not store, texture load host X blocks per thread
2022-05-22 21:21:54 +03:00
Triang3l
888d5044e0
[GPU] 2x1-subsampled texture RGBA8 conversion shader
2022-05-22 21:07:38 +03:00
Triang3l
d3561d2f47
[D3D12] Pre-swizzle 2x1-subsampled formats
2022-05-22 20:31:48 +03:00
Triang3l
5de825e3a0
[GPU] Prevent multiple evaluation of XE_TEXTURE_LOAD_TRANSFORM arguments
2022-05-22 19:48:23 +03:00
Triang3l
2f0a884438
[GPU] Add k prefix to texture load group size constants
2022-05-22 19:35:25 +03:00
Triang3l
8f06ba6f7d
[D3D12] Texture host BPB in LoadModeInfo
2022-05-22 19:28:05 +03:00
Triang3l
003c62ba73
[GPU] Correct rounding of texture load row size
...
The original multiplication was likely added early during the development of generic resolution scaling. Before generic resolution scaling, invocations were done for unscaled guest blocks, now they're done for scaled blocks, so with 3x1 scaling, an invocation for 8 blocks writes 8 host blocks, not 24.
2022-05-22 18:33:59 +03:00
Triang3l
6aa30ed074
[GPU] 128-thread groups in all texture load shaders
...
Vulkan's minimum requirement (maxComputeWorkGroupInvocations) is 128.
2022-05-22 18:03:09 +03:00
Triang3l
91c4e02e96
[Vulkan] Implement ClearCaches and don't do it for pipelines
2022-05-22 15:05:15 +03:00
Triang3l
35cfb07967
Merge branch 'master' into vulkan
2022-05-22 14:56:44 +03:00
Triang3l
88784101c8
[D3D12] Remove PipelineCache::ClearCache leftovers
2022-05-22 14:56:22 +03:00
Triang3l
68e7c56918
Merge branch 'master' into vulkan
2022-05-22 14:47:20 +03:00
Triang3l
d31ddd9b23
[GPU] Remove PipelineCache::ClearCache
2022-05-22 14:46:03 +03:00
Gliniak
620aa3562e
Set system page blocks to gpu-written every frame
2022-05-22 13:09:12 +02:00
Triang3l
08769de68b
[Vulkan] Texture object and view creation
2022-05-19 21:56:24 +03:00
Triang3l
c85c2f5b79
Merge branch 'master' into vulkan
2022-05-19 21:43:19 +03:00
Triang3l
1dcc919a33
[GPU] Move k_Y1_Cr_Y0_Cb_REP usage example to xenos.h
2022-05-19 21:41:52 +03:00
Triang3l
7d63d6e1d3
[D3D12] Fix 2:1-subsampled format swizzle
2022-05-19 21:40:03 +03:00
Triang3l
825a5b176c
[D3D12] Fix frontbuffer resource state
2022-05-19 21:39:11 +03:00
Gliniak
6c6c5ac14b
Merge remote-tracking branch 'GliniakRepo/experimentals' into canary_experimental
2022-05-19 10:51:44 +02:00
Margen67
64b336805e
Add vsync_interval option
2022-05-19 10:22:32 +02:00
Gliniak
5247220e73
Merge remote-tracking branch 'GliniakRepo/patchingSystem' into canary_pr
2022-05-19 10:01:33 +02:00
Triang3l
46202dd27a
[Vulkan] Basic texture descriptor set allocation/binding
2022-05-17 22:42:28 +03:00
Triang3l
3381d679b4
Merge branch 'master' into vulkan
2022-05-17 22:31:34 +03:00
Triang3l
7675b6b140
[DXBC] Cleanup texture/sampler name setting
2022-05-17 22:30:55 +03:00
Triang3l
533de3b477
[D3D12] Remove unnecessary binding count uint32_t casts
2022-05-17 21:33:17 +03:00
Triang3l
f9261811a9
[D3D12] Fix layouts_mutex_ lock naming
2022-05-15 18:52:28 +03:00
Triang3l
0db94a700f
[Vulkan] Use pipeline layout key structures directly
2022-05-15 17:42:27 +03:00
Triang3l
b80361ee3c
[Vulkan] Texture cache: Maximum dimensions, null images
2022-05-15 16:59:27 +03:00
Triang3l
185c23dd50
[Vulkan] Gather shader stages that VS can be translated into
2022-05-15 16:31:24 +03:00
Triang3l
7d19a8c0e8
[Vulkan] Add missing <functional> include for std::hash
2022-05-15 16:20:12 +03:00
Triang3l
862c457761
[Vulkan] Use Shader::IsHostVertexShaderTypeDomain
2022-05-15 16:19:36 +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
f9b3b90a68
[D3D12] Subsystem management order cleanup
2022-05-14 22:30:06 +03:00
Triang3l
d6a9056952
[D3D12] D3D12Texture::SRVDescriptorKey structure
2022-05-14 18:41:15 +03:00
Triang3l
26cf717394
[GPU] Make TextureCache constructors explicit
2022-05-14 18:28:32 +03:00
Triang3l
775b4623dc
Merge branch 'master' into vulkan
2022-05-14 17:05:39 +03:00
Triang3l
d280b3953d
[GPU] Texture object/binding management to common superclass
2022-05-14 16:18:10 +03:00
Triang3l
af3158f1bf
[Legacy Vulkan] Add Vulkan prefix to Pipeline/TextureCache to avoid future name collisions
2022-05-11 21:21:33 +03:00
Triang3l
73d574a046
[Vulkan] Rectangle and quad list geometry shader generation
2022-05-10 21:48:18 +03:00
Triang3l
b9256fcdbd
Merge branch 'master' into vulkan
2022-05-10 15:57:50 +03:00
Triang3l
e6fb9883d2
[D3D12] Discard primitives with NaN position in GS
2022-05-09 22:34:17 +03:00
Triang3l
4cd4a91aa7
[D3D12] Rectangle GS comment typo fix [ci skip]
2022-05-09 19:17:55 +03:00
Triang3l
8f0e751909
[D3D12] Runtime geometry shader generation
2022-05-09 19:16:22 +03:00
Triang3l
44cda56d35
[GPU] Handle kRegisters and kGammaRamp in the trace viewer
2022-05-08 19:41:11 +03:00
Triang3l
2473496c7e
[GPU] Make RegisterFile::kRegisterCount constexpr
2022-05-08 19:37:29 +03:00
Triang3l
72cf75f365
[DXBC] Geometry shader instructions
2022-05-07 22:11:31 +03:00
Triang3l
e3425b242e
[DXBC] Both v[#] and v[#][#] operands for HS and GS
2022-05-07 16:17:17 +03:00
Triang3l
9c8e0cc53e
[GPU] DC_LUT_PWL_DATA comment fix [ci skip]
2022-05-05 13:13:30 +03:00
Triang3l
c794d0d538
[GPU] DC_LUT_RW_INDEX/WRITE_EN_MASK + gamma ramp and registers in traces
2022-05-05 13:10:29 +03:00
Triang3l
2d90d5940f
[DXBC] Jump to the loop skip address before pushing
2022-05-04 22:01:30 +03:00
Triang3l
0e0f04dc1d
[D3D12] Fix point size calculation + point code cleanup
...
6fcf9d21fe
made per-vertex diameter vs. constant radius consistent, and with that commit the shader works with direct pixel to NDC conversion, however, the NDC conversion factor was outdated in that commit (still included the 0.5 factor for diameter to radius conversion, resulting in all points being 50% narrower along each axis than needed). Now, the diameter to radius conversion factor is used there properly, and also the multiplication of the per-vertex diameter by 0.5 has been removed from the shader since the constant already includes it now (the constant diameter is passed via the system constants instead of the radius also).
2022-05-04 13:26:30 +03:00
Peter Wright
7ab5ccbbd9
Add #include <cfloat> to fix build error on Linux.
2022-05-03 19:45:10 +03:00
Triang3l
9e6f96a2fc
Merge branch 'master' into vulkan
2022-05-03 16:21:30 +03:00
Triang3l
6fcf9d21fe
[D3D12] Point sprite size fixes, point/line bits in PsParamGen
2022-05-03 16:15:16 +03:00
Triang3l
72a4d14056
Merge branch 'master' into vulkan
2022-05-03 00:13:31 +03:00
Triang3l
b88f715140
Merge branch 'master' into vulkan
2022-05-03 00:13:17 +03:00
Triang3l
7a89ad16a6
[D3D12] Update D3D12RenderTargetCache::Update write mask argument name
2022-05-02 23:16:18 +03:00
Triang3l
0fd578cafd
[GPU] Get unclipped draw height by running VS on the CPU
2022-04-28 22:25:25 +03:00
Triang3l
b2b1d7b518
[GPU] More accurate vertex kill + PsParamGen/point documentation
2022-04-27 23:10:56 +03:00
Triang3l
5ec0c92601
[GPU] Ignore z_enable for !z_write_enable && z_func == ALWAYS
2022-04-27 21:46:29 +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
df9a37f798
[GPU] Ucode disasm: Fix exec formatting
2022-04-26 23:08:31 +03:00
Triang3l
69958cba9d
[GPU] shader-compiler: Accept little-endian ucode
2022-04-26 22:59:02 +03:00
Gliniak
31eb639ade
Added Premake Files For PatchingSystem
2022-04-26 13:26:49 +02:00
Triang3l
ef8a60e011
[GPU] Round tessellation patch vertex count up (by @deaklajos #2007 )
...
Also move the clamping of the guest index count to the index buffer size to the place before it's read in calculations
2022-04-14 21:19:12 +03:00
Triang3l
38aca269e1
[GPU] Offset and clamp tessellation patch index ( #2008 , thanks @deaklajos)
2022-04-14 13:04:34 +03:00
Triang3l
fea430f1f9
[GPU] Fix scalar c[#+aL], shader docs/refactoring
2022-04-13 23:08:19 +03:00
Triang3l
1f324bebcd
[GPU] Norm16 > float16 texture load shaders
2022-04-09 23:34:50 +03:00
Triang3l
744767f549
[D3D12] Compile all built-in shaders with the same FXC version
2022-04-09 23:24:28 +03:00
Triang3l
72f3eead63
[GPU] Texture load shader style (alignment) cleanup
2022-04-09 23:23:54 +03:00
DESKTOP-F0UGBP9\deakl
8d02c5ab21
[GPU] Fixed size 0 point sprites enlarged to default
2022-04-05 02:25:24 +03:00
Triang3l
47799163bd
Merge branch 'master' into vulkan
2022-04-04 22:02:46 +03:00
Triang3l
3d48fde5ca
[GPU] XeSL texture load shaders + minor XeSL cleanup
2022-04-04 21:48:27 +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
85fc7036b8
Merge branch 'master' into vulkan
2022-04-02 22:45:23 +03:00
Triang3l
c4eae232f1
[D3D12] Fixes/cleanup for render targets and barriers
2022-04-02 22:44:10 +03:00
Triang3l
52d61fc94c
Merge branch 'master' into vulkan
2022-03-27 16:20:21 +03:00
Triang3l
3a07559df9
[GPU] XeSL host depth store and VS passthrough shaders
2022-03-27 16:15:53 +03:00
Triang3l
7048baaf21
Merge branch 'master' into vulkan
2022-03-22 21:54:34 +03:00
Triang3l
fa62d395fd
[Vulkan] InitializeSubresourceRange: Use return, not reference
2022-03-22 21:51:02 +03:00
Triang3l
32ab1a2df1
[D3D12] Minor RT code style/comments cleanup
2022-03-22 21:48:26 +03:00
Triang3l
ee8e71cea8
[D3D12] RT dump: Fix r# allocation
2022-03-22 21:41:44 +03:00
Triang3l
920704c71a
[D3D12] RT transfer: Same front/back stencil ops
2022-03-22 21:39:06 +03:00
Triang3l
1259c9f7a2
[Vulkan] Pipeline barrier merging
2022-03-21 23:02:51 +03:00
Triang3l
acc4fd6846
[Vulkan] Rectangle list geometry shader
2022-03-21 22:53:19 +03:00
Triang3l
c47b874a4d
Merge branch 'master' into vulkan
2022-03-21 20:57:02 +03:00
Joel Linn
986dcf4f65
[Base] Check success of sync primitive creation
...
- Mainly use `assert`s, since failure is very rare
- Forward failure of `CreateSemaphore` to guests because it is more easy
to trigger with invalid initial parameters.
2022-03-08 12:17:57 -06:00
Triang3l
b41fb851c6
[Vulkan] Unsupported pipeline features assertion typo fix
2022-02-15 23:05:47 +03:00
Triang3l
e13c4ae90b
Merge branch 'master' into vulkan
2022-02-15 23:02:43 +03:00
Triang3l
9e803ccf25
[D3D12] Pad kBlendOpMap with dummy values for all 3 bits
2022-02-15 23:02:26 +03:00
Triang3l
c75e0dd19e
[Vulkan] Blend and depth/stencil state, small pipeline cleanup
2022-02-15 23:00:21 +03:00
Triang3l
09f6081b16
[Vulkan] Fix shader bytecode path in premake5.lua
2022-02-13 23:29:46 +03:00
Triang3l
b8c9d5bb8c
Merge branch 'master' into vulkan
2022-02-13 23:25:39 +03:00