chss95cs@gmail.com
327cc9eff5
drastically reduce size of final generated code for rlwinm by adding special paths for rotations of 0, masks that discard the rotated bits and using And w/ UINT_MAX instead of truncate/zero extend
...
Add special case to TYPE_INT64's EmitAnd for UINT_MAX mask. Do mov32 to 32 if detected to take advantage of implicit zero xt/reg renaming
Add helper function for skipping assignment defs in instr.
Add helper function for checking if an opcode is binary value type
Add several new optimizations to simplificationpass, plus weak NZM calculation code (better full evaluation of Z/NZ will be done later) .
List of optimizations:
If a value is anded with a bitmask that it was already masked against, reuse the old value (this cuts out most FPSCR update garbage, although it does cause a local variable to be allocated for the masked FPSCR and it still repeatedly stores the masked value to the context)
If masking a value that was or'ed against another check whether our mask only considers bits from one value or another. if so, change the operand to the OR input that actually matters
If the only usage of a rotate left's output is an AND against a mask that discards the bits that were rotated in change the opcode to SHIFT_LEFT
If masking against all ones, become an assign.
If XOR or OR against 0, become an assign (additional FPSCR codegen cleanup)
If XOR against all ones, become a NOT
Adding a direct CPUID check to x64_emitter for lzcnt, the version of xbyak we are using is skipping checking for lzcnt on all non-intel cpus, meaning we are generating the much slower bitscan path for AMD cpus.
2022-06-25 09:58:13 -07: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
fdcbf67623
[Vulkan] Enable VK_KHR_sampler_ycbcr_conversion
2022-06-25 15:46:02 +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
Gliniak
2b3686f0e9
[XAM] Set profile setting 'from' entry accordingly to setting existence
2022-06-24 10:10:52 +02: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
chss95cs@gmail.com
549ee28a93
ome guest function calls can now be resolved and embedded directly in
...
the emitted asm as rel32 calls. Disabled by default, enabled via
resolve_rel32_guest_calls
detect whether cpu has fast jrcxz, fast loop/loope/loopne
much more thorough LoadConstantXMM
New cvar elide_e0_check that allows the backend to assume accesses via
the SP or TLS register will not cross into 0xe0 range
Add x64 codegen for Vector shift uint8
If has fast jrcxz use for some traptrue/breaktrue instructions
Use phat nops
Add cvar use_fast_dot_product, which uses a four instruction sequence
for both dot product instructions which ought to be equivalent. disabled
by default.
2022-06-20 15:08:18 -07: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
3b4845511d
[Vulkan] Don't require an explicit uint64_t cast for SetDeviceObjectName
2022-06-20 12:25:52 +03:00
Triang3l
67ff108f53
[Vulkan] Explain why CreateShaderModule takes uint32_t* [ci skip]
2022-06-20 12:22:41 +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
1e369afa3d
[Memory] Allocate system heap memory from bottom of heap last quarter
...
Aka. From 0x30000000
2022-06-17 22:23:39 +02:00
Gliniak
0b183a3582
Merge branch 'chris_cpu_changes' of https://github.com/Gliniak/xenia.git into canary_experimental
2022-06-17 14:04:58 +02:00
chrisps
e4fd015886
Juicy optimization goodness
2022-06-17 14:03:24 +02:00
chss95cs@gmail.com
8a8ff6ae46
Reuse flag results in OPCODE_BRANCH_TRUE codegen if the preceding instruction was a comparison that already set the cpu flags
2022-06-17 11:13:49 +02:00
chss95cs@gmail.com
3675b3860a
Add constant folding for OPCODE_ROTATE_LEFT
2022-06-17 11:12:49 +02:00
chrisps
3ad80810b5
Optimized CONVERT_I64_TO_F64 with neat overflow trick
...
Reduced instruction count from 11 to 8, eliminated a movq stall.
2022-06-17 11:10:48 +02:00
chrisps
9dfbef8acf
Smaller ComputeMemoryAddress/Offset sequence
...
Replace a movzx after setae in both ComputeMemoryAddressOffset and ComputeMemoryAddress with a xor_ of eax prior to the cmp. This reduces the length in bytes of both sequences by 1, and should be a moderate ICache usage reduction thanks to the frequency of these sequences.
2022-06-17 11:10:27 +02: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
91f43a374d
Initial support for xex patching
2022-06-12 20:10:07 +02: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
Gliniak
90d67ac11c
[Kernel] Return X_STATUS_END_OF_FILE for async file read when offset > file_size
2022-06-09 21:36:09 +02: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
Gliniak
d0175ddf2f
[XAM] Cut handle mask from socket handles, added support for: NetDll_getsockopt
...
Only positive values should be interpreted as valid sockets!
2022-06-08 19:59:15 +02:00
Gliniak
25f3e16baa
[Patcher] Fixed issue with incorrect patches endianness
2022-06-08 19:42:18 +02:00
Gliniak
0de0f40fb5
[XAM] Added stubs for:
...
- NetDll_XNetCreateKey
- NetDll_XNetRegisterKey
This will allow certain games to run local multiplayer
For example PDZ Deathmatch mode
2022-06-07 20:46:47 +02:00
Triang3l
56f72da137
[GPU] More exact PWL texture/RT gamma conversion
2022-06-07 21:26:34 +03:00
Gliniak
916eb1b9bd
[XAM] Scan every controller slot if provided flags contains USER_ANY flag
2022-06-07 15:52:41 +02:00
Margen67
5701823ccf
Log title_name
2022-06-07 09:43:04 +02:00
jgoyvaerts
5296d2e91e
Fix xenia.log file not always being created in the executable folder.
2022-06-07 09:41:52 +02: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
Rick Gibbed
a3e5ea8575
[Base] Fix missing include in utf8.cc.
2022-05-27 17:56:14 -05:00
Gliniak
5a71b55233
[Kernel] Added missing module hash calculation
2022-05-25 09:03:03 +02:00
Gliniak
542e075699
Fixed bug between reading header content and applying TUs
2022-05-25 08:23:19 +02:00
Gliniak
d7d26dc1c4
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-05-25 07:54:16 +02:00
Gliniak
3d96dfa359
Always allocate system heap from top of heap
2022-05-25 07:53:50 +02:00
Triang3l
6c9a06b2da
[Vulkan] Texture loading
2022-05-24 22:42:22 +03:00
Triang3l
9c445d397b
[Vulkan] Fix single-type descriptor pool reuse
2022-05-24 22:37:49 +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
dde8adc140
Allow XamUserReadProfileSettings to use xuid to define profile
2022-05-22 13:11:29 +02:00
Gliniak
84e5b159c3
Do not store obsolete info about deleted threads
2022-05-22 13:11:21 +02:00
Gliniak
b759cb23a5
Better handling of title workspace
2022-05-22 13:11:08 +02:00
Gliniak
4bfd3a6506
Reset state of event before executing overlap code
2022-05-22 13:09:37 +02:00
Gliniak
5784e7bc8d
Send signin changed notification for primary user
2022-05-22 13:09:25 +02:00
Gliniak
620aa3562e
Set system page blocks to gpu-written every frame
2022-05-22 13:09:12 +02:00
Gliniak
ba60b94c7d
Round size to 64k for allocations without base address
2022-05-22 13:09:01 +02:00
Gliniak
af806ee98f
Allocate guest objects in last quarter of memory heap
2022-05-22 13:08:47 +02:00
Gliniak
7be4b7a138
Increase profiler max threads to 256
2022-05-22 13:06:50 +02:00
Gliniak
a190bf9fd8
Changed max component length for host and svod types
2022-05-22 13:06:42 +02:00
Triang3l
08769de68b
[Vulkan] Texture object and view creation
2022-05-19 21:56:24 +03:00
Triang3l
b0e1916f75
Merge branch 'master' into vulkan
2022-05-19 21:46:21 +03:00
Triang3l
9aaf19a455
[Vulkan] Remove unused variable in VulkanPresenter::GuestOutputImage::Initialize
2022-05-19 21:45:48 +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
5ce75a1479
Merge remote-tracking branch 'GliniakRepo/xam_swap_disc' into canary_experimental
2022-05-19 12:07:05 +02:00
Gliniak
f21dbc66ba
Implemented XamSwapDisc
2022-05-19 12:04:32 +02:00
Gliniak
db50db3215
Merge remote-tracking branch 'GliniakRepo/TU_APPLY' into canary_experimental
2022-05-19 11:00:34 +02:00
Gliniak
7c2cd16548
Merge remote-tracking branch 'GliniakRepo/local_multiplayer' into canary_experimental
2022-05-19 10:56:21 +02:00
Gliniak
6c6c5ac14b
Merge remote-tracking branch 'GliniakRepo/experimentals' into canary_experimental
2022-05-19 10:51:44 +02:00
Philpax
e901567193
Fix crash from null sample channel
...
Certain games, such as Forza Motorsport 3, submit XMA data with the
stereo flag set with a null second channel. This falls back to mono
conversion when the second channel is null, preventing a crash.
2022-05-19 10:22:41 +02:00
Margen67
64b336805e
Add vsync_interval option
2022-05-19 10:22:32 +02:00
Gliniak
0881725533
Merge remote-tracking branch 'GliniakRepo/const_prop_opcode_and_not' into canary_pr
2022-05-19 10:18:58 +02:00
Gliniak
75f0dfd6f3
Merge remote-tracking branch 'GliniakRepo/deleteFunctionsFromUnloadedModule' into canary_pr
2022-05-19 10:18:18 +02:00
Gliniak
320cbc43c8
Merge remote-tracking branch 'GliniakRepo/physicalProtectPageCombinations' into canary_pr
2022-05-19 10:17:58 +02:00
Gliniak
ef281c69c3
Merge remote-tracking branch 'GliniakRepo/xamNetSockNameAndErrorHandling' into canary_pr
2022-05-19 10:17:29 +02:00
Gliniak
de03165995
Merge remote-tracking branch 'GliniakRepo/audioSkipHeaderInputOffset' into canary_pr
2022-05-19 10:16:41 +02:00
Gliniak
5ef92faf6d
Merge remote-tracking branch 'GliniakRepo/createEnumeratorHandle' into canary_pr
2022-05-19 10:16:10 +02:00
Gliniak
006f3adad3
Merge remote-tracking branch 'GliniakRepo/disablePositiveVibes' into canary_pr
2022-05-19 10:03:50 +02:00
Gliniak
b237b71031
Merge remote-tracking branch 'GliniakRepo/memory_stats' into canary_pr
2022-05-19 10:03:29 +02:00
Gliniak
7ac2279d34
Merge remote-tracking branch 'GliniakRepo/customConHeaderImplementation' into canary_pr
2022-05-19 10:03:05 +02:00
Gliniak
5247220e73
Merge remote-tracking branch 'GliniakRepo/patchingSystem' into canary_pr
2022-05-19 10:01:33 +02:00
Margen67
99e3a1a4b1
Disable Vulkan
2022-05-19 09:39:58 +02:00
illusion0001
f9fd3e5fec
AVPack cvar
2022-05-19 09:39:56 +02:00
illusion
357d9adfca
automatic aspect ratio change
...
aspect ratio will now change if internal resolution is set to anything 4:3
(i.e 640x480, 1024x768, 1600x1200.. etc.)
2022-05-19 09:39:56 +02:00
Margen67
bdd431cd4a
Rename exe to xenia_canary
2022-05-19 09:39:55 +02:00
illusion98
7242efdeef
Change default config file name
2022-05-19 09:39:55 +02:00
illusion98
471041a9b5
Change window title
...
xenia -> xenia-canary
2022-05-19 09:39:55 +02:00
illusion98
6036c977e8
Change ID and new description
2022-05-19 09:39:55 +02:00
illusion98
c0333ea7c6
Add Time Elasped and Description Text
...
Display Time Elapsed when idle or playing a game
Display description when hovering over the icon
2022-05-19 09:39:55 +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
5f2b0a899a
[Vulkan] Fix TransientDescriptorPool ignoring the descriptor type
2022-05-15 22:20:24 +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
60052fb4fc
[Vulkan] Don't require imageViewFormatSwizzle in the immediate drawer
2022-05-14 22:18:21 +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
Caroline Joy Bell
d36c3975d8
[UI] Implement Type::kDirectory in Win32FilePicker
2022-05-07 21:54:26 +03:00
Triang3l
e3425b242e
[DXBC] Both v[#] and v[#][#] operands for HS and GS
2022-05-07 16:17:17 +03:00
Gliniak
c65f240c0b
[Kernel] Improved TUs Support
...
- Changed name of config option to apply_title_update to better reflect what that option does
- Mount TU package to UPDATE: partition
- Simplified UserModule::title_id()
- Splitted loading module into two parts to allow applying TUs and custom patches
2022-05-06 08:04:47 +02:00
Triang3l
5875f6ab31
[UI] Windows: Disable rounded corners
2022-05-05 21:46:20 +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
fe50c5c2e5
[XeSL] Prefix all local names with `xesl_id/var_`
2022-05-03 13:48:32 +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
Gliniak
ccbb5a2ebf
Cleanup
2022-04-30 11:45:22 +02:00
Gliniak
d78fd19ab4
Fixed incorrect hash generation + lint fixes
2022-04-29 20:33:21 +02:00
Gliniak
585b208fc0
Added support for multiple game hashes
2022-04-29 09:41:45 +02: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