Anthony
a7bc6a307d
fixup remove unused variable
2023-11-11 01:08:34 +13:00
Anthony
7ad047bcea
reduce crashing if the shaders are broken and get hotloaded
2023-11-11 01:08:34 +13:00
Anthony
0f21e25d7d
Support hotloading pixelshaders
2023-11-11 01:08:34 +13:00
Anthony
79884bdf3d
Move shader hlsl management into Shader.cpp
...
- g_ShaderHlsl keeps track of hlsl
- VS and PS source their hlsl from g_ShaderHlsl
2023-11-11 01:08:34 +13:00
Anthony
260e2fb7c8
Ensure filewatcher is closed if something goes wrong
...
and avoid creating multiple watchers
2023-11-11 01:08:34 +13:00
Anthony
4d221c3c81
tidy vertex shader loading
2023-11-11 01:08:34 +13:00
Anthony
712d3bee2f
move passthrough shader to a file
2023-11-11 01:08:34 +13:00
Anthony
3cd551d827
Reload/recompile vertex shaders hlsl if they change
2023-11-11 01:08:34 +13:00
Anthony
397f33143d
Rename VertexShaderSource to VertexShaderCache
...
because it was a weird name
2023-11-11 01:01:04 +13:00
Luke Usher
c3f52e33cc
chihiro: prevent JVS register updates from being missed due to long delays
...
This really needs a better solution, but for now, this will do.
2023-10-29 11:37:44 +01:00
Luke Usher
78f7e097d5
chihiro: emulate a chihiro system when boot.id is present
2023-10-29 11:37:44 +01:00
Luke Usher
30e00d8f24
chihiro: fix an issue where media board detection failed due to instant response time
2023-10-29 11:37:44 +01:00
RadWolfie
04ce11fd87
Cleanly rebase chihiro-work on develop
...
Co-authored-by: Luke Usher <luke.usher@outlook.com>
Co-authored-by: wutno <aaron@installgentoo.net>
Co-authored-by: RadWolfie <RadWolfie@users.noreply.github.com>
2023-10-29 11:37:44 +01:00
ergo720
c7e75d7c5c
Merge pull request #2432 from Margen67/ci
...
CI: Upgrade checkout to v4
2023-10-21 16:19:43 +02:00
NZJenkins
4808be65c4
Slightly reduce build time ( #2437 )
2023-10-16 08:51:56 +02:00
Margen67
def10ff466
CI: Upgrade checkout to v4
2023-09-20 01:28:42 -07:00
Luke Usher
e1ea10c4cb
Merge pull request #2428 from jackchentwkh/fix_pushbuffer_subroutine
...
fix COMMAND_TYPE_CALL pushbuffer command handling
2023-09-03 21:45:52 +01:00
Jack Chen
67f21d5c30
reset subr_active flag to indicate we've returned from any COMMAND_TYPE_CALL command.
...
NV2A used COMMAND_TYPE_JUMP_LONG to return from COMMAND_TYPE_CALL.
Otogi uses lot's of COMMAND_TYPE_CALL, this should inprove the pushbuffer handling.
2023-09-03 20:42:07 +08:00
PatrickvL
971318a89a
Merge pull request #2426 from Margen67/ci
...
CI: Fix output
2023-07-27 13:56:36 +02:00
Margen67
b62d39da7d
CI: Fix output
...
set-output is deprecated: https://github.blog/changelog/2023-07-24-github-actions-update-on-save-state-and-set-output-commands/
2023-07-25 16:46:37 -07:00
ergo720
7563dd3ecf
Never change the thread priority on the host and the disable boost flag too
...
This fixes almost all the games that were broken in this branch
2023-04-05 17:48:31 +02:00
ergo720
32ec4ee6f9
Use a DPC for expired timers + don't execute NV2A DPCs from the timer thread to avoid the exception overhead
2023-04-01 19:17:20 +02:00
ergo720
e89b5b2130
Fixed an issue in WaitApc where the wait block was not removed when using a zero timeout or when satisfied by a user APC + properly lock the wait block operations to avoid a race between SatisfyWait and KiTimerExpiration
2023-03-31 15:53:28 +02:00
ergo720
709108b045
Implemented PTIMER alarm interrupt of NV2A + fixed a bug in timer_init
...
This fixes DOAU showing the dirty disk error in PAL50 mode
2023-03-28 17:59:11 +02:00
ergo720
ccd77fcf4d
Fixed wrong nv2a clock frequency
...
This is accessed by DOAU via PTIMER only in PAL50 mode
2023-03-26 21:26:30 +02:00
ergo720
ea1657018f
Fixed a bug in KeTickCount + check all timer indices when we are late in KiClockIsr
...
This almost completely fixes the slowness in Panzer Dragoon Orta
2023-03-23 01:54:45 +01:00
ergo720
ac31523b09
Make sure to reset WaitStatus when a new wait starts
...
This fixes an issue in Panzer Dragoon Orta, where KeDelayExecutionThread would return X_STATUS_TIMEOUT | X_STATUS_USER_APC
2023-03-22 21:42:34 +01:00
ergo720
680340f53d
Make sure that GetNativeHandle succeeds before attempting to get the native handle
...
This fixes a sporadic crash in Panzer Dragoon Orta, where the title calls KeSetBasePriorityThread on a thread that has already terminated
2023-03-22 20:51:21 +01:00
ergo720
c292874487
Fixed a bug in KiInsertTimerTable + log all objects being waited on in NtWaitForMultipleObjectsEx
...
This fixes a crash in Metal Slug 3
2023-03-22 12:17:00 +01:00
ergo720
9238ae3f81
Account for partial milliseconds in KiClockIsr
...
This fixes the slowness in The lord of the rings: the third era
2023-03-22 12:17:00 +01:00
ergo720
e454e901cc
Fixed a race condition in WaitApc + removed wrong InsertTailList for ktimers used during a timeout
...
This fixes almost all broken games in this branch. Still broken: PDO: 1 fps vs 10 fps, DOA3: freezes after title screen, Lord of the rings The third era: Unable to determine default Xbox backbuffer error???
2023-03-22 12:17:00 +01:00
ergo720
253c198421
Always create a wait object even when we satisfy the wait on the host side + fixed a bug in KiWaitTestNoYield
...
This fixes an occasionl freeze in Steel Battalion + the slowness in JSRF
2023-03-22 12:16:59 +01:00
ergo720
8cefa8ba8f
Revert to using the host to do thread suspension
2023-03-19 23:01:44 +01:00
ergo720
c3b3a1b107
Hack: <= thread priority instead of >=
2023-03-19 23:01:43 +01:00
ergo720
745f450a6c
Setup a KTIMER for the other functions using WaitApc too
2023-03-19 23:01:43 +01:00
ergo720
fad4120841
Restore single interrupt loop in update_non_periodic_events
2023-03-19 23:01:43 +01:00
ergo720
9e3873d1df
Place nvnet in its own thread
2023-03-19 23:01:43 +01:00
ergo720
7dc2ac080f
Use get_now directly in system_events instead of qpc
2023-03-19 23:01:43 +01:00
ergo720
5d510752e6
Adjust KeSystemTime when the host system time is changed by the user
2023-03-19 23:01:42 +01:00
ergo720
b72cfaa909
Account for delays between calls to KiClockIsr
...
This fixes the slowness in the dashboard
2023-03-19 23:01:42 +01:00
ergo720
32b4393085
Raise priority of system events thread
2023-03-19 23:01:42 +01:00
ergo720
4ea6ecd247
Removed delta amount added to KeSystemTime
2023-03-19 23:01:42 +01:00
ergo720
c828d586db
Fixed thread order initialization when a thread starts suspended
2023-03-19 23:01:41 +01:00
ergo720
d1c9883604
Make sure to hold the DPC lock until the DPC list has been emptied
...
This fixes a crash in Lord of the rings: The fellowship of the ring
2023-03-19 23:01:41 +01:00
ergo720
f52e261c4a
Implemented kernel unwait routines + updated/fixed KeWaitForMultipleObjects and KeWaitForSingleObject
2023-03-19 23:01:41 +01:00
ergo720
e323ad50b5
Only change the priority of a thread if it is being set above normal
2023-03-19 23:01:41 +01:00
ergo720
b1ee59fab2
Unpatch D3DDevice_BlockUntilVerticalBlank and D3DDevice_SetVerticalBlankCallback
2023-03-19 23:01:40 +01:00
ergo720
6e63ecd7cc
Avoid triggering multiple gpu interrupts outside the vblank
2023-03-19 23:01:40 +01:00
ergo720
c349fbbc00
Moved position of ObfDereferenceObject in NtSuspendThread
2023-03-19 23:01:40 +01:00
ergo720
d8ae1892b4
Removed scaling hack in KeInterruptTime and KeTickCount + added yield in system_events routine
...
This fixes the stuttering in Halo 2, Metal slug 3, JSRF and restores PDO, PSO to the same state as in master
2023-03-19 23:01:39 +01:00