PatrickvL
acc808a1e2
Ported (previously overlooked) shader conversion from xqemu too
2018-10-05 21:47:15 +02:00
PatrickvL
1a6f12bef0
Destroy pfifo_lock too
2018-10-05 21:47:15 +02:00
PatrickvL
d896e7dc79
Rename two lock's to pgraph_lock vs. pfifo_lock to better discern them.
2018-10-05 21:47:15 +02:00
PatrickvL
6f6f75b7e9
Remove useless forward declarations
2018-10-05 21:47:15 +02:00
PatrickvL
63e97b929b
Fix how assert is avoided
2018-10-05 21:47:15 +02:00
PatrickvL
a702e657ee
PGRAPH debugging code also compiles with this.
2018-10-05 21:47:15 +02:00
PatrickvL
96c3c13209
Removed useless duplicate ;;
2018-10-05 21:47:15 +02:00
PatrickvL
4b8a02c155
Ported xqemu nv2a changes up to 3d33d8101b (diff-2042b2fa4b02c8eabddedcc278da5099)
...
WARNING : Although this compiles and runs, LLE-GPU doesn't show anything on-screen yet. More investigation & fixing will be needed before we can merge this.
PS : Once finished, this fixes https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/issues/1456
2018-10-05 21:47:14 +02:00
PatrickvL
7bc2897833
Merge pull request #1462 from PatrickvL/nv2a_lights
...
NV2A : Fixed PGRAPH light handlers
2018-10-05 21:45:16 +02:00
PatrickvL
ab20444a12
NV2A : Fixed PGRAPH light handlers - the case statement wasn't covering the final few light slots, potentially causing black spots here and there.
2018-10-05 21:44:42 +02:00
PatrickvL
d1b5be72dd
Merge pull request #1461 from PatrickvL/nv2a_plugin_clear
...
Nv2a plugin clear
2018-10-05 21:44:01 +02:00
PatrickvL
ba8857d31e
Cleanup
2018-10-05 21:43:12 +02:00
Luke Usher
141069766f
Merge pull request #1464 from LukeUsher/fix-jsrf-regression
...
Fix a regression in JSRF caused by incorrect entry for D3DRS_SWAPFILTER
2018-10-05 15:13:53 +01:00
Luke Usher
aa7c1812ed
Fix a regression in JSRF caused by incorrect entry for D3DRS_SWAPFILTER
2018-10-05 15:06:11 +01:00
Luke Usher
d5c83bd12b
Merge pull request #1463 from LukeUsher/tweaks-fixes
...
Implement STOS, Inline OutputDebugStringA & Fix Vertex Declaration oversight
2018-10-05 13:15:12 +01:00
Luke Usher
04bc37589f
Oops: badly named variables caused confusion: OriginalDeclarationSize was a count, HostDeclarationSize was actual size
2018-10-05 08:56:56 +01:00
Luke Usher
f8b1c890be
Oops, it was also falling-through to sub
2018-10-04 23:06:34 +01:00
Luke Usher
5797cdd6c1
Oops: STOS was very slightly broken
2018-10-04 23:06:30 +01:00
Luke Usher
e1210de04e
Implement int2dh, int3 combination for in-lined OutputDebugStringA
2018-10-04 23:06:18 +01:00
Luke Usher
d6a44b6c72
Oops: STOS was not returning true on success..
2018-10-04 23:06:09 +01:00
Luke Usher
bd14740bbe
Implement (REP)STOS: This is used extensively by USB code
2018-10-04 23:05:32 +01:00
PatrickvL
c4511563da
NV2A : clear is now pluggable too
2018-10-04 18:19:02 +02:00
PatrickvL
becac6d4c8
Remove duplicate call to CxbxUpdateNativeD3DResources
2018-10-04 10:13:58 +02:00
PatrickvL
97878f4396
Added a few test-case comments to PGRAPH
2018-10-04 10:13:58 +02:00
PatrickvL
40a543b9b5
Merge pull request #1460 from LukeUsher/d3d-tweaks
...
Detect and fix the situation when EmuD3DDeferrdRenderState is derived incorrectly
2018-10-03 22:03:56 +02:00
Luke Usher
cbb2bce17f
Update XbSymbolDatabase again + fix a crash when SetViewPort is called with a null value
2018-10-03 19:57:21 +01:00
Luke Usher
de87ffd1e4
Update XbSymbolDatabase submodule
2018-10-02 16:18:04 +01:00
Luke Usher
b91ebafd97
Detect and fix incorrect EmuD3DDeferredRenderState. Requires XbSymbolDatabase PR #44 to be merged first
2018-10-02 16:09:36 +01:00
PatrickvL
78a49202f9
Merge pull request #1458 from LukeUsher/d3d-tweaks
...
Various fixes/improvements to D3D HLE
2018-10-02 13:23:39 +02:00
Luke Usher
1c78e5bced
Various fixes/improvements to D3D HLE
...
The key change is that more of the D3D state is written back to the
internal Xbox D3D state, allowing GetXXX functions to return the correct
values, and that GetVertexShaderDeclaration now returns the correct size
to the running Xbox title.
Note that this needs testing with as many titles as possible: The
additional trampolines may cause regressions if they hit an
unimplemented instruction in subhook (eg. I had to update Subhook to add
xor, in order to be able to make this PR work at all)
2018-10-02 11:01:05 +01:00
Luke Usher
da5e977d45
Merge pull request #1455 from PatrickvL/fix_Turok_movie
...
HLE overlay fix for Turok
2018-09-28 13:08:47 +01:00
PatrickvL
c8b09130ae
HLE overlay fix for Turok, by reading color-space conversion from PGRAPH (for which handling was added to NV097_SET_CONTROL0). This allowed removal of the D3DDevice_SetRenderState_YuvEnable patch.
...
Note, that we're still not doing anything special regarding color-space conversions; This is just an accuracy change.
This fixes #1435 .
PS : Now that we're reading more and more state from PGRAPH (even under HLE GPU) we really need a push-buffer flush function!
2018-09-28 13:46:51 +02:00
Luke Usher
2918526586
Merge pull request #1454 from LukeUsher/x86-tweaks
...
X86 tweaks: Fixes WWE Raw LLE regression
2018-09-27 22:36:50 +01:00
Luke Usher
42aae20d8e
Oops, we sign-extended the wrong value for ADD. This fixes 4627 graphics
2018-09-27 22:31:18 +01:00
Luke Usher
cd22ba6145
This fixes 4627 vertices sample when executing 3 instructions in a batch.
...
We're on the right lines here, however, WWE Raw and all XDK samples regressed further, despite the above
improvement.
Stack corruption now happens for most software with while(true).
Perhaps there's an extra condition on sign-extension that we're not checking for?
2018-09-27 22:21:32 +01:00
Luke Usher
ae572166f1
Merge pull request #1453 from PatrickvL/more_x86
...
More x86 logging improvements
2018-09-27 20:43:19 +01:00
PatrickvL
2fb98429e6
X86 : Log segments and prefixes
2018-09-27 18:28:54 +02:00
PatrickvL
795b0a5a5e
X86 : Log when starting instruction emulation, and log before assert(false), also insert missing newlines
2018-09-27 15:21:29 +02:00
Luke Usher
d3e2e7d475
Merge pull request #1452 from PatrickvL/x86_asserts
...
Added X86 asserts
2018-09-27 12:47:41 +01:00
PatrickvL
48cb6c8ba2
X86 : Removed special-casing for is_register (doesn't seem to be needed), added asserts everywhere we're unsure of the input, simplified EmuX86_Opcode_CMPXCHG accessing EAX, fixed logging O_MEM without a base.
2018-09-27 13:22:34 +02:00
PatrickvL
6e1432f644
Merge pull request #1449 from LukeUsher/use-native-flags
...
Have the host CPU computer flags for us
2018-09-26 15:24:29 +02:00
Luke Usher
427cf4e513
Fi CMPXCHG
2018-09-25 22:30:34 +01:00
Luke Usher
bf9b7a26f6
Minor tweaks
2018-09-25 22:30:34 +01:00
Luke Usher
d5ac1040ca
Fix an issue where non 32-bit register reads/writes would use the wrong bits
2018-09-25 22:30:34 +01:00
Luke Usher
dde8c8b71c
Minor instruction tweaks/fixes
2018-09-25 22:30:34 +01:00
Luke Usher
9566f85767
Have the host CPU computer flags for us
2018-09-25 22:30:33 +01:00
Luke Usher
42504ed309
Merge pull request #1451 from PatrickvL/x86_logging
...
X86 logging
2018-09-25 22:24:01 +01:00
PatrickvL
fc3f0161bf
X86 : Improved instruction dumping
2018-09-24 15:19:59 +02:00
PatrickvL
9487ec09a7
X86 : Implemented NEG opcode
2018-09-24 12:52:31 +02:00
PatrickvL
17fdc8e01d
Logging : Renamed DbgPrintf to DBG_PRINTF (it's a macro after all), introduced Ex-tended versions of a few macro's, which accept something else than LOG_PREFIX and removed and/or applied LOG_PREFIX where appropriate. Also applied LOG_CHECK_ENABLED in EmuX86 to avoid slowdowns when X86 debug logging is disabled.
2018-09-24 11:26:30 +02:00