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
Gliniak
fc16e3dc40
Support for patch types:
...
- float
- double
- string
- u16string
- byte_array
Plus some smaller changes
2022-04-27 09:41:29 +02: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
Triang3l
443d61c9e1
[D3D12] GetFormatCopyInfo: Remove unused divide_by_block_size variable
2022-04-26 22:42:17 +03:00
Triang3l
fcf6a7ded1
[Android] Minor postInvalidateWindowSurface JNI cleanup
2022-04-26 22:41:11 +03:00
Triang3l
12ff951972
[Base] More flexible Xenos float16 conversion functions
2022-04-26 22:35:37 +03:00
Joel Linn
e3dd873892
[Base] Fix wait for callback return
...
- If wait item has disarmed itself and is then disarmed by another
thread, still wait for the callback to return to meet guaratees
2022-04-26 13:56:11 -05:00
Joel Linn
3b4dc7da3b
[Base] Use disruptorplus spin wait
...
- Attempt to fix deadlocks when using valgrind on CI
2022-04-26 13:56:11 -05:00
Joel Linn
e59a0e1206
[Base] Relax some timing constraints.
...
- Because setting the timer is scheduled by us but the wait on POSIX is
currently scheduled by pthreads, this solves issues on overprovisioned
CIs
2022-04-26 13:56:11 -05:00
Joel Linn
4a36a7962c
[Base] Remove unneeded delay scheduler
2022-04-26 13:56:11 -05:00
Joel Linn
15950eec37
[Base] Use chrono APIs for Timers
2022-04-26 13:56:11 -05:00
Joel Linn
1478be14c7
[Base] Add chrono tests
2022-04-26 13:56:11 -05:00
Joel Linn
23eef94984
[Base] Add chrono support
...
- WinSystemClock is a FILETIME clock without scaling, can convert to
system_time
- XSystemClock is a FILTETIME clock with scaling applied, can only
convert to WinSystemClock
2022-04-26 13:56:11 -05:00
Joel Linn
9b4168cce9
[Base] Make HighResolutionTimer platform agnostic
2022-04-26 13:56:11 -05:00
Joel Linn
75357caeaf
[Base] Add TimerQueue
...
- Cross platform functionality similar to Windows' `CreateTimerQueue`
with `WT_EXECUTEINTIMERTHREAD`
2022-04-26 13:56:11 -05:00
Joel Linn
a85fc25040
[Base] Add more tests for HighResolutionTimer
2022-04-26 13:56:11 -05:00
Wunkolo
be8b9c512f
[x64] Add GFNI optimization for SPLAT(int8)
...
`pxor` is a zero-uop register-rename and `gf2p8affineqb dest, zero, int8`
is a very quick single-instruction way to use affine galois
transformations to fill a register with an immediate byte without
touching memory.
2022-04-26 13:46:46 -05:00
Gliniak
c73cdb506a
Initial support for xex patching
2022-04-26 13:26:49 +02:00
Gliniak
31eb639ade
Added Premake Files For PatchingSystem
2022-04-26 13:26:49 +02:00
Gliniak
3a115ae6a0
[Kernel] Restored usage of: log_string_format_kernel_calls
2022-04-14 13:48:24 -05: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
1131dff705
Merge branch 'master' into vulkan
2022-03-28 21:58:34 +03:00
Triang3l
0f3207d019
[Vulkan] Fix basePipelineIndex signedness
2022-03-28 21:57:44 +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
328aa11283
Merge branch 'master' into vulkan
2022-03-27 00:11:45 +03:00
Triang3l
2cd6c31998
[Vulkan] Samplerless texelFetch
2022-03-27 00:09:44 +03:00
Gliniak
67a0ccb7c0
[CPU] Unified assertions for unimplemented opcodes
2022-03-23 11:41:49 -05: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
Triang3l
82c1fb87aa
[App] Do all fullscreen entry logic for --fullscreen=true ( fixes #1999 )
2022-03-14 20:42:52 +03:00
Gliniak
0f2a7105b9
[CPU] Added constant propagation pass for: OPCODE_AND_NOT
2022-03-11 08:54:01 +01:00
Wunkolo
c1de37f381
[x64] Remove usage of `xbyak_bin2hex.h`
...
C++ has had binary-literals since C++14. There is no need for these
binary enum values from xbyak.
2022-03-08 12:18:58 -06:00
Wunkolo
f356cf5df8
[x64] Add `VECTOR_ROTATE_LEFT_I32` overflow-test
...
Edit one of the lanes in this unit-test to be larger than the width of
the element-size to ensure that this case is handled correctly.
It should only mask the lower `log2(32)=5` bits of the input, causing
`33`(`100001`) to be `1`(`000001`).
2022-03-08 12:18:58 -06:00
Wunkolo
337f0b2948
[x64] Add AVX512 optimization for `VECTOR_ROTATE_LEFT(Int32)`
...
`vprolvd` is an almost 1:1 analog with this opcode and can be
conditionally emitted when the host supports AVX512{F,VL}.
Altivec docs say that `vrl{bhw}` masks the lower log2(n) bits of the
element-size.
[vprold](https://www.felixcloutier.com/x86/vprold:vprolvd:vprolq:vprolvq )
modulos the shift-value by the element size in bits, which is the same
as masking the lower log2(n) bits. So `vrlw` maps exactly to `vprold`.
2022-03-08 12:18:58 -06:00
Joel Linn
7e894d10a7
[kernel] Correct status for looked up objects
...
- The guest will check for 0x40000000 and replace it with
0xb7 (ERROR_ALREADY_EXISTS), which is the correct return value.
For example, see:
https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-createmutexa
2022-03-08 12:17:57 -06:00
Joel Linn
91f4954967
[kernel] Refactor uses of attribute names
2022-03-08 12:17:57 -06:00
Joel Linn
38d589d1e0
[kernel] Remove unnecessary string copy
2022-03-08 12:17:57 -06:00
Joel Linn
b72ab7b4a4
[Base] Refactor POSIX timers, fix user-after-free
...
Since timer_delete does not clean up already queued signals, signal info
data needs to be retained after timer deletion and object destruction in
order to circumvent use-after-free bugs.
2022-03-08 12:17:57 -06:00
Joel Linn
257b904a5e
[Base] Add DelayScheduler class
...
Schedule callbacks whith the only guarantee that they will not be run for
the minimum duration specified. Useful for garbage collecting POSIX
timer_create() signal info data.
2022-03-08 12:17:57 -06:00
Joel Linn
e0f34b97fb
[Base] Check for correct thread in HResTimer tests
2022-03-08 12:17:57 -06:00
Joel Linn
fb741db2fe
[Base] Fix callback threads for POSIX timers
2022-03-08 12:17:57 -06: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
Joel Linn
6bd1279fc0
[Base] Forward `handle=null` as nullptr for win
2022-03-08 12:17:57 -06:00
Joel Linn
4ea6e45e0c
[Base] Remove `Sleep`s from more test cases
...
Timing dependencies in this tests were causing spurious test failures:
- Create and Run Thread
- Test Thread QueueUserCallback
They have been largely replaced by spin waits.
2022-03-08 12:17:57 -06:00
Joel Linn
e75e0eb39c
[Base] Fix `Semaphore::Create` invalid parameters
2022-03-08 12:17:57 -06:00
Joel Linn
bb42829308
[Base] Fix WaitMultiple on POSIX
...
- Never use `cond_.notify_one()` because it may wake a thread that is
unrelated to the signalled wait handle, resulting in a lost wake and
possible deadlock. Wait conditions are to be checked by the threads
themselves.
- Refactor and simplify `WaitMultiple`
2022-03-08 12:17:57 -06:00
Joel Linn
ca6296089e
[Base] Remove timing dependency from test
...
- Use atomics and spin waits to synchronize threads for tests
- Improves test stability on CI
2022-03-08 12:17:57 -06:00
Joel Linn
49efbeaca8
[Base] Add spin wait helper to threading test
2022-03-08 12:17:57 -06:00
Gliniak
283accd876
[Kernel/Memory] Check for required protect_bits combinations
2022-02-22 19:26:56 +01:00
Radosław Gliński
6b45cf8447
[Base] Match exactly when no pattern in wildcard
2022-02-17 17:38:04 -06:00
Triang3l
ba28ef9717
[Win32] Declare Windows 7-11 support in the manifest
2022-02-17 20:38:52 +03:00
Joel Linn
00e7de9297
[CPU] Improve vrsqrtefp accuracy
2022-02-16 17:09:28 -06:00
Joel Linn
d64848245d
[CPU] Improve vrefp accuracy
2022-02-16 17:09:28 -06:00
Triang3l
294c76f7c4
[UI] Remove `virtual` from Window::IsFullscreen (tracked entirely by common code)
2022-02-16 20:37:53 +03: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
a64264ed77
Merge branch 'master' into vulkan
2022-02-14 12:37:49 +03:00
Triang3l
74c109273c
[UI] Add PerMonitor fallback to Windows dpiAwareness
2022-02-14 12:35:08 +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
Triang3l
e57db52285
[UI] Enable Windows PMv2 DPI awareness accidentally kept disabled after testing
2022-02-13 23:10:19 +03:00
Triang3l
7652b321d0
[UI] Fix Windows 10 1607+ DPI function loading
2022-02-13 23:07:27 +03:00
Triang3l
7fc940422c
[UI] Windows AdjustWindowRect and GetClientRect usage cleanup
2022-02-13 23:01:25 +03:00
Triang3l
be5f7db3ef
[D3D12] Fixed-function state cleanup
2022-02-13 21:50:00 +03:00
Triang3l
325ae443da
[D3D12] Rename current_cached_pipeline_ to current_guest_pipeline_
2022-02-13 21:21:49 +03:00
Triang3l
10ec47e1fe
[GPU] Move common-face polygon offset to draw_util
2022-02-13 21:18:02 +03:00
Triang3l
8d07c79897
[GPU] Cleanup RB_COLOR_MASK and RB_DEPTHCONTROL normalization
2022-02-13 20:50:31 +03:00
Triang3l
8ca67b8aa7
[Vulkan] Expose relevant portability subset features
2022-02-13 20:19:01 +03:00
Triang3l
0590346084
[Vulkan] Add Vulkan-Headers and VMA submodules
2022-02-13 20:08:08 +03:00
Triang3l
8ccb00d03d
[SPIR-V] Store vfetch_full address in a variable
2022-02-07 23:00:23 +03:00
Triang3l
e447cf6ed8
Merge branch 'master' into vulkan
2022-02-07 22:22:43 +03:00
Triang3l
9b1fdac986
[UI] UI common shaders to XeSL
2022-02-06 22:48:38 +03:00
Triang3l
4480437a3d
[SPIR-V] xb genspirv > buildshaders + opt + remap + .xesl
2022-02-05 17:07:07 +03:00
Wunkolo
ea992eda1f
[x64] Fix missing BMI2 emit-feature detection
...
We only tested for BMI1 but not for BMI2, so we've been missing out on
BMI2 performance gains for a little while. Oops.
2022-02-05 12:08:32 +03:00
Triang3l
922efb13ce
Merge branch 'master' into vulkan
2022-02-03 21:12:10 +03:00
Gliniak
613f5ebe02
[HID] Added option to turn off vibration
2022-02-03 09:12:31 +01:00
Gliniak
17b30be56a
Added support for local multiplayer
2022-02-02 13:44:28 +01:00
Gliniak
332a9a2ec6
[XAM] Implemented XamCreateEnumeratorHandle
...
- Thanks Rick for providing names for parameters
2022-02-02 10:10:07 +01:00
Gliniak
7977d7ab98
[Base] Changed entry point to wmain for Windows
...
This prevents subapps from crashing when executing wmain specific functions
2022-02-01 15:50:48 -06:00
Triang3l
52ec0acd0c
[App] Add text saying that post-processing is vendor-independent
2022-02-01 22:29:14 +03:00
Triang3l
413d7ded49
[UI] Android surface [skip appveyor]
2022-02-01 22:18:04 +03:00
Triang3l
c6fc8f706a
[Base] GetAndroidThreadJniEnv capitals, move JNI usage tips there
2022-02-01 21:33:20 +03:00
Gliniak
6ad5c39fac
[XAM/Content] Implemented Custom CON Header Handling
2022-01-31 22:14:02 +01:00
Gliniak
e9b9302cd3
[XAM] Small XamUserReadProfileSettings improvements
2022-01-31 21:39:56 +01:00
Radosław Gliński
e8374d98fe
Skip 0xbadf00d gpu packets
2022-01-31 20:27:13 +01:00
Gliniak
080a65cd4f
[XAM] XGetLanguage: Get user language based on config
2022-01-31 20:26:03 +01:00
Gliniak
9ed3881b3b
Skip indirect ringbuffer errors - Thermonuclear war achieved
2022-01-31 20:15:47 +01:00
Gliniak
3a772e60b0
XamContentCreate: Return X_ERROR_FUNCTION_FAILED for overlapped failures
2022-01-31 20:15:41 +01:00
Gliniak
dfb4cadcfe
Return success from DmRegisterCommandProcessor to prevent debug games from crashing
2022-01-31 20:15:25 +01:00
Gliniak
07a1e77218
Allow users to change max amount of queued frames
2022-01-31 20:12:39 +01:00
Gliniak
498dde6e1a
Limit unspecified virtual allocation only to 3/4 of heap
2022-01-31 20:12:34 +01:00
Gliniak
c20c7c930c
XamEnumerate: Return X_ERROR_FUNCTION_FAILED for overlapped failures
2022-01-31 20:12:29 +01:00
Gliniak
c4d64a0501
QueryRegionInfo: Adjust allocation_base to contain heap address
2022-01-31 20:12:24 +01:00
Gliniak
ec976cdd33
InitializeRingBuffer - Clear buffer space to prevent random data readout
2022-01-31 20:12:20 +01:00
Gliniak
c483da91a4
Stop unnecessary spam of 0x601 opcode usage
2022-01-31 20:11:53 +01:00
Gliniak
8e35a3d649
Invalidate input buffers if decoding fails
...
Should output be invalidated too?
2022-01-31 20:11:44 +01:00
Gliniak
c80ea14d9d
Check if input_buffer exist
...
In some really specific cases there is a chance that
one of the buffers is valid, but its pointer is null
2022-01-31 20:10:14 +01:00
Gliniak
0eaf032b71
Remove applying offset when min & max address range is provided
2022-01-31 20:09:51 +01:00
Gliniak
f43e400c91
Do not block XMA when there is no work buffer available
2022-01-31 20:07:39 +01:00
Triang3l
009f709ad4
[Base] Remove Android jfieldIDs used only once from the file scope
2022-01-31 13:00:28 +03:00
Triang3l
d998c13ee8
[Base] Explain why no Android activity in xenia-base [ci skip]
2022-01-31 12:12:57 +03:00
Triang3l
3f817fb241
[Base] Android JNIEnv attachment and LaunchWebBrowser
2022-01-30 23:35:40 +03:00
Triang3l
d2ef8d3300
[Base] Android error reporting via SIGABRT/RuntimeException
2022-01-30 18:36:11 +03:00
Triang3l
50cf96ff36
[D3D12] Don't drain PSO preload creation queue if not queueing at all
2022-01-30 12:37:14 +03:00
gibbed
306ee85514
[App] Add Compatibility help menu item.
2022-01-29 08:02:20 -06:00
gibbed
c6b2b1e8eb
[App] Replace Website help menu item with FAQ.
2022-01-29 08:02:20 -06:00
gibbed
7019205810
[App] Rename ShowCommitID to ShowBuildCommit.
2022-01-29 08:02:20 -06:00
Triang3l
22eb8747d3
[GPU/Kernel] Fix space-prefixed hexadecimal number printing
2022-01-29 14:02:55 +03:00
Triang3l
fe3f0f26e4
[UI] Image post-processing and full presentation/window rework
...
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
Pseudo-Kernel
372bdd3ec9
[APU] XMA: Fix audio loop handling.
...
Handles audio loop if loop_start < loop_end.
Need to handle additional cases like loop_start > loop_end.
2022-01-29 02:49:00 -06:00
TranzRail
1d51b574ec
[Kernel] Add PVR opcode (includes cvars support)
2022-01-29 02:44:55 -06:00
Wunkolo
24205ee860
[x64] Fix `VECTOR_SH{L,R,A}_V128(Int8)` masking
...
[AltiVec](https://www.nxp.com/docs/en/reference-manual/ALTIVECPEM.pdf )
doc says that it just uses the lower `log2(n)` bits of the shift-amount
rather than the whole element-sized value. So there is no need to handle
an overflow. Also adjusts 64-bit literals to utilize the explicit
`UINT64_C` type.
2022-01-29 02:39:34 -06:00
Wunkolo
f8350b5536
[x64] Add `VECTOR_SH{R,L}_I8_SAME_CONSTANT` unit test
...
This is to target the new GFNI-based optimization for the Int8 case.
2022-01-29 02:39:34 -06:00
Wunkolo
bd9a290b30
[x64] Add `GFNI`-based optimization for `VECTOR_SH{R,L}_V128(Int8)`
...
In the `Int8` case of `VECTOR_SH{R,L}_V128`, when all the values are the
same, then a single-instruction `gf2p8affineqb` can be emitted that does
an int8-based arithmetic-shift, utilizing GF(8) arithmetic.
More info here:
https://wunkolo.github.io/post/2020/11/gf2p8affineqb-int8-shifting/
Also fixes the iteration-type for when detecting if all of the simd
lanes are the same value(was iterating `u16` and not `u8`)
2022-01-29 02:39:34 -06:00
Joel Linn
dbbf401205
[Base] Align test memory
2022-01-25 12:55:10 -06:00
Rick Gibbed
e49916ea0a
[XAM] Improvements to profile r/w setting exports
...
[XAM] Improvements to XamUserReadProfileSettingsEx/
XamUserWriteProfileSettings.
- Unify X_USER_READ_PROFILE_SETTING and X_USER_WRITE_PROFILE_SETTING
into X_USER_PROFILE_SETTING.
- Clean up Setting serialization to use X_USER_PROFILE_SETTING_DATA
instead of manual buffer copying.
- Fix XamUserReadProfileSettingsEx case where user_index is non-zero
and xuids are being used.
- Skip unset settings in XamUserWriteProfileSettings_entry.
2022-01-24 07:29:57 -06:00
Margen67
564a6d6238
[App] Disable stuff that crashes the emulator
2022-01-23 11:57:40 -06:00
Wunkolo
f7c14a089d
[x64] Add host-extension detection preprocessor
...
Rather than having a huge list of if-statements that all do the same
thing, this preprocessor allows a more concise pattern to detecting if
the emit-flag is enabled as well as the correlated Xbyak flag that it
needs to check for to before allowing the feature-flag to be emitted.
Also moved the AVX-check to the beginning to early-out rather than do a
bunch of wasted work only to find out last that the host doesn't even
support AVX.
2022-01-23 05:04:56 -06:00
Joel Linn
e4ae1d8b2f
[Base] Fix `copy_and_swap_16_in_32_aligned`
2022-01-22 16:18:54 +03:00
Joel Linn
0316d1a054
[Base] Tests for `copy_and_swap_16_in_32_aligned`
2022-01-22 16:18:54 +03:00
Joel Linn
4a288dc6bd
[Base, aarch64] Add `copy_and_swap` NEON impls
2022-01-22 16:18:54 +03:00
Joel Linn
bfaad055a2
[Base] Add easier to debug `copy_and_swap` tests
2022-01-22 16:18:54 +03:00
Rick Gibbed
617b17e25b
[WinKey] Fix RThumbDown being mapped to RThumbLeft
2022-01-14 16:06:40 -06:00
Wunkolo
a9a365aa32
[x64] Add `GFNI`-based optimization for `VECTOR_SHA_V128(Int8)`
...
In the `Int8` case of `VECTOR_SHA_V128`, when all the values are the same, then a single-instruction `gf2p8affineqb` can be emitted that does an int8-based arithmetic-shift, utilizing GF(8) arithmetic.
More info here:
https://wunkolo.github.io/post/2020/11/gf2p8affineqb-int8-shifting/
As of now(Dec 2021): Tremont(Lakefield), Jasper Lake, Ice lake, Tigerlake, and Rocket Lake support GNFI.
2022-01-13 15:32:55 -06:00
Wunkolo
fba23e3e75
[x64] Add `kX64EmitGFNI` emitter feature-flag
...
This determines support for the `gf2p8affineqb` instruction. Even though `GFNI` is typically found with AVX512-enabled chips, it _is_ possible for there to be a chip with `GFNI` but does not support `AVX` or `AVX2` of any sort. An example of this is Tremont(Lakefield) chips as well as Jasper Lake.
13df339fe7/GenuineIntel/GenuineIntel00806A1_Lakefield_LC_InstLatX64.txt (L1297-L1299)
13df339fe7/GenuineIntel/GenuineIntel00906C0_JasperLake_InstLatX64.txt (L1252-L1254)
2022-01-13 15:32:55 -06:00
Wunkolo
5d1b53cd6f
[x64] Add `VECTOR_SHA_I8_SAME_CONSTANT` unit test
...
This is to target the new GNFI-based optimization for the Int8 case.
2022-01-13 15:32:55 -06:00
Stefan Schmidt
31c9f026c5
[UI] Force use of Xwayland when running on Wayland
2022-01-12 17:37:54 +03:00
Gliniak
ad6aff001b
[XAM/Net] Added note about sharing storage between Rtl and WSA errors
2022-01-11 21:50:19 +01:00
Gliniak
fa332e13de
[XAM/Net] Removed hardcoded WSA error codes
2022-01-11 21:48:36 +01:00
Gliniak
2d514ef222
[XAM/Net] Changed parameters type for NetDll_select
2022-01-11 21:48:33 +01:00
Gliniak
d4e5ecb93b
[XAM/Net] Added unified method of returning WSA error codes
2022-01-11 21:46:56 +01:00
Gliniak
0b90d5edf9
[XAM/Net] Implemented NetDll_getsockname
2022-01-11 21:46:53 +01:00
Enrico Pozzobon
5e31429128
[WinKey] Rebindable keyboard controls.
2022-01-11 12:38:13 -06:00
gibbed
5384e0e174
[Base] Fix MICROPROFILE_PRINTF.
2022-01-11 06:09:26 -06:00
gibbed
f4d60f3fc4
[XAM] Fix xeXMsgStartIORequestEx result check.
2022-01-11 06:09:06 -06:00
Wunkolo
233ed107fe
[CPU] Remove `use_haswell_instructions` in favor of `x64_extension_mask`
...
Rather than having a single bool to conditionally detect haswell-level
instruction features. The granularity is increased with a new
`x64_extension_mask` where individual features within the x64 backend
can be turned on or off in a bit-mask manner. Since we have an ARM
backend on the horizon, I've added this to the new `x64`
configuration-group rather than `CPU`. This new pattern will hopefully
allow for testing to be more targetted to certain processor features and
allows the user to determine if they want certain features to be enabled
or disabled(such as avoiding BMI2 on certain AMD processors due to
pdep/pext being incredibly slow). The default configuration is to detect
and utilize all available features.
2022-01-11 03:57:32 -06:00
Wunkolo
37aa3d129c
[x64] Explicitly handle AND_NOT `dest == src1`
...
This addresses a JIT-issue in the case that the `src1` and `dest`
register are both the same. This issue only happens in the "generic"
x86 path but not in the BMI1-accelerated path.
Thanks Rick for the extensive debugging help.
When `src1` and `dest` were the same, then the `addc` instruction at
`82099A08` in title `584108FF` might emit the following assembly:
```
.text:82099A08 andc r11, r10, r11
|
| Jitted
|
V
00000000A0011B15 mov rbx,r10
00000000A0011B18 not rbx
00000000A0011B1B and rbx,rbx
```
This was due to the src1 operand and the destination register being the
same, which used to call the "else" case in the x64 emitter when it
needs to be handled explicitly due to register aliasing/allocation.
Addresses issue #1945
2022-01-10 15:48:49 -06:00
gibbed
975eadf17e
[Kernel] Assert export function return/arg types.
2022-01-09 14:16:37 -06:00
gibbed
12ec728989
[Kernel] Use tables for export groups.
2022-01-09 14:16:37 -06:00
gibbed
3ad0a7dab2
[Kernel] Suffix export functions with _entry.
2022-01-09 12:17:03 -06: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
gibbed
600c14b3f0
[xboxknrl] Implement ExTryToAcquireRWLShared.
...
[xboxknrl] Implement ExTryToAcquireReadWriteLockShared.
2022-01-07 10:22:48 -06:00
gibbed
1f9c434b5e
[xboxkrnl] Implement ExAcquireRWLShared.
...
[xboxkrnl] Implement ExAcquireReadWriteLockShared.
2022-01-07 10:22:48 -06:00
gibbed
3162a6435c
[xboxkrnl] Implement ExTryToAcquireRWLExclusive.
...
[xboxkrnl] Implement ExTryToAcquireReadWriteLockExclusive.
2022-01-07 10:22:48 -06:00
gibbed
e795337071
[xboxkrnl] ExReleaseReadWriteLock fixes.
...
[xboxkrnl] ExReleaseReadWriteLock fixes:
- Don't unncessarily double-load lock members.
- Reset readers entry count when lock count becomes negative.
- Properly decrease writers waiting count when writer event fired.
2022-01-07 10:22:48 -06:00
gibbed
b4f35635c5
[xboxkrnl] ExAcquireReadWriteLockExclusive fixes.
...
[xboxkrnl] ExAcquireReadWriteLockExclusive fixes:
- Don't unnecessarily double-load lock count.
- Don't release spin lock before we're done with the lock.
2022-01-07 10:22:48 -06:00
gibbed
fa774f1d86
[xboxkrnl] Fix up XexGetProcedureAddress logging.
...
[xboxkrnl] Fix up XexGetProcedureAddress failure logging.
2022-01-07 09:35:43 -06:00
Wunkolo
4303f6b200
[x64] Fix OPCODE_AND_NOT src1-constant case
...
Fix the the case where src1 is constant and src2 is non-constant causing
an assert due to trying to call `.constant()` on the src2 operand.
Interfaces with an issue Gliniak was encountering where title `4D53082D`
encounters an assert. Also includes a BMI1-acceleration in the 64-bit
case where a temporary register is needed(the `and` x86 instruction only
supports immediate constants up to 32-bits).
2022-01-06 13:00:58 -06:00
Gliniak
20fe7bc4b7
[Kernel/XMP] Send correct notification when playback controller is changed
...
- Changed locked into playback_client enumerator
- Changed vague notification name to something more descriptive
2022-01-04 16:22:57 -06:00
Gliniak
1ba4fbec17
[Kernel/XMP] Remove responsibility of stopping audio when controller is changed
2022-01-04 16:22:57 -06:00
Wunkolo
24d4e1e0e5
[x64] Add `BMI1`-based acceleration for `AndNot`
...
In the case of having two register operands for `AndNot`, the `andn` instruction can be used when the host supports `BMI1`. `andn` only supports 32-bit and 64-bit operands, so some register up-casting is needed.
2022-01-04 16:16:49 -06:00
Wunkolo
3ab43d480d
[x64] Add `kX64EmitBMI1` feature-flag and detection
...
The `BMI1 feature` fits into the current pattern of `use_haswell_instructions` as BMI1 was only introduced in haswell.
Also moved the aliases to the end of the enum rather than interleave it with the bit definitions.
2022-01-04 16:16:49 -06:00
Wunkolo
0fdb855a11
[JIT, x64] Add and implement `OPCODE_AND_NOT`
...
Verified the x64 implementation using `xenia-cpu-ppc-tests`.
2022-01-04 16:16:49 -06:00
Joel Linn
4f258b2ee9
[GPU, Vulkan] Fix typo in non AMD64 code
...
* `copy_and_swap_16_unaligned` -> `copy_cmp_swap_16_unaligned`.
2022-01-02 16:47:05 -06:00
Wunkolo
13a48e13bd
[Base] Add `operator<<` string conversion for `vec128_t`
...
This allows `catch` to print out the contents of a particular vector when diagnosing how a `REQUIRE` expression has failed.
2022-01-02 15:14:58 -06:00
Wunkolo
f645c3ba31
[Base] Fix `to_hex_string` out-of-indexing for `vec128_t` type
...
Trying to print five `{:08X}` when vec128_t only has four values. 🥴
2022-01-02 15:14:58 -06:00
Wunkolo
5317907523
[x64] Add `kX64EmitAVX512*` feature-flags
...
Implements the detection of some baseline `AVX512` subsets and some common aliases into `X64EmitterFeatureFlags`.
So far, `AVX512{F,VL,BW,DQ}` are the only subsets of `AVX512` that are detected with this PR since I anticipate these are the ones that will actually be used a lot in the x64 backend. Some aliases are also implemented such as `kX64EmitAVX512Ortho` which is `AVX512F` and `AVX512VL` combined which are the two subsets of AVX512 required to allow for `AVX512` operations upon `ymm` and `xmm` registers.
These aliases can possibly be collapsed since we could just always require `AVX512VL` to be supported to allow for _any_ kind of `AVX512` to be used since we will practically always want to use `AVX512` on `xmm` registers at the very least as there is no use-case where we want to use the 512-bit `zmm` registers exclusively.
2022-01-02 11:52:31 -06:00
Wunkolo
1a8068b151
[Base] Add user-literals for several memory sizes
...
Rather than using `n * 1024 * 1024`, this adds a convenient `_MiB`/`_KiB` user-literal to the new `literals.h` header to concisely describe units of memory in a much more readable way. Any other useful literals can be added to this header. These literals exist in the `xe::literals` namespace so they are opt-in, similar to `std::chrono` literals, and require a `using namespace xe::literals` statement to utilize it within the current scope.
I've done a pass through the codebase to replace trivial instances of `1024 * 1024 * ...` expressions being used but avoided anything that added additional casting complexity from `size_t` to `uint32_t` and such to keep this commit concise.
2022-01-02 11:51:31 -06:00
Wunkolo
b64b4c6761
[x64] IsFeatureEnabled: Allow parallel feature checks
...
Just checking if the resulting mask is non-zero means we cannot allow this function to check for multiple features in parallel. A hypothetical computer that supports FMA but not AVX2 will return `true` if you try to call `IsFeatureEnabled(kX64EmitFMA | kX64EmitAVX2)`. We should make sure all the masked flags return `true` rather than check for non-zero.
This is ramping up to allow for particular subsets of AVX512 to be checked for in parallel with a single function call.
2021-12-28 20:57:32 -06:00
Gliniak
371441ec3a
[XModule] Remove module and its functions while unloading
2021-12-27 09:18:44 +01:00
Gliniak
f2c0ae46c1
[Kernel] Added missing month to RtlTimeFieldsToTime
...
Additionally added check for highest possible month day
2021-12-22 15:02:25 +03:00
Triang3l
701300e8e9
[Linux] Use sched_yield instead of the deprecated pthread_yield
2021-12-18 19:43:17 +03:00
Triang3l
39890bab6f
Merge branch 'master' into vulkan
2021-12-13 22:06:09 +03:00
Dr. Chat
509a1fa386
[GPU] Fix a crash when GetWindowTitleText is called before the texture cache is initialized
2021-12-12 22:51:24 -06:00
Triang3l
95c2101ca9
Merge branch 'master' into vulkan
2021-12-12 21:32:43 +03:00
Triang3l
e25167d2bc
[GPU] Fix quads>triangles cvar, primitive type test cases
2021-12-12 18:28:02 +03:00
Triang3l
0846cc026d
[APU] Manage XAudio 2.8 lifecycle in MTA thread + error handling cleanup
2021-12-12 17:05:01 +03:00
Triang3l
9606ff2a31
[D3D12] Fix 8192 texture size storage
2021-12-12 16:27:49 +03:00
Triang3l
d813f7435b
[GPU] Revert 64bpp resolve addressing regression caused by a misunderstanding
2021-12-12 14:32:03 +03:00
Triang3l
793cebd6a7
[GPU] Explain 1.5x scaling issues in a comment
2021-12-12 14:31:05 +03:00
Triang3l
38b4741c8f
[GPU] Mostly generic, not square-only resolution scaling
2021-12-11 21:55:33 +03:00
Triang3l
e2da8597e1
[UI] Delete the now-unused loop_gtk.h
2021-12-04 16:36:45 +03:00
Jack Harper
211cc99f42
Rename control_flow_analysis_pass.cpp to control_flow_analysis_pass.cc
...
All of the (non-third party) cpp impl files use the .cc extension, this one doesn't. I was digging through the code and found this one so thought I might as well rename it whilst I'm here!
2021-11-13 02:18:22 +03:00
Triang3l
fdec0ab332
[Code] Make union usage more consistent
2021-11-03 20:45:09 +03:00
Triang3l
ce68a09b0c
Merge branch 'master' into vulkan
2021-10-31 16:49:14 +03:00
Triang3l
ddc3885795
[UI] Remove dtor lock as thread join will be done anyway
2021-10-31 16:04:46 +03:00
Triang3l
7e6cf349e2
[Build] Use first-party premake-androidndk ( #1878 )
2021-10-30 00:01:27 +03:00
Conrad Kramer
2962a266b5
Fix xenia-core build on macOS
2021-10-25 00:48:53 +03:00
Triang3l
28fec845d5
[GPU] Document memexport/resolve formats with more details
2021-10-22 20:00:41 +03:00
Gliniak
f40607041b
[APU] Skip audio header when there is no valid input
...
Thanks Cancerous1/Randprint for initial reseach in this topic
2021-10-18 08:50:51 +02:00
Gliniak
d6660ac391
[Kernel] Added %L to formatter
2021-10-14 15:05:12 -05:00
soopercool101
5161bd7ab2
Fix "404 not found" on "Build commit on Github..."
2021-09-28 16:29:22 -05:00
Joel Linn
cfd18b89f8
[GPU] GCC build fix for render target cache
2021-09-27 13:43:57 +03:00
Joel Linn
247cb91ac5
[Base] Replace GCC workaround (loop opt bug)
...
Previous workaround was dangerous, this one is more sane.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100801#c3
2021-09-27 13:43:57 +03:00
Triang3l
26a2d814da
[UI] android.app.NativeActivity > WindowedAppActivity + code style
2021-09-18 20:32:24 +03:00
Joel Linn
360e2f5414
[Kernel] Fix glibc exception on empty content_root
2021-09-15 15:24:21 -05:00
Triang3l
0335571354
[UI] Android CallInUIThread and activity onDestroy
2021-09-15 22:58:11 +03:00
Triang3l
cf85bf2efd
Merge branch 'master' into vulkan
2021-09-14 22:29:51 +03:00
Triang3l
f91b895c9a
[Base] Don't use raw clock where unsupported
2021-09-13 23:13:02 +03:00
Triang3l
7aeac37eb6
[Base/UI] Android globals initialization + WindowedAppContext parts
2021-09-13 23:09:28 +03:00
Triang3l
acbd22840d
[Base] Android log sink + sink cleanup
2021-09-13 22:53:19 +03:00
Triang3l
b77e6eb8e6
[D3D12] Fix syntax warnings reported by Clang
2021-09-12 17:12:33 +03:00
Triang3l
4f95e094e4
[GPU] Remove outdated forward declarations from trace_dump.h
2021-09-12 14:32:41 +03:00
Triang3l
ecccd02f8a
Merge branch 'master' into vulkan
2021-09-12 14:10:36 +03:00
Triang3l
6241b4f907
[Kernel] stringstream<< > string.push_back as LLVM libc++ doesn't support char16_t stream
2021-09-12 13:04:03 +03:00
Triang3l
9d992e3d06
[Kernel] Rename sin_zero due to #define on Android
2021-09-11 23:31:52 +03:00
Triang3l
44847abb98
[Kernel] Remove a TODO for a verified reference
2021-09-07 21:12:06 +03:00
Triang3l
e720e0a540
[Code] Remove game names from code comments (most of at least)
2021-09-05 21:27:40 +03:00
Triang3l
6986d6c7e8
[Config] Use locale-neutral fmt instead of to_string
2021-08-28 18:26:18 -05:00
Triang3l
64366979c7
[UI] Make Xenia title start from a capital letter
2021-08-28 19:44:23 +03:00
Triang3l
6ce5330f5f
[UI] Loop thread to main thread WindowedAppContext
2021-08-28 19:38:24 +03:00
Triang3l
f540c188bf
[Lint] Revert incorrect clang-format changes
2021-08-26 21:18:18 +03:00
Triang3l
7edfdc2672
Merge branch 'master' into linux_windowing
2021-08-26 22:58:14 +03:00
Gliniak
f6f524b814
Implemented ExLoadedImageName
2021-08-18 17:37:44 -05:00
emoose
bf8138a886
[VFS] Add NullDevice (returns success for all calls), handle \Device\Harddisk0\ with it
...
XMountUtilityDrive code tries reading/writing from \Device\Harddisk0\Cache0 / Cache1 / Partition0, NullDevice handling \Device\Harddisk0 will make that code think that the reads/writes were successful, so the utility-drive mount can proceed without failing.
2021-08-18 17:34:59 -05:00
emoose
e5725b5877
[Kernel] Support XFileAlignmentInformation, stub NtDeviceIoControlFile & IoCreateDevice
...
XMountUtilityDrive-related code checks some values returned from NtDeviceIoControlFile, stub just returns values that it seems to accept
IoCreateDevice is also used by utility-drive code, writing some values into a pointer returned by it, so stub allocs space so it can write to the pointer without errors.
2021-08-18 17:34:59 -05:00
emoose
eaab7998f7
[Kernel/XAM] Run XAM-tasks in seperate thread, stub XamTaskShouldExit
2021-08-18 17:34:59 -05:00
emoose
f2c706f943
[App] Add cache:\ mount for older games that use it
2021-08-18 17:34:59 -05:00
Gliniak
05bfdb02e5
[XAM] Return correct error code from GetServiceInfo
2021-08-18 17:25:44 -05:00
gibbed
ed0a15dcc8
Use AppVeyor vars for extended version info.
2021-08-18 16:44:41 -05:00
sephiroth99
4861022158
[Base] Fix fpfs with GCC/Clang
...
The fpfs function is using strtof to convert a string to floating point
value, but the type may be a double. Using strtof in that case won't
provide enough precision, so switch to using strtod. When the type is a
float, the double will be down-converted to the correct value.
2021-08-08 10:23:52 -05:00
Gliniak
f933d9c409
[XAM] XamEnumerate: Set initial item_count value to 0
2021-08-08 10:23:11 -05:00
Gliniak
c9073e101f
[XAM] Fix ContentCreate to pass copy of root_name.
...
[XAM] Fix xeXamContentCreate to pass copy of root_name for deferred
operation, as the pointer may no longer be valid when the callback
is executed.
2021-08-01 13:55:56 -05:00
Triang3l
90c4950503
[HID] Fix SDL GetKeystroke copy-paste regression
2021-07-26 10:12:17 +03:00
Gliniak
35321a10c3
[Kernel] Improvements to MmQueryStatistics
...
- Fixed incorrect calculation of available pages
- Changed amount of total virtual bytes
- Added real amount of reserved virtual bytes
- Removed unused methods
2021-07-15 09:45:35 +02:00
Triang3l
1e0237d404
[Vulkan] Fix XCB #ifdef
2021-07-12 12:15:47 +03:00
Triang3l
6412bb8910
[Vulkan] Remove a remaining Volk reference
2021-07-12 00:00:06 +03:00
Triang3l
692e329e9c
[Vulkan] Load Vulkan manually for more lifetime and extension control
2021-07-11 22:56:01 +03:00
Triang3l
9bb104b354
Merge branch 'master' into vulkan
2021-07-03 20:59:25 +03:00
Triang3l
458e4e1a31
[GPU] Official RB name from RDNA/GCN/TeraScale/Xenos docs/news
2021-07-01 23:43:01 +03:00
Triang3l
1cf12ec70b
[UI/HID] ui::VirtualKey enum
2021-07-01 23:32:26 +03:00
gibbed
ddee85f0be
[Kernel] Fix XStaticUntypedEnumerator item count.
...
[Kernel] Fix XStaticUntypedEnumerator not tracking item count.
Somehow this didn't make it into PR #1862 .
2021-06-30 13:26:05 -05:00
gibbed
4498a28568
[XAM] Deferred xeXamContentCreate.
2021-06-30 03:39:22 -05:00
gibbed
e8fda5878c
[XAM] Enumerator improvements.
...
- [Kernel] XEnumerator::WriteItems no longer cares about provided
buffer size, since we know the size when the XEnumerator was created.
- [Kernel] Added XStaticEnumerator template. Previous
XStaticEnumerator renamed to XStaticUntypedEnumerator.
- [XAM] Deferred xeXamEnumerate.
2021-06-30 03:39:22 -05:00
gibbed
b18f73b949
[Kernel] Add make_object template.
2021-06-30 03:39:22 -05:00
Joel Linn
480791a056
[Base] Implement message boxes on Linux
2021-06-29 20:41:20 -05:00
emoose
e23a9b7608
[Kernel] Add APC support to NtWriteFile
2021-06-29 03:13:43 -05:00
gibbed
a3535be416
[CPU] Suppress C4065 warning in SyscallHandler.
2021-06-29 02:41:29 -05:00
gibbed
fb0c354b2f
[xboxkrnl] Trim DbgPrint messages.
2021-06-28 20:32:52 -05:00
gibbed
a0ed4ec711
[xboxkrnl] Fix xeRtlNtStatusToDosError logging.
2021-06-28 20:32:52 -05:00
gibbed
997d0555db
Lint/format .inc files.
2021-06-28 20:32:52 -05:00
gibbed
8daef93207
[APU] XMA register table cleanup, documentation.
...
- [APU] Clean up XMA register table.
- [APU] Document observed register ranges in the XMA register table.
2021-06-28 20:32:52 -05:00
gibbed
ead4818e25
[xboxkrnl] Optional string formatter logging.
2021-06-28 20:32:52 -05:00
gibbed
0cf4cab59b
[CPU] Add syscall handler.
2021-06-28 20:32:52 -05:00
gibbed
c6259241a2
[GPU] Complain when command packet is 0xCDCDCDCD.
2021-06-28 20:32:52 -05:00
gibbed
f2a68e4b85
[Base] ByteStream assert cleanup.
2021-06-28 20:32:52 -05:00
gibbed
fa8e2ee788
[VFS] Suppress error msg for ShaderDumpxe:\CB.
...
[VFS] Suppress error message for ShaderDumpxe:\CompareBackends.
2021-06-28 20:32:52 -05:00
gibbed
a12f775c23
[Base] LaunchWebBrowser now takes a string view.
2021-06-28 20:32:52 -05:00
gibbed
e84ef132ae
[xboxkrnl] Log strings for string formatters.
2021-06-28 20:32:52 -05:00
gibbed
8caf8d1c1d
[xboxkrnl] Upgrade DbgPrint logs to info.
2021-06-28 20:32:52 -05:00
gibbed
5826b13899
[XAM] Flag NetDll_WSARecvFrom as high frequency.
2021-06-28 20:32:52 -05:00
gibbed
f4cfa65c7a
[Base] Fix natvis for new endian_store.
2021-06-28 20:32:52 -05:00
gibbed
6c0d03fad3
[CPU] Reduce complexity of Value::Round.
2021-06-28 20:32:52 -05:00
gibbed
92242f3f7d
[Base] Attach console on cvar help/failure.
...
[Base] Attempt attaching to console on cvar help/failure.
2021-06-28 11:57:06 -05:00
gibbed
80cafd9358
[Base] Clean up simple message box utility.
2021-06-28 11:57:06 -05:00
ztjohnst
bf5f700f9e
[Base] Fix invalid cvar args causing silent exit.
...
[Base] Fix invalid cvar arguments causing Xenia to silently exit.
2021-06-28 10:31:18 -05:00
ztjohnst
a77ed6f4a7
[Base] Add ShowInfoMB / ShowErrorMB functions.
...
[Base] Add ShowInfoMessageBox / ShowErrorMessageBox functions.
2021-06-28 10:31:18 -05:00
ztjohnst
be1a666066
[Base] Change behavior of has_console_attached().
...
[Base] Change has_console_attached() so that it no longer proves true
if Xenia is launched from a Windows Terminal.
2021-06-28 10:31:18 -05:00
Cancerous
afde40ab6c
XAM fixes.
...
Updated PR from Permanulled PR #1150 .
- [XAM] Stub XGI messages.
- [XAM] Stub XLiveBase GetServiceInfo message.
- [XAM] Stub error out of NetDll_WSARecvFrom.
- [XAM] Stub XamSessionRefObjByHandle.
Improves Aegis Wings, Jetpac, Metal Slug 3, and State of Decay.
Co-authored-by: PermaNulled <crich@thedefaced.org>
2021-06-28 09:51:15 -05:00
Atvaark
432470266c
[Core] Fix reading UTF-8 BOM config files
2021-06-28 08:54:03 -05:00
Gliniak
14eeb94326
[Kernel/IO] IoCompletion: Removed !wait_ticks check
...
- Marked IoCompletion as frequently used functions
- Added correct behaviour to wait_ticks 0
2021-06-28 08:45:41 -05:00
gibbed
771f8fb292
Fix HostPathFile access checks.
...
Fix HostPathFile access checks to additionally check generic access.
2021-06-27 20:01:03 -05:00
Joel Linn
d87bf995e1
Satisfy linter
...
Apply changes suggested by clang-format-12
2021-06-27 16:33:35 -05:00
gibbed
5c516cc341
Add missing break in logging.
2021-06-26 12:44:21 -05:00
gibbed
6bd96a5091
Remove unconditional block in logging.
...
Remove unconditional block in logging. This was done so the previous
commit shows an actual useful diff.
2021-06-26 12:26:10 -05:00
gibbed
458dbba4ae
Ensure that logging waits before shutting down.
...
- Ensure that logging waits until everything is written before shutting
down.
- Fix a bug where a new log line would not be written until the next
log line had been appended.
2021-06-26 12:26:10 -05:00
Triang3l
fa653cce5d
[Kernel] Fix a comment length lint issue
2021-06-26 16:19:41 +03:00
Triang3l
cccc707048
Merge branch 'master' into vulkan
2021-06-26 14:12:21 +03:00
emoose
89e26d7b2b
[Kernel] XamContentCreate*: pass XCONTENT_DATA size along to main content-creation func
...
This lets funcs like XamContentCreateInternal pass along a different XCONTENT_AGGREGATE_DATA struct, which the main func will know what to do with
2021-06-25 23:48:25 -05:00
emoose
9503c9efaf
[Kernel] Move title_id field in XCONTENT_AGGREGATE_DATA struct
...
XamAppEnumerateContentAggregate seems to store title_id at 0x140, so I've moved title_id to there, now AGGREGATE_DATA seems to match the size of the struct used by XamContentCreateInternal.
Also removed unneeded/useless checks inside XamAppEnumerateContentAggregate.
2021-06-25 23:48:25 -05:00
emoose
716d4c412a
[Kernel] Let XamContentAggregate.. make use of XEX alt-title-ids header
2021-06-25 23:48:25 -05:00
emoose
c889a8af3f
[CPU] Load alt-title-ids XEX header into XexModule::opt_alternate_title_ids_
2021-06-25 23:48:25 -05:00
emoose
fbf9c4630f
[Kernel] Use XCONTENT_AGGREGATE_DATA in all ContentManager funcs
...
Since AGGREGATE_DATA contains extra info about title_id, and can be easily converted to/from XCONTENT_DATA.
2021-06-25 23:48:25 -05:00
emoose
13f30d3492
[Kernel] Merge Content*Data structs into XCONTENT*_DATA
...
Also moved XContentType to xbox.h so code can make use of it without needing to include STFS stuff
2021-06-25 23:48:25 -05:00
Gliniak
e9f1a534df
[Kernel/Thread] Changed default stack location
2021-06-25 23:45:23 -05:00
madmodder123
e8dde519cc
[XAM] XamShowSigninUI: Fix issue with loading profile(s)
2021-06-25 23:42:00 -05:00
Gliniak
1cc0c1c985
Added more UTF-8 path tests (fnfp & fbnfp).
...
Added more UTF-8 path tests (find_name_from_path &
find_base_name_from_path).
2021-06-25 23:35:56 -05:00
Gliniak
4cc2dad005
[Object] Remove object name from name_table on object removal
2021-06-25 23:14:39 -05:00
emoose
052ce3d389
[Kernel] Make KeEnter/LeaveCriticalRegion only affect the caller thread
...
Adds a new X_KTHREAD::apc_disable_count field at 0xB0 into X_KTHREAD based on where 360 kernel seems to store it, and made CriticalRegion funcs act on that, instead of locking things between all threads, and changes DeliverAPCs to check that field before running the APCs.
XThread::LockApc/UnlockApc were also updated too as those previously called into EnterCrit/LeaveCrit to work, but AFAIK the code that uses LockApc/UnlockApc does have an actual need for locking between threads, so changed them to work on XThread::global_critical_region_ directly instead.
2021-06-25 23:11:14 -05:00
Rick Gibbed
0d3ef65dcd
Add more UTF-8 path tests.
...
Add more UTF-8 path tests to catch newly discovered issues.
2021-06-25 23:07:57 -05:00
Gliniak
dcffc1a4d5
[Base] Remove multiple trailing separators in path
2021-06-25 23:07:57 -05:00
Sandy Carter
005e0e21c1
[linux graphics] Remove GLEW
...
OpenGL is not used in the whole stack.
All references are removed.
2021-06-19 13:08:12 -04:00
Sandy Carter
0380067105
[linux vulkan] Remove linking directly with vulkan
...
Using volk means vulkan linking is done at runtime with the dl library.
2021-06-19 13:08:12 -04:00
Sandy Carter
271c91e115
[ui gtk] Fix init, resize and destroy
...
Prevent Vulkan Swap before display context is assigned.
Prevent resize while fullscreen (like in windows impl).
Use superclass Resize implementation to reduce code duplication.
Remove recursive call to GTKWindow::Close().
Destroy xcb window after superclass Close().
Set hwnd to null after closing on windows implementation.
2021-06-19 13:08:12 -04:00
Sandy Carter
0b5ff8332e
[ui gtk] Fix file dialog
...
Use drawing area for vulkan but window for dialogs
2021-06-19 13:08:12 -04:00
Doug Johnson
cdf77d21bc
UI: Improve GTK GUI Abstractions for Linux
2021-06-19 13:08:03 -04:00
Triang3l
270469d4d4
[Vulkan] Basic framebuffer output
2021-06-19 14:16:24 +03:00
Triang3l
2c3141fc87
Merge branch 'master' into vulkan
2021-06-19 14:07:09 +03:00
Triang3l
3a2c7894d2
[D3D12] Remove unused D3D12RenderTargetCache ref from D3D12RenderTarget
2021-06-19 14:06:37 +03:00
Triang3l
0ebb3bd90e
Merge branch 'master' into vulkan
2021-06-19 13:58:50 +03:00
Triang3l
4a95f72fba
[GPU] RT size function adjustments for Vulkan convenience
2021-06-19 13:57:14 +03:00
Joel Linn
f6e48d5386
[Base] Fix Clock platform functions on POSIX.
2021-06-18 16:10:19 +03:00
Triang3l
962f7daeb2
Merge branch 'master' into vulkan
2021-06-14 19:13:15 +03:00
Triang3l
8e83042bdf
[GPU] Fix host_depth_store_2xmsaa CS after 2x MSAA sample swap
2021-06-14 19:12:12 +03:00
Triang3l
e48a678ac7
[GPU] Undo depth_and_color_formats_out renaming
2021-06-14 19:00:57 +03:00
Triang3l
eb8bd732d3
Merge branch 'master' into vulkan
2021-06-14 17:31:55 +03:00
Triang3l
357aa1cdd3
[GPU] Fix RT view and pipeline sRGB mismatch
2021-06-14 17:30:56 +03:00
Joel Linn
f15e3d07e7
[APU] Use vectorized converter in xaudio2 backend
2021-06-12 18:57:39 +03:00
Joel Linn
0ad939b2f1
[APU] Add AVX intrinsic variants for conversion
2021-06-12 18:57:39 +03:00
Joel Linn
cd631fc447
[APU, SDL] Refactor sample submission
...
- Move sample conversion to SDL callback thread
- Add early channel down-conversion
2021-06-12 18:57:39 +03:00
Triang3l
e4b239784c
Merge branch 'master' into vulkan
2021-06-09 22:57:41 +03:00
Triang3l
14bac72f0d
[D3D12] DirectComposition basic initialization
2021-06-09 22:56:36 +03:00
Triang3l
bee95d9e63
[Vulkan] Remove remaining IndexBufferInfo references
2021-06-09 21:10:27 +03:00
Triang3l
2800f6180a
[Vulkan] Primitive processor
2021-06-09 20:54:31 +03:00
Triang3l
90432cd004
Merge branch 'master' into vulkan
2021-06-09 20:47:13 +03:00
Triang3l
50bb35b4b4
[GPU] Polygon offset scale factor in xenos.h
2021-06-09 20:46:24 +03:00
Triang3l
9e6aec4535
[D3D12] Tiny IssueDraw initialization cleanup
2021-06-09 20:23:02 +03:00
Triang3l
d00dd5a2bc
[GPU] Disable primitive reset for non-list types in primitive processor
2021-06-09 20:22:24 +03:00
Triang3l
0612901e9a
Merge branch 'master' into vulkan
2021-06-08 21:28:53 +03:00
Triang3l
70a3919f9f
[D3D12] Primitive processor frame_index_buffers_.clear() in shutdown for safety
2021-06-08 21:28:30 +03:00
Triang3l
6cd9d42fd0
Merge branch 'master' into vulkan
2021-06-08 12:15:34 +03:00
Triang3l
796eb0f430
[D3D12] Update shader bytecode .h path in premake5.lua
2021-06-07 21:28:39 +03:00
Triang3l
89ddf6456a
[GPU] Disable 3D slice pitch assertion for non-3D textures
2021-06-07 16:40:45 +03:00
Triang3l
22ee200f3e
[GPU] Use polygon mode only for DualMode, not non-Disabled
2021-06-07 16:40:01 +03:00
Triang3l
3f156f26c4
[D3D12] Take 0 being bottom-right sample with 2x MSAA in D3D12 into account
2021-06-06 20:58:50 +03:00
Triang3l
c4a5048e62
[GPU] More specific note about slope-scaled depth bias
2021-06-06 18:33:06 +03:00
Triang3l
dce6938827
[D3D12] ROV sample depth via ddxy(z), DSV depth bias cleanup
2021-06-06 18:27:43 +03:00
emoose
e3c14419f6
[CPU/XEX] Use correct size for XEXP-patched header buffer
2021-06-06 04:50:21 -05:00
Triang3l
12a907bfa5
[GPU] Shaders to common, xb buildshaders instead of buildhlsl
2021-06-05 18:53:53 +03:00
Gliniak
313fb3e5a3
[XMA] GetFrameNumber: Return correct frame_idx at stream end
2021-06-05 08:54:22 -05:00
Triang3l
ca7036707b
[APU] XMA: Instruction name comment typo correction
2021-06-05 16:43:49 +03:00
Triang3l
add65318c2
[APU] XMA: ConvertFrame always returns true
2021-06-05 16:27:40 +03:00
Triang3l
60b24b2d3a
[APU] XMA: Vectorize 2-channel ConvertFrame
2021-06-05 16:10:41 +03:00
Triang3l
866a29e153
[Base] saturate_signed NaN comment
2021-06-05 15:04:06 +03:00
Triang3l
3c20a83972
[Base] Float clamping cleanup
2021-06-05 14:55:55 +03:00
Joel Linn
89a7c8f41f
[APU] Add vectorized audio frame conversion
2021-06-05 14:08:16 +03:00
Triang3l
538aa91015
[GPU] Primitive processor with Vulkan 1.0 base cases, 24-bit indices and clamping
2021-06-04 23:57:46 +03:00
Joel Linn
10ff77a24f
[Base] Add workaround for GCC bug
...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100801
2021-06-02 22:28:43 -05:00
Joel Linn
ceb382f8ec
Update Catch2 test framework
...
- Use their main() method to fix command line options. Fix CLion testing
- Change to correct tag syntax.
2021-06-02 22:28:43 -05:00
Joel Linn
0e019f96b4
[Base, Linux] Make thread exit non returning
...
- Use pthread_exit() instead of pthread_cancel() if current thread
- Modify tests to ensure Exit does not return
2021-06-02 22:28:43 -05:00
Joel Linn
fa7f292432
[CPU] `ResolveFunction()` Fix declaration mismatch
2021-06-02 22:28:43 -05:00
Joel Linn
6d548f51b3
[Kernel] net: name anonymous struct
...
- fixes GCC compilation error due to
"member with constructor in anonymous struct"
2021-06-02 22:28:43 -05:00
Joel Linn
c0fb300a05
[Kernel] Remove explicit SHIM calling convention
...
Shim exports are called from GuestToHostThunk which dictates the calling
convention. The default system calling convention is different depending
on OS (Windows vs. everything else) and architecture. PR #1339 addresses
this for x64 Linux.
There is no reason for explicit `__cdecl`. Also, it is not available in
GCC. We could use `__attribute__((ms_abi))` or
`__attribute__((sysv_abi))` but that just adds complexity.
2021-06-02 22:28:43 -05:00
Joel Linn
07a060b002
[Kernel] Solve ambiguity in `RegisterExport()`
...
- Remove overload for exports with `void` return type
- Use `if constexpr (std::is_void<R>::value)` to differentiate
2021-06-02 22:28:43 -05:00
Joel Linn
d40dfa11c5
[Base] Use pragma pack for non msvc as well.
...
- Pack attributes may be ignored by GCC
2021-06-02 22:28:43 -05:00
Joel Linn
d55192ea30
[Base] Refactor byte_swap
...
- Use builtins on non MSVC compilers
- Use `if constexpr` to reduce explicit overloads and SFINAE overhead
2021-06-02 22:28:43 -05:00
Joel Linn
4800194f0d
[Base] Add faster `bit_count` variants
...
- Use C++20 `popcount()` when available
- Else use compiler specific built-ins
2021-06-02 22:28:43 -05:00
Joel Linn
806a33d625
[GPU] Use `le<>` type for depth sample counts
2021-06-02 22:28:43 -05:00
Joel Linn
e58686c9df
[Base] Add `le<>` type
...
- Addition to `be<>` type
2021-06-02 22:28:43 -05:00
Joel Linn
28ca58c0e9
[Base] Fix HighResolutionTimer
...
- Test was failing on Linux 5.11 and GLIBC 2.33
- `timer_t(0)` is a valid handle, so a `valid_` flag was added to guard
destruction
- Similar behaviour on Windows was fixed as well. The invalid values for
`HANDLE` are API dependent.
2021-06-02 22:28:43 -05:00
Joel Linn
6dfa36d1b8
[GPU] Misc GCC build fixes
2021-06-02 22:28:43 -05:00
Joel Linn
5284075cf9
[CPU] Misc GCC build fixes
2021-06-02 22:28:43 -05:00
Joel Linn
86722be9ca
[Base] Make Arena alignment aware
...
- Add align parameter
- Templated Alloc() implicitly aligns type correctly
- Rewind may leak padding that was added due to alignment
2021-06-02 22:28:43 -05:00
Joel Linn
d8cfeac79f
[Base] Remove redundant copy and move operators
...
- Compiler is smart enough to use 128bit vector regs by itself
2021-06-02 22:28:43 -05:00
Joel Linn
4d0d3f3ad4
[Base] Fix semaphore test
...
- Was using `Sleep()`
- Replaced with atomic value and bool flag
2021-06-02 22:28:43 -05:00
Joel Linn
2d9462f02b
[Base] Fix unitialized variable in threading test
2021-06-02 22:28:43 -05:00
Joel Linn
4fb5244176
[Base] Fix namespacing
2021-06-02 22:28:43 -05:00
Joel Linn
a86d7173e1
Refactor FourCC magic uses
...
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00
Joel Linn
4daa3f5a52
[Base] Add FourCC tests
2021-06-02 22:28:43 -05:00
Joel Linn
9bb920b104
[Base] Add FourCC type
...
- using fourcc_t = uint32_t
- make_fourcc() overloads
2021-06-02 22:28:43 -05:00
Gliniak
fbc31652e0
[XAM/Net] inet_addr: Handle edge cases
2021-05-27 16:16:56 -05:00
Gliniak
29f7987401
[XAM] XamReadTileToTexture: tile_id safety check
2021-05-27 16:16:20 -05:00
Gliniak
29f28b8b60
[Kernel/XAM] CloseContent: Close files related to closed content
2021-05-27 16:16:01 -05:00
Gliniak
f298d7620a
[Kernel/XAM] XamContentGetCreator: Added check for existing content
2021-05-27 16:11:35 -05:00
Triang3l
ea9625fca8
[Kernel] VdSwap virtual/physical address clarification
2021-05-25 21:31:02 +03:00
Triang3l
800db1aa49
[D3D12] Cleanup initialization log levels
2021-05-19 21:10:05 +03:00
emoose
422fc4f24e
[VFS/STFS] Check fread return values, add SVOD local structs
...
A few minor improvements to StfsContainerDevice too, and now StfsContainerFile::ReadSync will set out_bytes_read to the actual
number of bytes read
2021-05-18 09:04:45 -05:00
emoose
478bb90922
[VFS/STFS] Use xe::filesystem::OpenFile instead of memory-mapping
...
Adds StfsDirectoryEntry / StfsDirectoryBlock to make it easier to fread()
2021-05-18 09:04:45 -05:00
emoose
2659b70c90
[VFS/STFS] Improved StfsHashEntry, minor struct improvements
...
Changed XEPACKEDSTRUCT to #pragma pack, added setters for some fields that didn't have them, named some anonymous structs which might help with other compilers.
2021-05-18 09:04:45 -05:00
emoose
aa155612fb
[VFS/STFS] Move x360-specific STFS structs to stfs_xbox.h
2021-05-18 09:04:45 -05:00
Gliniak
1a2282894a
[GPU] Improve fake occlusion query compatibility
...
- Older D3D implementation used different flags
2021-05-17 19:27:23 +03:00
Sandy Carter
31a8d189f0
[vulkan] Fix typos
2021-05-17 11:14:48 -04:00
Sandy Carter
c4a2dff099
[vulkan] Add Report Callback to instance create
2021-05-17 11:14:48 -04:00
Sandy Carter
5ed4f88091
[vulkan linux] Add extension requirement for XCB
2021-05-17 11:14:48 -04:00
Sandy Carter
6d591970ab
[vulkan linux] Fix native_platform_handle with gtk
...
Use gtk connection as handle and use it when creating surface.
2021-05-17 11:14:48 -04:00
Triang3l
0965975cbe
[VFS] Fix missing unordered_map include in stfs_container_device.h
2021-05-17 02:50:01 +03:00
Triang3l
2d50fc07b4
[Linux] __builtin_ffsll instead of GNU/BSD-specific ffsll
2021-05-17 02:38:51 +03:00
Triang3l
e49e26e4a0
[Kernel] shim_utils lint fix
2021-05-16 18:34:27 +03:00
Triang3l
3a5752fcb6
[D3D12] Split the tessellation VS into indexed and adaptive
2021-05-16 18:27:41 +03:00
Triang3l
9f8a432479
[DXBC] Cleanup: kSysConst_*_Vec/Comp > LoadSystemConstant
2021-05-16 17:43:18 +03:00
Triang3l
ff23b1d9f9
[x64] LoadConstantXmm: Don't load -0 as +0 + cleanup
2021-05-16 14:26:57 +03:00
Triang3l
f39020700a
[GPU] Cleanup: XEPACKED -> static_assert_size/alignas
2021-05-16 14:03:36 +03:00
Triang3l
dd5ea87213
[GPU] Linear mip tail exact extent estimation
2021-05-15 18:19:26 +03:00
Gliniak
a69a058991
[XAM/App] Fixed issue when error code was handled as success
2021-05-13 23:08:02 -05:00
Gliniak
93c97fdbda
[XAM/Content] Provide title ID for aggregate content
2021-05-13 23:08:02 -05:00
Triang3l
4eca2326c3
[GPU/D3D12] Support texture pitch, more precise texture extent/stride calculations
2021-05-13 23:02:11 +03:00
Triang3l
8a70ae5389
[GPU] Fix RT EDRAM range clamping when using both 32bpp and 64bpp
2021-05-12 20:17:12 +03:00
gibbed
21c28a07f1
[XAM] Write stub buffer in XamReadTileToTexture.
...
[XAM] Write stub texture buffer (white) in XamReadTileToTexture.
2021-05-08 11:13:30 -05:00
gibbed
8d8bab853d
[XAM] Define unknown args for XamReadTileToTexture.
2021-05-08 11:13:30 -05:00
gibbed
37a733e33a
[XAM] More values for dummy achievement details.
...
[XAM] Provide image ID and flags for dummy achievement details.
2021-05-08 11:13:30 -05:00
gibbed
0f6bfcf0d5
[XAM] Base dummy achievement details at ID 1.
2021-05-08 11:13:30 -05:00
gibbed
5d778cfef6
[XAM] Better text for dummy achievement details.
2021-05-08 11:13:30 -05:00
gibbed
b2011453cc
[XAM] Cap dummy achievement details to 100.
2021-05-08 11:13:30 -05:00
gibbed
b735e3f40d
[XAM] Fix dummy achievement details count.
2021-05-08 11:13:30 -05:00
gibbed
cf2037cdf6
[XAM] Cap the number of dummy achievement details.
2021-05-08 09:10:28 -05:00
gibbed
1c78c9d75d
[XAM] Fix adding dummy achievement details.
...
[XAM] Fix infinite loop in adding dummy achievement details when
count>255.
2021-05-08 09:10:28 -05:00
gibbed
084b8c5dbe
[XAM] Fix missing buffer check on XamEnumerate.
2021-05-08 09:10:28 -05:00
Gliniak
d2ca54d909
[Kernel/XAM] Dummy X_ACHIEVEMENT_DETAILS support
...
Co-authored-by: gibbed <rick@gibbed.us>
2021-05-08 07:47:03 -05:00
Gliniak
57ce647bb3
[APU/XMA] Prevent crash with invalid packet number
2021-05-07 16:59:17 -05:00
Triang3l
8f1f849a06
[D3D12] unordered_map instead of multimap in TextureCache
2021-05-05 21:40:00 +03:00
emoose
ce19d948f0
[Base] Move XdbfLocale to xbox.h as XLanguage, let STFS headers use it
...
Renamed to XLanguage because AFAIK locale on Xbox is a different concept involving countries, this enum only involves languages though.
2021-05-05 12:35:51 -05:00
emoose
99b7848a34
[VFS/STFS] Cache any hash-blocks we read from in memory
2021-05-05 12:35:51 -05:00
emoose
6ba9b032a3
[VFS/STFS] Check for end-of-chain when reading dir entries, warn if chain size is wrong
2021-05-05 12:35:51 -05:00
emoose
8d7768c7fa
[VFS/STFS] Secondary hash-block improvements
...
GetBlockHash now visits upper-level hash tables (if needed) to check the active_index flag that decides if secondary hash-block should be used or not.
This should give better support for CON packages, important for X360 profiles/game saves (some well-used profiles can be heavily fragmented)
2021-05-05 12:35:51 -05:00
emoose
09e0db029a
[VFS/STFS] Add BlockToHashBlockOffsetSTFS for more accurate hash table offset
2021-05-05 12:35:51 -05:00
emoose
509f33ba27
[VFS/STFS] Fix BlockToOffsetSTFS for non-read_only_format (CON) packages
...
Previous code would give wrong results for those types of packages as the block_shift would cancel itself out, moving it to happen afterward let it give the right result though, probably a mistake while reversing it.
(eg. block 0 would give 0xB000, but that's wrong for non-read_only packages as 0xA000 and 0xB000 are reserved for the first hash-table there, fixed code returns the correct 0xC000 offset)
Also changed it to a multiply & renamed it to blocks_per_hash_table to make it more obvious what the purpose is.
2021-05-05 12:35:51 -05:00
emoose
14783b03f2
[VFS/STFS] Update mmap_total_size & total_allocation_units()
2021-05-05 12:35:51 -05:00
emoose
84f566d92b
[VFS] STFS/XContent structure improvements
...
Now makes use of xe::be<T> and removes need for read() method
2021-05-05 12:35:51 -05:00
Triang3l
b099d74f78
[Memory] List all partitions supporting non-FromApp memory mapping functions
2021-05-04 23:27:57 +03:00
Triang3l
40ca4abc0b
[GPU] Small ring buffer setup function cleanup
2021-05-04 23:13:55 +03:00
Triang3l
330beaf552
[GPU] Screen scissor alongside window scissor
2021-05-04 22:54:05 +03:00
Triang3l
fb01ccaac6
[GPU] Viewport/clipping cleanup, don't clamp oDepth
2021-05-04 21:39:34 +03:00
Joel Linn
48bd08a11b
[GPU] Fix shader compiler build on Linux
2021-05-03 22:50:44 -05:00
Gliniak
1f658f9b32
[XAM/Content] Prevent deletion of open packages
2021-05-02 10:46:20 -05:00
gibbed
a18f9c9dc1
Add UTF-8 path tests for trailing separator.
2021-05-02 09:36:32 -05:00
gibbed
2d2721ee7a
[Base] Fix UTF-8 fnfp with trailing separator.
...
[Base] Fix off-by-one in UTF-8 find_name_from_path with trailing
separator.
2021-05-02 09:36:32 -05:00
gibbed
fcd46d56a0
[App] Lint fix.
2021-05-02 08:21:10 -05:00
gibbed
9185c36b41
Add more UTF-8 path edge cases.
...
- Add macro for automatically testing both / and \ of all path
input/outputs.
- Add more UTF-8 path edge cases.
2021-05-02 08:18:22 -05:00
gibbed
b7674f0bd8
[Base] Plain string variant of UTF-8 join_paths.
2021-05-02 08:18:22 -05:00
gibbed
46dfb3449c
[Base] Dedupe new/old separators in UTF-8 fps.
...
[Base] Dedupe new/old separators in UTF-8 fix_path_separators.
2021-05-02 08:18:22 -05:00
gibbed
de3825274e
[Base] Fix edge case in UTF-8 fnfp/fbp.
...
[Base] Fix edge case in UTF-8 find_name_from_path/find_base_path with
strings that consist of only a separator.
2021-05-02 08:18:22 -05:00
gibbed
f868a10649
[App] Correctly initialize title ID.
2021-05-02 00:21:57 -05:00
gibbed
ea1f2b114a
[App] Improve title tracking.
...
[App] Improve title tracking.
[App] Show title version in emulator window title, when available.
2021-05-01 17:29:05 -05:00
gibbed
0419a9f13d
[App] Build title using StringBuffer.
2021-05-01 17:29:05 -05:00
gibbed
38c3db1afb
[CPU/Kernel] Transparently byteswap xex2_version.
2021-05-01 17:29:05 -05:00
gibbed
46ee68eb1d
[UI] Log unsuccessful SPDA result as unsigned.
...
[UI] Log unsuccessful SetProcessDpiAwareness result as unsigned.
2021-05-01 17:26:54 -05:00
gibbed
653931ec8f
Add and improve UTF8 tests.
2021-05-01 15:16:37 -05:00
gibbed
dbd980150b
[Base] Don't use reverse iterator for UTF-8.
...
[Base] Don't use reverse iterator for UTF-8. Fixes #1760 .
2021-05-01 15:16:37 -05:00
illusion0001
b5fc1efad5
XMA: Set log level for unhandled register to warning
2021-05-01 12:47:36 -05:00
gibbed
99c9ed4c62
Stop Intellisense complaints about export decls.
...
Stop Visual Studio Intellisense complaints about export declarations.
2021-05-01 12:45:16 -05:00
Joel Linn
b6e5719173
[APU] Fix compilation on Linux
2021-05-01 12:41:02 -05:00
Joel Linn
534e263b05
[APU] XMA: Cross-buffer split frames.
2021-05-01 12:41:02 -05:00
Joel Linn
6547fa1748
[APU] Rewrite XMA packet parser
...
Use new FFmpeg frame decoder
2021-05-01 12:41:02 -05:00
Joel Linn
7a0236dcc5
[Base] BitStream: Fix writing to non zeroed mem
2021-05-01 12:41:02 -05:00
Joel Linn
3675c8eac8
[APU] Disable warnings in FFmpeg.
2021-05-01 12:41:02 -05:00
Joel Linn
d4cf474665
Replace references to libav.
2021-05-01 12:41:02 -05:00
Gliniak
e5948bb810
[Kernel] Implemented: XeKeysHmacShaUsingKey
2021-05-01 12:31:14 -05:00
gibbed
524efcab7d
[Kernel] Lint fix.
2021-05-01 12:20:14 -05:00
Gliniak
d4c3d665d5
[XAM/Content] Set disposition for overlapped cases
2021-04-30 20:12:56 -05:00
Triang3l
556893177b
[D3D12] Better D3D12 initialization failure error message
2021-04-28 21:13:00 +03:00
Triang3l
bb55bb3e70
[D3D12] Make ROV the default RT path on Intel due to stencil
2021-04-28 20:53:07 +03:00
Triang3l
71fbfdb63e
[D3D12] Fix non-ROV clearing always giving 'failed in backend'
2021-04-28 17:27:57 +03:00
Triang3l
51c2c9e5f2
[D3D12] Fix render target reference leak
2021-04-27 19:55:29 +03:00
Triang3l
ec41dfc995
[D3D12] Fix bindless root signatures, ensure shaders are pre-translated
2021-04-27 18:29:23 +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
Gliniak
30ea6e3ea3
[Kernel/Memory] Return error when region_size is 0
2021-04-10 07:19:59 -05:00
gibbed
4ce43369a7
Use English game title when available.
2021-04-07 03:47:17 -05:00
Gliniak
9ccdbb2153
[Kernel/Memory] Do not clear range if it was previously commited
2021-04-07 03:42:13 -05:00
Gliniak
010f0aa517
[XAM/Party] Added stubs for:
...
- XamPartyGetUserList
- XamPartySendGameInvites
- XamPartySetCustomData
- XamPartyGetBandwidth
2021-04-06 23:39:40 -05:00
Gliniak
6c9662d17e
[XAM/UI] Added Stubs For:
...
- XamShowPartyUI
- XamShowCommunitySessionsUI
2021-04-06 23:39:40 -05:00
Triang3l
99024aec32
[Vulkan] Fix primary_queue_mutex usage in vulkan_graphics_system.cc
2021-03-04 18:32:27 +03:00
Triang3l
5ae6c7eaf8
[Vulkan] Fix primary queue mutex locking in texture_cache.cc
2021-03-04 18:14:07 +03:00
Triang3l
87442b106c
[D3D12] Fix signed-only texture descriptor creation
2021-02-13 23:22:03 +03:00
Gliniak
a6954aced3
[Kernel/XAM] XamContentCreateEx - Extended Error Support
2021-01-31 23:58:07 -06:00
emoose
690b0d9197
[Kernel/XAM] Prevent Sleep from being used on main thread, fixes #1749
2021-01-31 23:39:13 -06:00
emoose
57764f6bea
[Kernel/XAM] Improve NetDll_XNetQosServiceLookup stub, implement NetDll_XNetQosRelease
...
Needed for Saints Row 1 (TU1) to start up properly
2021-01-31 23:26:47 -06:00
emoose
40bbf704e0
[Kernel/XBDM] Change return values of RegisterCommandProcessorEx & DmWalkLoadedModules
2021-01-31 23:26:47 -06:00
sephiroth99
36f687e40e
[Base] Add missing header for VS2017
...
When using VS2017, the compilation fails due to this missing header.
Signed-off-by: sephiroth99 <sephiroth99@gmail.com>
2021-01-31 23:22:59 -06:00
sephiroth99
6baf6351a1
[Kernel] Fix usage of date library
...
For backwards compatibility reasons, the date library does not use the
new C++17 uncaught_exception signature, even if compiling under C++17.
With GCC 10, libstdc++ marks the old uncaught_exception signature as
deprecated, so this causes a compilation error.
Fortunately, date library provides a way to select which
uncaught_exception version to use, so force using the new version.
Signed-off-by: sephiroth99 <sephiroth99@gmail.com>
2021-01-31 23:22:59 -06:00
emoose
bb7c5b8266
[CPU/XEX] Move SecurityInfo conversion code to ReadSecurityInfo & call that during ApplyPatch
2021-01-31 23:18:54 -06:00
Triang3l
9a74df491f
[DXBC] dxbc.h with non-translator-specific parts
2021-01-04 16:15:50 +03:00
emoose
2d9326e02d
[Kernel] Implement XeCryptBnQwNeRsaPubCrypt via BCrypt (win32 only)
2021-01-03 14:38:01 -06:00
emoose
8c11f2a39a
[Kernel] Implement XeCryptBnQw_SwapDwQwLeBe
2021-01-03 14:38:01 -06:00
emoose
4b13ecb752
[Kernel] Implement NtReadFileScatter via adding XFile::ReadScatter
2021-01-03 13:50:34 -06:00
emoose
0400eba274
[Kernel] XFile::Read: add notify_completion param to allow disabling XIOCompletion
2021-01-03 13:50:34 -06:00
Triang3l
86ba17847b
[Base] Hopefully fix Clang template inheritance error
2020-12-31 16:46:25 +03:00
Triang3l
ea9ee0d4ba
[Kernel] Make HDTV gamma the default
2020-12-31 16:14:26 +03:00
Triang3l
37013ee352
[Config] CVar defauls versioning
2020-12-31 16:04:50 +03:00
Triang3l
e7cd2ffffa
[GPU] Clamp scissor to surface_pitch
2020-12-29 11:15:05 +03:00
Triang3l
56d802c323
[GPU] Slightly better shader_compiler_main variable name
2020-12-28 22:09:28 +03:00
Joel Linn
7943702618
Fix rvalue being passed as a reference.
2020-12-28 22:07:00 +03:00
Gliniak
74cb0117cf
[Kernel] WaitForNotification skip wait w/o wait_ticks
2020-12-26 04:57:21 -06:00
Gliniak
ea6969f378
[Kernel] Implemented NtSetIoCompletion
2020-12-26 04:57:21 -06:00
Joel Linn
4e72167c5e
[SDL2] Event handler in separate function
2020-12-26 04:50:27 -06:00
Joel Linn
d3c618404a
[SDL2] Improve GetCapabilities()
2020-12-26 04:50:27 -06:00
Joel Linn
64c5c63eaf
[SDL2] Log controller device events.
2020-12-26 04:50:27 -06:00
Joel Linn
87389e2486
[SDL2] Do not restrict callbacks to window thread
2020-12-26 04:50:27 -06:00
Joel Linn
ddc0cc840a
[SDL2] Allow AUX buttons.
2020-12-26 04:50:27 -06:00
Joel Linn
510c3c320f
[SDL2] Set more hints.
2020-12-26 04:50:27 -06: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
2bc0113dae
[GPU] Add missing override specifier to SPIR-V shader translator
2020-12-25 21:11:43 +03:00
Triang3l
dcde08a493
[GPU] PS and rasterization disabling cleanup
2020-12-24 23:40:38 +03:00
Triang3l
733efa5ff8
[GPU] Add a missing default label to GatherAluResultInformation
2020-12-22 22:29:00 +03:00
Triang3l
c7fbe0e6d5
[GPU] Scale gradients by SSAA factor
2020-12-20 16:35:15 +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
b106aa88e6
[GPU] Complete some register bitfield declarations
2020-12-12 20:01:41 +03:00
Triang3l
e348d6361e
[PPC] Disable frsqrte tests in a way not breaking the rest
2020-12-12 14:00:29 +03:00
Triang3l
da60649202
[D3D12] Fix texture_cache.cc formatting
2020-12-11 21:21:26 +03:00
Triang3l
5c47a3a588
[x64] vcfux single rounding for 0x80000000+
2020-12-11 21:20:13 +03:00
Triang3l
d0b849aad7
[PPC] vcfsx/vcfux: Only mul if needed
2020-12-10 21:34:37 +03:00
Triang3l
cb93ddf873
[PPC] vcfsx/vcfux optimization/simplification
2020-12-10 21:29:33 +03:00
Triang3l
db1d6b1fef
[PPC] Fix test suite name being ignored
2020-12-10 21:27:26 +03:00
Triang3l
040661f366
[D3D12] Fix a lint error in pipeline desc
2020-12-10 21:23:13 +03:00
Triang3l
34c5fc9c2f
[DXBC] ROV: Update a todo comment about early Z
2020-12-10 12:41:29 +03:00
Triang3l
8bcfcf6452
[GPU] Update v_mad_legacy_f32 comment
2020-12-10 12:39:02 +03:00
Triang3l
bc0c2040e2
[DXBC] ROV: Force late Z write with kill instructions
2020-12-10 12:36:37 +03:00
Triang3l
9349cf4ff4
[D3D12] Fix custom sample position reset
2020-12-08 22:43:15 +03:00
Triang3l
b7216f91f7
[D3D12] Re-add forgotten RenderTargetCache::EndFrame call
2020-12-08 22:36:47 +03:00
Triang3l
36a0bcec8b
[GPU] XXH3 hash instead of XXH64
2020-12-08 22:31:09 +03:00
Triang3l
9a4643d0f2
[GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir
2020-12-07 22:31:46 +03:00
Prism Tutaj
a86609e93a
[GTK UI] Fix GTK submenus
2020-12-06 17:26:30 -06:00
Gliniak
06ab8589b4
[Kernel/IO] Return error creating dir as non-dir.
...
[Kernel/IO] Return error when creating directory with non-directory
flag in NtCreateFile.
2020-12-06 17:07:34 -06:00
Triang3l
cadc31c93f
[GPU] Fix uninitialized viewport_top when drawing without a viewport
2020-12-06 15:55:28 +03:00
Gliniak
ff5c5f01e0
[Kernel] Zeroing out pages without write protect flag
2020-12-05 14:18:03 -06:00
gibbed
1513dd235b
[Kernel] Code reentrance for guest fibers.
...
[Kernel] Code reentrance using exceptions for guest fibers.
2020-12-05 14:17:33 -06:00
gibbed
d420215de1
[Kernel] Allow 0 return for MmQueryAddressProtect.
2020-12-05 14:17:19 -06:00
Radosław Gliński
d2cf0167fd
[XAM/User] Added flag for local profile
...
It should fix games where right now there is no profile found.
Example: EA Sports games
2020-12-03 01:21:33 -06:00
Gliniak
c3d48eb2fa
[XAM/Net] Implemented WSASetLastError
2020-11-29 10:48:29 -06:00
gibbed
215f2a340b
[XAM] Ensure items returned is set in enumerate.
...
[XAM] Ensure items returned is set in xeXamEnumerate.
2020-11-29 02:03:44 -06:00
Joel Linn
b30fcbd29a
[HID] Change order to xinput, sdl, winkey
2020-11-28 14:22:50 -06:00
Joel Linn
842ac86b1f
[HID] More modern c++ in SDL backend.
2020-11-28 14:22:50 -06:00
Joel Linn
ff56fbdf46
[HID] Honor `is_active()` in SDL input backend.
2020-11-28 14:22:50 -06:00
Joel Linn
7931dbe180
[HID] `is_active` debugging for hid-demo.
2020-11-28 14:22:50 -06:00
Triang3l
c14e3770a2
Merge branch 'master' into vulkan
2020-11-28 14:54:24 +03:00
gibbed
319699130a
[XAM] Improvement rollup. Content, enumerators...
...
- [Kernel] Create guest object for XEnumerator.
- [XAM] Split content data into host/guest variants.
- [XAM] Correct message return type from RESULT to HRESULT.
- [XAM] Add a new dummy content device for ODD.
- [XAM] Implement XamContentAggregateCreateEnumerator.
- [XAM] Implement XamGetPrivateEnumStructureFromHandle.
- [XAM] Implement XMsgCompleteIORequest (sketchy).
- [XAM] Implement XamGetOverlappedResult (sketchy).
- [XAM] Implement XamTaskSchedule (sketchy).
2020-11-27 14:19:30 -06:00
gibbed
5328b72268
[XAM] Split content device exports to a new file.
2020-11-27 14:19:30 -06:00
gibbed
f8d663cd1e
[XAM] Rename NUI export group.
2020-11-27 14:19:30 -06:00
gibbed
1481735d36
[XAM] Rework how export groups are registered.
2020-11-27 14:19:30 -06:00
gibbed
42b1427087
[XAM] Split enum exports to a new file.
2020-11-27 14:19:30 -06:00
gibbed
326220309b
[x64] Handle constant in LOG2_F32/F64/V128.
2020-11-27 05:34:08 -06:00
gibbed
6c073d3c84
[HID] Add 'is active' checks to winkey input.
...
[HID] Add 'is active' checks to winkey input driver.
2020-11-27 05:23:21 -06:00
gibbed
dd25e69e66
[HID] Pass 'is active' callback to input drivers.
2020-11-27 05:23:21 -06:00
gibbed
f8e6ac4108
Defer XAM UI functions & other improvements.
...
- [Kernel] Fix global locking in kernel dispatch thread.
- [Kernel] Improve CompleteOverlappedDeferred/CompleteOverlappedDeferredEx.
- [XAM] Identify unknowns in XamNotifyCreateListener/XNotifyListener.
- [XAM] Defer XamShowMessageBoxUI.
- [XAM] Defer XamShowKeyboardUI.
- [XAM] Fix cancel handling in XamShowKeyboardUI.
- [XAM] Defer XamShowDeviceSelectorUI.
- [XAM] Defer XamShowDirtyDiscErrorUI.
2020-11-27 05:15:17 -06:00
Triang3l
ce51ee076d
Merge branch 'master' into vulkan
2020-11-26 23:07:12 +03:00
Triang3l
e3a82e1930
[D3D12] Remove leftovers of old resolve code
2020-11-26 23:06:46 +03:00
Triang3l
43d11816b8
Merge branch 'master' into vulkan
2020-11-26 22:28:47 +03:00
Triang3l
d353cade76
[Base] mapped_memory_win: more explicit invalid handle values
2020-11-24 22:49:56 +03:00
Triang3l
a73592c2ef
[Memory/CPU] UWP: Support separate code execution and write memory, FromApp functions + other Windows memory fixes
2020-11-24 22:18:50 +03:00
gibbed
cabd28b9bb
[VFS] Fix handling of remove_all return value.
2020-11-24 02:02:49 -06:00
gibbed
bda31a443e
[VFS] Avoid exception on remove/remove_all.
2020-11-24 00:23:38 -06:00
gibbed
164aa8e8ca
[Kernel] Scope object type enum.
2020-11-22 20:34:07 -06:00
gibbed
bdeae25353
[Kernel] Add comment about Shadowrun bug.
...
[Kernel] Add comment about Shadowrun thread name bug and a bonus lint fix.
2020-11-22 15:49:25 -06:00
Gliniak
a6868d1f8a
[Memory] Removed redundant BaseHeap::IsGuestPhysicalHeap
2020-11-22 15:43:53 -06:00
Gliniak
26b0aa0cc4
[Kernel/Memory] Restrict NtVirtualMemory only to virtual memory range
2020-11-22 15:43:53 -06:00
Gliniak
c071500ff4
[Base] Specify heap type on initialization
2020-11-22 15:43:53 -06:00
Triang3l
2cb7d26d62
[Android] Add a comment about pthreads dynamic loading
2020-11-23 00:42:58 +03:00
Gliniak
aae292aab5
[Kernel/Memory] MmQueryAddressProtect - Check for protect_bits equals 0
2020-11-22 15:40:03 -06:00
gibbed
8749ca2260
[Kernel] Filter thread names from guest.
2020-11-22 14:54:08 -06:00
gibbed
4f25a96928
[Kernel] Overhaul Rtl time functions.
...
- Add date third party submodule.
- [Kernel] Add xclock.
- [Kernel] Reimplement RtlTimeToTimeFields using std::chrono/date/xclock.
- [Kernel] Reimplement RtlTimeFieldsToTime using std::chrono/date/xclock.
- Supersedes #1612 .
2020-11-22 14:48:36 -06:00
Triang3l
4cd84f58cd
Merge branch 'master' into vulkan
2020-11-22 20:06:20 +03:00
Triang3l
63ff758049
[Threading] Android thread naming and other cleanup
2020-11-22 20:03:45 +03:00
Triang3l
31f537968b
Merge branch 'master' into vulkan
2020-11-22 18:50:10 +03:00
Triang3l
aca23c08cf
[Memory] Fix kFileMappingHandleInvalid typos in tests
2020-11-22 18:49:47 +03:00
Triang3l
a39266b71e
[Threading] Android thread termination signal
2020-11-22 18:48:55 +03:00
Triang3l
bc61d1bf40
Merge branch 'master' into vulkan
2020-11-22 16:56:49 +03:00
Triang3l
0ebf073385
[Base] Affinity and yield to sched on Android
2020-11-22 16:56:04 +03:00
Triang3l
a41898d533
Merge branch 'master' into vulkan
2020-11-22 16:37:56 +03:00
Triang3l
9ef7fb62d3
[Memory] Android memory mapping
2020-11-22 16:32:46 +03:00
Triang3l
6822ad0ca2
Merge branch 'master' into vulkan
2020-11-22 14:34:28 +03:00
Triang3l
ec507dc2f6
[Memory] Fix forgotten kFileMappingHandleInvalid
2020-11-22 14:34:09 +03:00
Triang3l
83ba0d8d51
Merge branch 'master' into vulkan
2020-11-22 14:21:21 +03:00
Triang3l
86ae42919d
[Memory] Close shared memory FD and properly handle its invalid value
2020-11-22 14:17:37 +03:00
Sandy Carter
432369ae84
[kernel] Define param order between compilers
...
Fix issue in clang where args were inverted last to first due to the way
c++ implements function calls.
The function make_tuple, being a function, has undefined ordering of
resolution of the values of its parameters `Ps(init)` and would vary
between compilers. Namely clang would resolve them in order and msvc
would resolve them in reverse order.
This normally would not matter except for the fact that init maintains
a mutable state which is affected my the order of operations:
init.ordinal is a counter and also defines where in memory a value is
stored.
The C++ standard doesn't define an order of resolution of parameters in
a function but it will define an order in a brace-initializer.
Switching make_tuple for a brace-initializer enforces an order which is
the same between all compilers (tested gcc, clang and msvc).
Prior code was written to decrement ordinal due to the reverse
traversal.
This has been switched to incrementing thanks to the in-order
traversal.
2020-11-22 13:54:00 +03:00
Sandy Carter
49e194009b
[memory linux] Properly unlink shared memory
...
shm_unlink(name) is the proper way to close a shared memory in linux.
Prior to this, xenia was creating and not cleaning up shared memory handle
which would accumulate in /dev/shm. shm_unlink is the proper way of doing
this.
Add filename to CloseFileMappingHandle signature.
Add simple test to open and close.
2020-11-22 13:54:00 +03:00
Sandy Carter
2c7009ca80
[memory] Move "Local\\" prefix to win impl
...
CreateFileMappingHandle now takes shared memory name without a prefix.
The doc of shm_open recommends not using slashes and prefixing with "/".
The prefixing has been moved to the os implementation layer.
Invocations of CreateFileMappingHandle were all using "Local\\" so these
prefixes were removed.
2020-11-22 13:54:00 +03:00
Sandy Carter
22ef265057
[memory] Add Memory mapping view tests
...
Add test for mapping and for mapping with access.
2020-11-22 13:54:00 +03:00
uytvbn
962b90f699
[Linux] Implement virtual memory allocation
2020-11-22 13:54:00 +03:00
Sandy Carter
5fa59fc4a9
threading_posix: don't delete thread_local thread object
...
Disabling on exit thread delete as it causes an assert fail.
There isn't a leak here because current_thread_ is a thread_local static.
2020-11-21 22:30:43 -06:00
Sandy Carter
aa332dcc8e
threading_posix: Increase stack size in test
...
16 KB is not enough for the linux thread to be spawned so bump up to 16MB
2020-11-21 22:30:43 -06:00
Triang3l
90dcc28281
Merge branch 'master' into vulkan
2020-11-21 23:55:27 +03:00
Triang3l
9f45a1f338
[Base] Use bswap_16/32/64 from byteswap.h on Linux
2020-11-21 23:54:20 +03:00
Triang3l
6288bced48
Merge branch 'master' into vulkan
2020-11-21 22:03:50 +03:00
Joel Linn
923678dad7
[GPU] Add performance counter registers.
...
v3: Document registers referenced by D3D in `gpu.md`.
2020-11-21 21:55:52 +03:00
Joel Linn
f6dc9ad517
[GPU] Skip viz-query geometry (if marked).
...
Document research about viz queries.
v2: Remove viz status unions and move comments to register definitions.
Add contributors to TODOs.
v3: Comment out unused variables.
Add TODO for correctly dropping draw calls with memexport.
Register comment formatting.
2020-11-21 21:55:52 +03:00
Triang3l
b06138b464
[GPU] Disable faceness for rectangles temporarily
2020-11-21 21:52:17 +03:00
Triang3l
48c97dd3b4
[Base] Android and Arm platform defines
2020-11-21 16:26:26 +03:00
Triang3l
6584a2421c
[Vulkan] Faceness-related rasterization state
2020-11-20 23:47:19 +03:00
Triang3l
8b4a52aeed
Merge branch 'master' into vulkan
2020-11-20 23:16:38 +03:00
Triang3l
00a7d1a067
[D3D12] Cleanup rasterizer state
2020-11-20 23:12:12 +03:00
Triang3l
4fab2cc4d3
Merge branch 'master' into vulkan
2020-11-19 23:56:08 +03:00
Triang3l
44a3f200c3
[GPU] Rename PrimitiveTwoFaced to PrimitivePolygonal, add rects to it and ignore fill modes for non-polygons
2020-11-19 23:55:49 +03:00
Triang3l
1e818dca4b
[Vulkan] Include Vulkan Android header and fix some warnings
2020-11-19 11:38:20 +03:00
Triang3l
a94301d967
[Vulkan] Viewport from draw_util and vtx_fmt
2020-11-18 12:48:12 +03:00
Triang3l
c0550bafe9
Merge branch 'master' into vulkan
2020-11-18 12:28:38 +03:00
Triang3l
99bb82fd1c
[GPU] Separate GetHostViewportInfo X and Y bounds
2020-11-18 12:27:36 +03:00
gibbed
49dc0e9c39
[XAM] Rollup of user fixes.
...
- [XAM] Fix XamUserGetXUID type mask handling.
- [XAM] Fix XamGetUserName return values.
- [XAM] Fix XamGetUserName copy size.
- [XAM] Implement XamGetUserGamerTag.
- [XAM] Fix XamUserCheckPrivilege handling of all users.
- [XAM] Stub XamUserGetMembershipTier.
2020-11-17 19:58:30 -06:00
Triang3l
44e4849e1a
Merge branch 'master' into vulkan
2020-11-16 23:17:50 +03:00
Triang3l
b7ba3051f2
[Kernel] Fix null in thread affinity init + ignore affinity when less than 6 cores
2020-11-16 23:15:51 +03:00
Satori
52230fd4e8
[Base] Fix FileLogSink not writing to log file
2020-11-16 14:04:17 -06:00
Triang3l
10d7bcde93
[GPU] Viewport in draw_util with host API flexibility
2020-11-16 23:03:42 +03:00
Satori
b74eac36c7
[Base] Log to stdout by default
2020-11-16 01:52:27 -06:00
Satori
446837edb1
[Base/Win] Add cvars to enable a console window to be shown with xenia
2020-11-16 01:52:27 -06:00
Satori
42b10209fe
[Base] Add support for multiple log sinks in Logger
2020-11-16 01:52:27 -06:00
Sandy
36466231d0
threading test: zero initialize counter
...
The high performance test atomic counters need to be set to zero to have reliable results.
2020-11-16 00:13:14 -06:00
Cancerous
94b9616b3a
[XAM] Raise the size of the dummy HDD to 20GB.
...
- [XAM] Raise the size of the dummy HDD to 20GB.
- [XAM] Rename unknown field to device_type in X_CONTENT_DEVICE_DATA.
2020-11-15 15:04:40 -06:00
Cancerous
ce1a31faad
[Kernel] Set flag 5 in XboxHardwareInfo.
...
[Kernel] Set flag 5 (indicates storage is initialized) in XboxHardwareInfo.
2020-11-15 15:04:40 -06:00
gibbed
362251df0b
[Base] Fix dangling pointer in LaunchWebBrowser.
...
[Base] Fix dangling pointer in LaunchWebBrowser. Fixes #1614 .
2020-11-15 14:36:13 -06:00
gibbed
a4e5c4cecf
[App] Fix dangling ptr in Discord playing update.
...
[App] Fix dangling pointer in Discord playing update. Fixes #1621 .
2020-11-15 13:59:25 -06:00
gibbed
e848a20c23
[Kernel] Allow wildcard filter to end in *.
2020-11-15 13:29:34 -06:00
gibbed
32e8b47a33
[Kernel] Enforce *. in wildcard matching. Supersedes #1675 .
2020-11-15 13:24:06 -06:00
Gliniak
d1f7ee3593
[Audio/XMA] Invalidate output buffer when there is no valid input buffer
2020-11-15 11:31:11 -06:00
Triang3l
91d5ba444a
[Base/Kernel] Add and use truncating null-terminating string copying
2020-11-15 11:27:59 -06:00
Joel Linn
68cf47e245
[threading] Fix Fence for multiple waiting threads
2020-11-15 11:12:05 -06:00
Sandy Carter
d7094fae52
[threading linux] Implement native_handle
...
Move wait implementation to not use native_handle.
Implement native_handle for each primitive using posix natives.
2020-11-15 11:12:05 -06:00
Sandy Carter
e945a13957
[threading linux] Implement suspend count
...
Add suspend count to thread implementation.
Increment suspend count on suspend and decrement on resume.
Wait on suspend count to be decremented to 0.
Return suspend count on suspend and on resume before incr/decr.
Fix naming of resume suspend count to make clear that suspend count is
before incr/decr.
Add test.
2020-11-15 11:12:05 -06:00
Sandy Carter
382dd8860f
[threading] Change thread names to suit pthread
...
Shorten names to 16.
Rename Win32 to Windowing.
Shorten GraphicsSystem thread names due to 16 length limit of pthread.
Without this change, both show up as GraphicsSystem.
Remove redundant "Worker" and "Thread" from names.
Remove redundant thread handle from thread name.
2020-11-15 11:12:05 -06:00
Sandy Carter
a503b6222f
[threads linux] Free and signal suspended threads
...
Give other threads access to initially suspended threads by signalling
conditional variable before waiting for state to be changed again.
2020-11-15 11:12:05 -06:00
Sandy Carter
e11fa0372d
[threading linux] Implement Signal and Wait
...
Add Signal abstract function to handles.
Test SignalAndWait.
2020-11-15 11:12:05 -06:00
Sandy Carter
cb905fb195
[threading] Add complex wait on multiple test
2020-11-15 11:12:05 -06:00
Sandy Carter
e9e269622b
[threading linux] Implement TLS
...
Implement TLSHandle with pthread_key_t.
Test Alloc, Free, Get and Set.
2020-11-15 11:12:05 -06:00
Sandy Carter
634f87f63b
[threading linux] Implement Callback Queuing
...
Add thread local bool for alertable state.
Use real-time event interrupt to run callback.
Fix sleep duration from miliseconds (microseconds / 1000) to seconds in sleep
command.
Add note for future implementation.
Ignore real-time event 37 in .gdbinit which is used to signal callback.
Test AlertableSleep
Test Thread QueueUserCallback.
TODO: Test alerted wait result when using IO functions.
2020-11-15 11:12:05 -06:00
Sandy Carter
4397f25325
[threading linux] Implement suspendable pthreads
...
Use real-time event interrupt to communicate suspend in timely manner.
Use conditional_variable to implement suspend wait and resume trigger.
Ignore real-time event 36 in .gdbinit which is used to signal suspend.
Test suspending threads.
2020-11-15 11:12:05 -06:00
Sandy Carter
b2912e7891
[threading linux] Wait for thread start
2020-11-15 11:12:05 -06:00
Sandy Carter
b91203a0b5
[threading linux] Implement basic Thread function
...
Add Basic Tests on Threads
2020-11-15 11:12:05 -06:00
Sandy Carter
c2de074d5c
[threading linux] Implement Timer
...
Test Manual Reset and Synchronization timers single threaded.
Test Cancelling timers.
Test WaitMultiple.
Ignore real-time event 35 in .gdbinit which is used to signal timer.
Callbacks don't seem to be called so testing them is difficult.
2020-11-15 11:12:05 -06:00
Sandy Carter
331bb0ea9a
[threading linux] Implement Mutant
...
Keep track of recursive locks with owner and count of locks.
Only allow recursive locks from same thread and increment count.
Only allow first locks from when count is zero.
Test acquiring and releasing mutant on same and on different threads.
Test Release return values.
Test WaitAll and WaitAny.
2020-11-15 11:12:05 -06:00
Sandy Carter
5d0efedaf4
[threading linux] Implement Semaphore
...
Test acquiring and releasing semaphores on same and on different threads.
Test previous_count values.
Test WaitAll and WaitAny.
Add tests for invalid semaphore creation parameters but disactivated as
they do not pass on any platform. These should be enabled and the
implementations fixed to match documentation.
2020-11-15 11:12:05 -06:00
Sandy Carter
75d54e2fa2
[threading linux] Make PosixCondition base class
...
Add PosixConditionBase as base class for Waitables to use common
primitives mutex and conditional variable
Add abstract signaled() and post_execution() to use single WaitMultiple
implementation.
2020-11-15 11:12:05 -06:00
Sandy Carter
6e13a38cad
[threading linux] Implement WaitMultiple
...
Make conditional_variable and mutex static and create generalisation of
Wait for vector of handles.
Use std::any for waitany and std::all for waitall
2020-11-15 11:12:05 -06:00
Sandy Carter
4ce9eddfb9
[threading] Test WaitAll and WaitAny with Events
2020-11-15 11:12:05 -06:00
Sandy Carter
9d20adfa77
[threading linux] Implement Events
...
Remove file-descriptor specific wait implementation to PosixFdHandle class
which breaks on waits of non-fd handles.
Replace with PosixConditionHandle and extend to support auto reset and
initial values.
Simplify mutex and conditional variable use with stdlib versions which
wrap these primitives but provide better C++ interface.
Test Event and Reset
2020-11-15 11:12:05 -06:00
Sandy Carter
f9d708265f
[threading linux] Fix events with closed handles
...
Linux: Remove copy and destroy call in make_unique invokation which closes
handles on all events.
Testing: Add Wait test for Events set and unset.
2020-11-15 11:12:05 -06:00
Sandy Carter
4280a6451d
[threading] Simplify and test Fence
...
Remove atomic boolean in fence. Variable signaled_ is already protected
by mutex.
Remove wait loop with single predicate wait protected with mutex.
Add Fence Signal and Wait tests
Test signaling without waiting.
Test signaling before waiting.
Test signaling twice before waiting.
Test synchronizing threads with fence.
Few REQUIRES were used to test as there are no return codes.
A failing test may hang indefinitely or cause a segfault which would still
register as a fail.
2020-11-15 11:12:05 -06:00
Sandy Carter
b5ea686475
[threading] Implement Posix HighResolutionTimer
...
Implement HighResolutionTimer for Posix by using native timers.
Callbacks are triggered with realtime interrupts if they are supported.
Create an enum to track user-defined interrupts as well as an initializer and
handler to register these interrupts per thread.
Add test cases for timers for both single and multiple.
Fix Sleep function to continue sleeping if interrupted by system.
Add local .gdbinit to ignore signal 34 which is used by high res timer
2020-11-15 11:12:05 -06:00
Sandy Carter
d8d8a7dbb8
[threading linux] Fix nanosleep using microseconds
...
Add Sleep Test for 50ms.
Fix Sleep under linux that was using microseconds as nanoseconds.
Factor timespec creation to template function using div/mod and nanoseconds
from duration cast.
2020-11-15 11:12:05 -06:00
Sandy Carter
6c79c93f2b
[threading] Add basic threading tests
...
Test logical_processor_count() 3 times to test static return value stays
correct.
Run EnableAffinityConfiguration(). No asserts possible.
Test setting thread id, test using uint32_t max to reset.
Test setting thread name. No asserts possible.
Test running MaybeYield(). No obvious more complex test case.
Test running SyncMemory(). No obvious more complex test case.
2020-11-15 11:12:05 -06:00
Triang3l
c2e8d23139
[Vulkan] Scissor from draw_util
2020-11-15 17:26:41 +03:00
Triang3l
791326ff9b
Merge branch 'master' into vulkan
2020-11-15 16:34:53 +03:00
Triang3l
56a07c1773
[GPU] Scissor in draw_util
2020-11-15 16:34:23 +03:00
Triang3l
715d614f5e
[Vulkan] Float controls properties
2020-11-15 15:08:50 +03:00
Triang3l
8febf02a39
Merge branch 'master' into vulkan
2020-11-15 14:06:15 +03:00
Joel Linn
06214c544a
[CPU] std::sort compare: satisfy comp(a,a)==false
2020-11-14 13:30:06 -06:00
Joel Linn
8b1ebe1130
Premake: Reorder links to speed up building.
...
- Re-enable LTO on clang.
- Set AR on travis so it builds with LTO.
2020-11-14 13:30:06 -06:00
Sandy Carter
e348cacc6d
[debugging linux] Implement functions
...
Check TracerPid in /proc/self/status for attached debugger.
Add SIGTRAP handler to prevent signal from halting app while not running
in a debugger.
Log DebugPrint in clog (stderr).
2020-11-14 13:17:15 -06:00
Radosław Gliński
f8d7652dc4
[Kernel] Remove remaining SHIM usage from xam_net ( #1671 )
2020-11-14 19:30:56 +03:00
Triang3l
a319617185
[Kernel] Thread affinity cleanup
2020-11-14 18:09:47 +03:00
Gliniak
2dc6b0b2ad
[Kernel/Thread] Added missing paramteter to KeSetAffinityThread
2020-11-14 17:48:30 +03:00
Triang3l
fe9b5b4a8f
[D3D12] Cleanup: remove inline
2020-11-14 17:02:09 +03:00
Triang3l
6b988d43c7
[D3D12] Cleanup: pipeline state -> pipeline, other things
2020-11-14 16:43:18 +03:00
Triang3l
0ec215a8a0
Merge branch 'master' into vulkan
2020-11-14 14:17:54 +03:00
Triang3l
65c8d2b28e
[Vulkan] Basic draw call architecture + [D3D12] Some cleanup
2020-11-14 14:16:04 +03:00
Gliniak
87a3c5fac2
[GPU] Added Stub for Packet: PM4_WAIT_FOR_IDLE
2020-11-10 22:48:00 +03:00
Triang3l
08c50af7b8
Merge branch 'master' into vulkan
2020-11-08 19:51:49 +03:00
Triang3l
e196edc989
[Base] Use the original XEPACKEDSTRUCT/UNION names on MSVC
2020-11-08 19:41:41 +03:00
Triang3l
93f6a00201
[Vulkan] Transient descriptor pool + other cleanup for future drawing
2020-11-07 23:18:28 +03:00
Triang3l
afe304b328
[Vulkan] Shared memory descriptor set
2020-11-07 20:43:45 +03:00
Triang3l
d7341f9873
[Vulkan] Internal descriptor set layouts
2020-11-07 14:03:31 +03:00
Triang3l
8ef538a68f
Merge branch 'master' into vulkan
2020-11-06 13:00:56 +03:00
Triang3l
6ac4d3e0c9
[DXBC] Fix texture binding reference use-after-grow
2020-11-06 13:00:22 +03:00
Triang3l
d926e37f95
[SPIR-V] vfetch: packed formats
2020-11-05 23:49:39 +03:00
Triang3l
45d3dc4806
[SPIR-V] vfetch: 16-bit float
2020-11-05 21:49:36 +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
6030a4cf72
[SPIR-V] Add missing EnsureBuildPointAvailable in ALU
2020-11-02 12:17:47 +03:00
Triang3l
de8b0a85ac
[SPIR-V] Remaining scalar ALU instructions
2020-11-01 22:30:05 +03:00
Triang3l
cb35aaf13b
[SPIR-V] Scalar kill instructions
2020-11-01 22:22:34 +03:00
Triang3l
7512560416
[SPIR-V] SALU address and predicate
2020-11-01 22:17:12 +03:00
Triang3l
0f6aff6f74
[SPIR-V] Unary math functions
2020-11-01 21:48:14 +03:00
Triang3l
d466ebbbe1
[SPIR-V] Scalar ALU comparison and simple unary
2020-11-01 21:12:09 +03:00
Triang3l
06b47d1df0
[SPIR-V] Scalar addition and multiplication
2020-11-01 20:42:59 +03:00
Triang3l
fd4ba5622a
[SPIR-V] Cube: multiply the major axis by 2
2020-11-01 15:56:51 +03:00
Triang3l
c173ecc4ef
[SPIR-V] Remaining VALU instructions
2020-11-01 15:45:26 +03:00
Triang3l
d9f57c1ad8
[SPIR-V] Max4
2020-11-01 13:12:31 +03:00
Triang3l
b32ca5fb4f
[SPIR-V] Cube vector instruction
2020-10-31 21:42:51 +03:00
Triang3l
0949fac826
[SPIR-V] Dot product
2020-10-31 20:15:01 +03:00
Triang3l
06502d80d9
[SPIR-V] Vector max/min, comparison, unary
2020-10-31 19:15:00 +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
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
4dba2d8d89
[SPIR-V] Operand loading
2020-10-27 22:48:47 +03:00
Triang3l
de059f3d57
Merge branch 'master' into vulkan
2020-10-27 21:03:40 +03:00
Triang3l
9bbe4365d1
[GPU] Fix adaptive quad tessellation inside factors
2020-10-27 21:01:55 +03:00
gibbed
2b8f347b0b
[XAM] Stub xuids usage xeXamUserReadProfileSettingsEx.
...
[XAM] Stub valid xuids usage xeXamUserReadProfileSettingsEx.
2020-10-26 16:07:37 -05:00
Gliniak
10db913ca2
[Kernel/Xam] XNotifyGetNext - Overall improvements
2020-10-26 15:43:51 -05: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
a5410ada01
Merge branch 'master' into vulkan
2020-10-25 19:50:52 +03:00
Triang3l
445d78452f
[DXBC] Pop aL on loop end
2020-10-25 19:50:24 +03:00
Triang3l
fdbed73463
[Vulkan/SPIR-V] Some pipeline layout parts + exec conditionals
2020-10-25 15:09:39 +03:00
Triang3l
972d66d835
Merge branch 'master' into vulkan
2020-10-19 23:03:57 +03:00
Triang3l
ca9086f3ba
[GPU] Add a comment about non-positive tessellation factors
2020-10-19 23:02:20 +03:00
Triang3l
21726436b9
Merge branch 'master' into vulkan
2020-10-18 22:14:23 +03:00
Triang3l
9081046e7b
[D3D12] Remove SRV[unbounded] and UAV overlap in bindless root sig
2020-10-18 22:09:08 +03:00
Triang3l
afcf3c27c0
[Vulkan] Per-frame swapchain semaphores
2020-10-18 19:23:34 +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
ae7d5a1b05
Merge branch 'master' into vulkan
2020-10-14 21:23:29 +03:00
Triang3l
fd18a97f3a
[GPU] Shaders: Make label_addresses accessible to translators
2020-10-14 21:19:33 +03:00
Triang3l
b3339d7e46
[SPIR-V] Some initial bits of the translator
2020-10-11 20:22:15 +03:00
Triang3l
9d77d2131a
Merge branch 'master' into vulkan
2020-10-08 23:09:12 +03:00
Triang3l
7e9e37bd09
[DXBC] Remove dxbc_source_map cvar export
2020-10-08 23:08:40 +03:00
Triang3l
d572e878af
[Vulkan] Remove FinalizeTrace
2020-10-08 23:06:02 +03:00
Triang3l
4862075976
[Vulkan] Cleanup and update SPIR-V dependencies
2020-10-08 23:05:30 +03:00
Triang3l
2782fc927d
Merge branch 'master' into vulkan
2020-10-08 21:38:41 +03:00
Triang3l
81bc33523a
[GPU] Remove unused FinalizeTrace
2020-10-08 21:37:29 +03:00
Triang3l
89ac9294bf
[Vulkan] Shared memory trace download
2020-10-07 23:19:30 +03:00
Triang3l
afcd01def5
Merge branch 'master' into vulkan
2020-10-07 23:18:08 +03:00
Triang3l
603150af64
[D3D12] Minor shared memory cleanup
2020-10-07 23:16:15 +03:00
Triang3l
4d59f556a9
[Vulkan] Sparse shared memory
2020-10-07 21:03:50 +03:00
Triang3l
fee2189d39
Merge branch 'master' into vulkan
2020-10-06 22:36:16 +03:00
Triang3l
b91c24870b
[D3D12] Remove await result check in trace init - unsafe too, but not leaking
2020-10-06 22:35:43 +03:00
Triang3l
e15c891656
Merge branch 'master' into vulkan
2020-10-06 21:54:52 +03:00
Triang3l
19121130a3
[GPU] SharedMemory: common sparse memory allocation
2020-10-06 21:32:44 +03:00
Triang3l
2c50c670d8
[Vulkan] Basic shared memory uploading
2020-10-04 22:08:30 +03:00
Triang3l
1fd0d48066
Merge branch 'master' into vulkan
2020-10-04 21:54:32 +03:00
Triang3l
75bf2d3c7d
[D3D12] Minor deferred command list refactoring
2020-10-04 21:53:52 +03:00
Triang3l
81ee7b4c39
[D3D12] Minor FINE_GRAINED_DRAW_SCOPES refactoring
2020-10-04 21:49:10 +03:00
Triang3l
c02534e5cf
Merge branch 'master' into vulkan
2020-10-03 16:16:05 +03:00
Triang3l
e0916be5cd
[D3D12] Remove SHM EnsureTilesResident declaration
2020-10-03 16:15:25 +03:00
Triang3l
9f404090d3
[GPU] Split SharedMemory into common and D3D12
2020-10-03 16:13:17 +03:00
Triang3l
2acf2ce041
Merge branch 'master' into vulkan
2020-10-03 14:15:11 +03:00
Triang3l
6cb8f0aab4
[D3D12] Nicer DeferredCommandList uintmax_t alignment
2020-10-03 14:12:30 +03:00
Triang3l
bc1cbd042e
[Vulkan] Swapchain pass dependencies
2020-10-03 13:13:33 +03:00
Triang3l
865f77bae2
[Vulkan] Submissions
2020-10-01 21:17:10 +03:00
Triang3l
0fcf322565
Merge branch 'master' into vulkan
2020-09-29 21:18:10 +03:00
Triang3l
1014458783
[D3D12] Only await submission fence in one place
2020-09-29 21:17:20 +03:00
Triang3l
9d4e50c5d2
Merge branch 'master' into vulkan
2020-09-28 21:09:49 +03:00
Triang3l
0156d3ef26
[D3D12] Await UpdateTileMappings when syncing with the GPU
2020-09-28 12:16:09 +03:00
Triang3l
377a8d790d
Merge branch 'master' into vulkan
2020-09-27 16:43:33 +03:00
Triang3l
c2e8c5554d
[UI] Replace ImmediateTexture handles with pointers + small cleanup
2020-09-27 16:30:53 +03:00
Triang3l
f5f8714c3f
[D3D12] Delayed ImmediateTexture releasing
2020-09-27 16:21:14 +03:00
Triang3l
9f8c45c4e6
[Vulkan] Add forgotten delayed ImmediateTexture deletion
2020-09-27 15:55:55 +03:00
Triang3l
d78b2a9a93
[Vulkan] Use move instead of release to return ImmediateTexture
2020-09-27 15:42:55 +03:00
Triang3l
183269ba16
[Vulkan] Delayed ImmediateTexture destruction
2020-09-27 15:06:10 +03:00
Triang3l
886129cefa
[Vulkan] Immediate drawer textures
2020-09-26 22:10:02 +03:00
Triang3l
53adafa156
Merge branch 'master' into vulkan
2020-09-26 22:08:02 +03:00
Triang3l
d437555036
[UI] Remove immdraw restrict_texture_samples + cleanup
2020-09-26 22:06:04 +03:00
Triang3l
18031a8f6d
[D3D12] Immdraw texture upload leak fix + cleanup
2020-09-26 18:36:31 +03:00
Triang3l
c218d6dc10
[D3D12] Move D3D12ImmediateTexture to D3D12ImmediateDrawer
2020-09-21 23:15:51 +03:00
Triang3l
dfeeb959c3
[D3D12] Swap R/B in Capture
2020-09-21 21:56:30 +03:00
Triang3l
7ba2126b2f
Merge branch 'master' into vulkan
2020-09-20 20:40:11 +03:00
Triang3l
fc55b1f81d
[UI] Remove pass-unfriendly UpdateTexture of ImmediateDrawer
2020-09-20 20:34:22 +03:00
Triang3l
6a903192c3
[Vulkan] Set immdraw scissor only when changed
2020-09-20 15:33:18 +03:00
Triang3l
6cb33c1073
Merge branch 'master' into vulkan
2020-09-20 15:18:23 +03:00
Triang3l
183c7eee2b
[D3D12] Various refactoring mostly on the immediate drawer side, cache immdraw scissor, force stretch alpha to 1
2020-09-20 15:15:08 +03:00
Triang3l
229eb49b54
[Vulkan] Untextured ImmediateDrawer, [D3D12] Small refactoring
2020-09-19 18:05:54 +03:00
Triang3l
36347ffedd
[D3D12] Fix Vulkan branch merge error
2020-09-18 21:26:24 +03:00
Triang3l
a53a5217a3
Merge branch 'master' into vulkan
2020-09-18 21:25:34 +03:00
Triang3l
6ba0620b10
[UI] Fix build error due to undeclared size_t
2020-09-18 21:20:37 +03:00
Gliniak
ba565c3403
[Kernel/Usbcam] XUsbcamCreate
...
- Provided description to some parameters
- Provided description what function more/less should do
- Changed return code based on game behaviour
2020-09-17 23:14:33 +03:00
Triang3l
5c291d0589
[D3D12] Remove unneeded code things from pools
2020-09-17 22:55:16 +03:00
Triang3l
3236d0ae75
[D3D12] Fix DescriptorHeapPool closing comment
2020-09-17 22:01:41 +03:00
Triang3l
1ebd0067f0
[Vulkan Old] Fix build error caused by constexpr countof
2020-09-17 21:51:44 +03:00
Triang3l
1a2462efc2
Merge branch 'master' into vulkan
2020-09-17 21:41:45 +03:00
Triang3l
7c2245bb94
[UI] Remove GraphicsUploadBufferPool double include
2020-09-17 21:39:11 +03:00
Triang3l
189a38826f
[UI] UploadBufferPool common code
2020-09-17 21:37:44 +03:00
Triang3l
26b01e9c31
Merge branch 'master' into vulkan
2020-09-15 23:22:17 +03:00
Triang3l
2cebd3cabe
[D3D12] Unify UploadBufferPool page size (2 MB), add alignment parameter
2020-09-15 22:13:53 +03:00
Triang3l
dfbe36a8aa
[UI/D3D12] Small refactoring, allow BeginSwap to return false if no surface
2020-09-14 23:27:19 +03:00
Triang3l
203bf64d88
[Vulkan] Context, remove Volk
2020-09-13 17:51:00 +03:00
Triang3l
dfa181a529
[Vulkan] Provider init, Android platform defines
2020-09-06 22:08:36 +03:00
Triang3l
df1db5c627
[D3D12] Make the feature list in the log sorted again
2020-09-06 22:08:36 +03:00
Triang3l
fed33be62b
[D3D12] Non-zeroed heaps on 2004
2020-09-06 22:08:36 +03:00
Triang3l
46cd281cd3
[GPU] Rename present_stretch to present_rescale
2020-09-06 22:08:36 +03:00
Triang3l
3daa899feb
[DXBC] ROV: Fix depth being overwritten if stencil failed
2020-09-06 22:08:36 +03:00
Triang3l
524201eca4
[GPU/D3D12] Letterboxing cropping to action-safe area
2020-09-06 22:08:36 +03:00
Triang3l
b3c2e2aee6
[Memory] Fix Protect range calculation
2020-09-06 22:08:36 +03:00
Triang3l
acb1fc059f
[D3D12] Make the feature list in the log sorted again
2020-09-06 00:57:00 +03:00
Triang3l
38e0cc4941
[D3D12] Non-zeroed heaps on 2004
2020-09-06 00:52:30 +03:00
Triang3l
b3f84f4a9c
[GPU] Rename present_stretch to present_rescale
2020-09-05 19:34:36 +03:00
Triang3l
74804ae710
[DXBC] ROV: Fix depth being overwritten if stencil failed
2020-09-05 19:23:45 +03:00
Triang3l
0be0eb2b38
[GPU/D3D12] Letterboxing cropping to action-safe area
2020-09-05 17:47:32 +03:00
Triang3l
52efbcf741
[Memory] Fix Protect range calculation
2020-09-01 12:44:37 +03:00