Commit Graph

3023 Commits

Author SHA1 Message Date
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
PatrickvL 878cc86abf Dump FourCC codes 2017-09-11 13:45:27 -05:00
PatrickvL d64a936524 Build up a table of CheckDeviceFormat results 2017-09-11 13:45:27 -05:00
PatrickvL 981ffb8046 Cleanup of Certificate usage 2017-09-11 12:20:13 -05:00
PatrickvL f3b6d70621 Added P8 to ARGB conversion (TODO : pass along TexturePalette)
Also rename dst_rgb > dst_argb
2017-09-11 17:54:31 +02:00
PatrickvL 9a46490fe9 Added DXT5 to ARGB conversion
Also cleanup in DXT1 and DXT3 to ARGB conversion
2017-09-11 17:54:31 +02:00
PatrickvL 0347c9f1e0 Fix incorrect optimization 2017-09-11 17:54:31 +02:00
PatrickvL 128f27c8a3 ConvertD3DTextureToARGB cleanup 2017-09-11 17:54:31 +02:00
PatrickvL 4cdfb50f2e Added DXT3 to ARGB conversion
Also optimized DXT1 to ARGB conversion
2017-09-11 17:54:31 +02:00
PatrickvL 2261039e18 Cherry-picked new color conversion code
Logo's are read with new code
Kept old code in use for textures
2017-09-11 17:54:31 +02:00
Luke Usher 815cc399a1 Cleanup after previous commit 2017-09-08 10:04:10 -05:00
Luke Usher 835ee8d017 Fix remaining issues with HalReturnToFirmware
This allows XLaunchNewImage to be completely unpatched
This has been tested and working with various titles:

update.xbe no longer crashes, but instead correctly relaunches the
games main xbe

Dashupdate.xbe now correctly reboots to dashboard
2017-09-08 10:04:10 -05:00