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