Commit Graph

4067 Commits

Author SHA1 Message Date
PatrickvL ae8a008948 NV2A : Initialize OpenGL context before creating NV2A hardware device (because that reaches pgraph_init(), which asserts on glGetIntegerv(GL_MAX_VERTEX_ATTRIBS) 2018-02-19 13:54:32 +01:00
PatrickvL 738a556dc1 NV2A : Made (still disabled) COMPILE_OPENGL path compile 2018-02-19 12:09:11 +01:00
PatrickvL 52f936611b NV2A : Copy over more nv2a code from OpenXbox/Xqemu 2018-02-19 10:58:26 +01:00
Luke Usher b2fc99e053
Merge pull request #928 from RadWolfie/fix-hash-update
Fix visual update for RCT title
2018-02-19 06:32:26 +00:00
RadWolfie 03f9ce12b5 Fix visual update for RCT title
Other titles does not appear to have any fps impact except for Dino
Crysis 3 (it goes away after couple seconds though).
2018-02-18 20:20:42 -06:00
PatrickvL d6fc60f4c0
Merge pull request #925 from Fisherman166/eeprom_handling
EEPROM improvements for issue #198
2018-02-18 23:21:30 +01:00
Luke Usher 78a1a68b47
Merge pull request #926 from PatrickvL/nv2a_pgraph
Kernel test suite fixes
2018-02-18 12:19:52 +00:00
PatrickvL 49c2ea5120
Merge pull request #927 from PatrickvL/vertex_patching_fix
Avoid accessing uninitialized vertex stream patches
2018-02-18 12:44:35 +01:00
patrickvl cc3d56dc6a kernel : NtFreeVirtualMemory returns STATUS_INVALID_PARAMETER when BaseAddress isn't valid 2018-02-18 12:34:09 +01:00
patrickvl 946bb792ec X86 : Handle MOVSX instruction 2018-02-18 12:18:47 +01:00
patrickvl 5e8126a6f7 Avoid accessing uninitialized vertex stream patches 2018-02-18 11:56:53 +01:00
patrickvl 013093a680 NV2A : Fixed pgraph_lock'ing, so nxdk-compiled "Xbox kernel test suite" runs through pb_init() and pb_show_debug_screen(), reaching the first print ("Kernel Test Suite")! 2018-02-18 11:18:51 +01:00
Fisherman166 d0aaecb4ed Improvements for issue #198. Calculate eeprom Section CRC checksum on write. Run data checksum on eeprom read. Add plumbing for thread safety in eeprom reads/writes 2018-02-17 20:28:10 -08:00
PatrickvL c6a031f3fe
Merge pull request #924 from LukeUsher/vertex-buffer-leask
Fix Vertex buffer leaking
2018-02-17 21:02:30 +01:00
Luke Usher 0007be54d9 Add TODO to Vertex Size limit hack 2018-02-17 12:04:00 +00:00
Luke Usher 4ed3d78db4 Fix an oversight in the previous commit, causing hashing to work incorrectly 2018-02-17 12:04:00 +00:00
Luke Usher a2f727f0a1 Update xxHash to use Hardware CRC32C if available 2018-02-17 12:03:59 +00:00
Luke Usher ff514d82ee Should these really have been fatal errors? 2018-02-17 12:01:21 +00:00
Luke Usher 2eb5455048 Introduce EmuFS_RefreshKPCR
This is used to validate that the KPCR is valid, and force generation of one, if by some accident, a thread is created without one.

This function can possibly be re-used later for updating thread-specific fields where required too.
2018-02-17 12:01:21 +00:00
Luke Usher 99ed0600fb Fix a crash in TrueType font XDK sample.
- TODO: How/when do we copy writes back to the host backbuffer?
2018-02-17 12:01:21 +00:00
Luke Usher 2300dabe40 Remove some Debugging code 2018-02-17 12:00:30 +00:00
Luke Usher 2cb153fd82 Better explain the VertexBuffer size nasty hack and why it is needed, and what needs to happen before it can be removed. 2018-02-17 12:00:30 +00:00
Luke Usher 9438893ce1 Fix the Dolphin XDK sample 2018-02-17 12:00:30 +00:00
Luke Usher dc586f8509 Disable a few warnings that are not essential 2018-02-17 12:00:30 +00:00
Luke Usher cf781e94d5 Fix HUD in Sonic Heroes E3 Demo 2018-02-17 12:00:29 +00:00
Luke Usher 1f7075dbff Don't create unnecessary host vertex buffers 2018-02-17 12:00:29 +00:00
Luke Usher 0382400ef0
Merge pull request #921 from PatrickvL/kernel_rtl
Kernel Rtl
2018-02-17 11:59:55 +00:00
PatrickvL 7ebb492999 Kernel : Rtl indenting cleanup 2018-02-17 11:56:31 +00:00
PatrickvL 7e78691d0d Kernel : Removed NtDll namespace from files that don't use it 2018-02-17 11:56:31 +00:00
PatrickvL e15045edcb Kernel : Replaced NtDll usage in all (but one) Rtl* functions by actual implementations, from various sources (OpenXbox, Wine, ReactOS) 2018-02-17 11:56:31 +00:00
PatrickvL 451dae5987 Kernel : Move Ki* symbols to own files 2018-02-17 11:56:31 +00:00
Luke Usher 52679b9fac
Merge pull request #923 from PatrickvL/NV2A_Split
NV2A split
2018-02-17 11:49:59 +00:00
PatrickvL 5e72586c1b Kernel : Cleaner output for DbgPrint() 2018-02-16 11:38:10 +01:00
PatrickvL 83fcfd8114 Kernel : Log IRQ level as string too. 2018-02-16 11:38:06 +01:00
PatrickvL 55a764ce52 NV2A : Log NV2A messages in similarly to other logging 2018-02-16 11:38:02 +01:00
PatrickvL 00e95be25d Kernel : Start thread at PASSIVE_LEVEL IRQ level initially (turned up as an RtlAssert warning when running a debug build of the CreateDevice XDK sample) 2018-02-16 11:37:57 +01:00
PatrickvL 53154a84dc NV2A : Fixed hanging PFIFO (all that was needed, was to lock cache_lock at the start of the while loop in pfifo_puller_thread).
Alas, this isn't the end of it, as now LLE ends up calling KeWaitForSingleObject on never ending repeat.
2018-02-16 11:37:53 +01:00
PatrickvL 8d8c9db930 NV2A : Renamed all unique_lock's around cache_lock to cache_unique_lock, to avoid confusion between the two 2018-02-16 11:37:49 +01:00
PatrickvL dc12ee3119 NV2A : Renamed lock to pgraph_lock, and _lock to pgraph_mutex to avoid confusion 2018-02-16 11:37:45 +01:00
PatrickvL 12f81c0ade NV2A : Tiny corrections 2018-02-16 11:37:41 +01:00
PatrickvL eba4a276d5 NV2A : Fixed unactive typo 2018-02-16 11:37:37 +01:00
PatrickvL 953d365886 Merge pull request #20 from LukeUsher/nv2a-split-tweaks Fix lock related crashes 2018-02-16 11:37:32 +01:00
Luke Usher 59371d77ed Fix lock related crashes 2018-02-16 11:37:28 +01:00
PatrickvL 4716d739e1 NV2A : Renamed `flid_3d` to `flip_3d_cond` (so all condition_variable's have a `_cond` suffix) 2018-02-16 11:37:24 +01:00
PatrickvL 4fb8326384 NV2A : Hide less code behind COMPILE_OPENGL 2018-02-16 11:37:19 +01:00
PatrickvL dffbb8bb43 NV2A : Updates some code, from a comparison with XQemu 2018-02-16 11:37:15 +01:00
patrickvl 290f1f6036 NV2A : Make m_nv2a_state a pointer type, so that it can be zeroed during construction of the NV2ADevice (memset on the variable caused damage to the mutex-es and condition_variable's, so this is a work-around). A zeroed-out state prevents a crashes early in the unpatched CreateDevice code sequence. 2018-02-16 11:37:11 +01:00
patrickvl b146b0569f NV2A : Construct unique_lock mutex wrappers once (and avoid any other use of the mutex'es) 2018-02-16 11:37:07 +01:00
PatrickvL e3151892e6 NV2A : Name vblank thread too 2018-02-16 11:37:02 +01:00
PatrickvL 57776c9027 NV2A : Trying to fix locking (not very successful atm) 2018-02-16 11:36:58 +01:00