Commit Graph

3134 Commits

Author SHA1 Message Date
Luke Usher 1e677f30c1 Use a higher precision clock for more accurate VBlank timing 2017-09-19 13:30:07 +02:00
Luke Usher dea313b234 More NV2A Work 2017-09-19 13:30:07 +02:00
Luke Usher a3c6c17c24 Line ending consistency 2017-09-19 13:30:07 +02:00
Luke Usher d573332431 More PGRAPH 2017-09-19 13:30:07 +02:00
Luke Usher c9cc6eced0 More NV2A porting from XQEMU
Current Status:
Official XDK titles deadlock while calling BlockOnTime.
NXDK titles are generating render commands and appear to be working, although we do not actually implement pgraph yet, so we get a blank screen.
2017-09-19 13:30:07 +02:00
Luke Usher abdaf89602 Move interrupt processing thread to CxbxKrnl rather than specific to EmuNV2A 2017-09-19 13:30:07 +02:00
Luke Usher 9fccb952b2 EmuNV2A: Fix a crash caused by a double lock. 2017-09-19 13:30:07 +02:00
Luke Usher ce1ecf1371 More NV2A work 2017-09-19 13:30:07 +02:00
Luke Usher 4465f2a33a More porting from XQEMU + Fixed a major Cxbx-Unique NV2A BUG
DEVICE_READ/WRITE_32_REG:
Registers were being written to the completely wrong addresses!
2017-09-19 13:30:07 +02:00
Luke Usher 10f783470c Remove TEST dialog: Not required 2017-09-19 13:30:07 +02:00
Luke Usher a1048d0042 Working towards making Interrupt support more generic/less NV2A specific 2017-09-19 13:30:07 +02:00
Luke Usher 147b293c8c Oops: Interrupt Service Routine was being called with the wrong calling convention. 2017-09-19 13:30:07 +02:00
Luke Usher e36a607009 NV2A Interrupts now fire in an Xbox thread!
The interrupt service routine runs, sets up the DPC call, but then the global kernel DPC handler crashes when accessing the KPCR.
This DPC code is marked as experimental, so it needs work.
2017-09-19 13:30:07 +02:00
Luke Usher 6814e2afeb Make sure HLE Vblank doesn't get triggered when LLE is enabled
Make GetNextVBlankTime available to EmuNV2A
2017-09-19 13:30:07 +02:00
Luke Usher 03ce1333a4 More porting from XQEMU.
LLE execution now gets stuck on D3D_BlockOnTime.

Could be lack of interrupts.
2017-09-19 13:30:07 +02:00
Luke Usher fb74bb8e9c Disable CreateDevice/KickPushBuffer patches
Allows NV2A LLE to take over this part of bootup.

NOTE: This needs testing extensively before merging is possible.
2017-09-19 13:30:07 +02:00
Luke Usher 338b627b2b Porting NV2A From QEMU
No PGRAPH emulation yet, but this is enough to get past Direct3D_CreateDevice init.
2017-09-19 13:30:07 +02:00
PatrickvL 0bb636b9e0 Merge remote-tracking branch 'origin/PixelPorting' into PixelPorting 2017-09-19 09:40:15 +02:00
PatrickvL 7cbdd7b430 Allow merging this code by NOT switching over to new pixel shader code yet (it requires more work before this can be enabled). 2017-09-19 09:33:32 +02:00
PatrickvL 09872bf16d First attempt to use Dxbx pixel shader code. Will probably crash. It'd better to base this on Luke's work to get D3D_CreateDevice running unpatched. That way, many patches (including PixelShader related ones) can be disabled, allowing much easier emulation. 2017-09-19 09:33:31 +02:00
PatrickvL 6d131d5fc0 Finished translation of functional part of Dxbx Pixel Shader conversion code.
(Albeit PSH_XBOX_SHADER::DecodedToString is still incomplete).
2017-09-19 09:33:31 +02:00
PatrickvL 2149e4a4a5 Nearly finished back-porting Dxbx pixel shader conversion code.
With this change, Cxbx-Reloaded is linking again.
Two functions need to be completed (PSH_XBOX_SHADER::DecodedToString and ConvertConstantsToNative), after which testing can commence!
2017-09-19 09:33:31 +02:00
PatrickvL 19b7a5da33 Corrected all other pixel-shader comments which got damaged by a global find&replace 2017-09-19 09:33:31 +02:00
PatrickvL 92f4581d3c Fix global find&replace errors 2017-09-19 09:33:31 +02:00
PatrickvL 5cbf7b61fd Another batch of translation (about 40% to go) 2017-09-19 09:33:30 +02:00
PatrickvL 901d16785e Half-way translating pixel shader conversion code from Dxbx (Delphi) to Cxbx-Reloaded (C++) 2017-09-19 09:33:30 +02:00
PatrickvL a325f6aa87 Back porting of more Dxbx PixelShader conversion types.
Also moved most of the types from PixelShader.h to PixelShader.cpp
2017-09-19 09:33:30 +02:00
PatrickvL 1f966bc7eb More back porting of Dxbx pixel-shader related type definitions and comments 2017-09-19 09:33:30 +02:00
PatrickvL 8ff5c497e7 Started back-porting Dxbx pixel shaders 2017-09-19 09:33:30 +02:00
PatrickvL 5a10e350a0 Allow merging this code by NOT switching over to new pixel shader code yet (it requires more work before this can be enabled). 2017-09-19 09:33:02 +02:00
PatrickvL bf690c855c First attempt to use Dxbx pixel shader code. Will probably crash. It'd better to base this on Luke's work to get D3D_CreateDevice running unpatched. That way, many patches (including PixelShader related ones) can be disabled, allowing much easier emulation. 2017-09-18 18:32:10 +02:00
PatrickvL 19e329add7 Finished translation of functional part of Dxbx Pixel Shader conversion code.
(Albeit PSH_XBOX_SHADER::DecodedToString is still incomplete).
2017-09-18 15:08:27 +02:00
PatrickvL e44f6bcf55 Nearly finished back-porting Dxbx pixel shader conversion code.
With this change, Cxbx-Reloaded is linking again.
Two functions need to be completed (PSH_XBOX_SHADER::DecodedToString and ConvertConstantsToNative), after which testing can commence!
2017-09-18 11:21:15 +02:00
PatrickvL ad74c23946 Corrected all other pixel-shader comments which got damaged by a global find&replace 2017-09-18 09:38:53 +02:00
PatrickvL 327e76c935 Fix global find&replace errors 2017-09-17 19:11:49 +01:00
PatrickvL d00a33ef81 Another batch of translation (about 40% to go) 2017-09-17 18:49:52 +01:00
PatrickvL 73482456db Half-way translating pixel shader conversion code from Dxbx (Delphi) to Cxbx-Reloaded (C++) 2017-09-17 17:13:27 +01:00
PatrickvL f465a27362 Back porting of more Dxbx PixelShader conversion types.
Also moved most of the types from PixelShader.h to PixelShader.cpp
2017-09-16 16:46:22 +01:00
PatrickvL 1441c3e54f More back porting of Dxbx pixel-shader related type definitions and comments 2017-09-16 15:16:59 +01:00
Luke Usher 8b11cce5b6 Merge pull request #729 from PatrickvL/TextureConversion
Texture conversion
2017-09-13 21:19:58 +01:00
PatrickvL d10111416a Started back-porting Dxbx pixel shaders 2017-09-13 20:57:33 +01:00
PatrickvL afe83b60d2 Fixed XPR0 logo assumptions, allowing Amped logo to be read correctly 2017-09-13 16:49:32 +01:00
PatrickvL 144545c2fe Also load logo bitmaps from DDS resources. 2017-09-13 15:26:54 +01:00
PatrickvL ace5132f33 Removed g_pSupportsP8 in favor of g_pSupportsTextureFormat[X_D3DFMT_P8]
Also renamed g_bSupportsYUY2 into g_bSupportsYUY2Overlay
2017-09-13 15:26:54 +01:00
PatrickvL 1ac4a87f21 Compare supported textures formats with FourCC types
Also, index supported textures with Xbox D3D format, as host formats would require a huge array.
2017-09-13 15:26:54 +01:00
PatrickvL fd861043ac Dump FourCC codes 2017-09-13 15:26:54 +01:00
PatrickvL f197b1308f Build up a table of CheckDeviceFormat results 2017-09-13 15:26:54 +01:00
PatrickvL c2d21642d3 Cleanup of Certificate usage 2017-09-13 15:26:54 +01:00
PatrickvL 75b8242294 Removed g_pSupportsP8 in favor of g_pSupportsTextureFormat[X_D3DFMT_P8]
Also renamed g_bSupportsYUY2 into g_bSupportsYUY2Overlay
2017-09-11 13:45:27 -05:00
PatrickvL 3d0bf5a65a Compare supported textures formats with FourCC types
Also, index supported textures with Xbox D3D format, as host formats would require a huge array.
2017-09-11 13:45:27 -05:00