Commit Graph

2984 Commits

Author SHA1 Message Date
patrickvl 7697fa6e22 D3D : Use CheckDeviceFormat before trying fallbacks, and use CreateDepthStencilSurface for depth stencil formats 2018-04-04 16:10:51 +02:00
patrickvl 94d3c6d75c Detect overflow of recompiled buffer in EmuRecompileVshDeclaration 2018-04-04 16:09:50 +02:00
patrickvl 11753744f0 D3D : Disable a number of function signatures that are no longer patched 2018-04-04 16:09:25 +02:00
Luke Usher 86b21b83e5 Finally fix Fibers, DOAX gets a little further now 2018-04-04 15:07:09 +01:00
Luke Usher e5d4dacaa6 Fix an issue where copy_string_to_PSTRING_to would truncate data. Fixes hang in PGR2 2018-04-04 13:30:48 +01:00
Luke Usher 2a9ea70bc4 NV2A Tweaks/Optimisation 2018-04-04 10:42:51 +01:00
Luke Usher 9fca583381 Fix FPS counter for LLE 2018-04-03 18:22:55 +01:00
Luke Usher ea14ecd5c9 Add some notes around flip stalling 2018-04-03 18:08:46 +01:00
Luke Usher c88a0ab90f Fix error in CountActiveD3DStreams 2018-04-03 18:03:05 +01:00
Luke Usher bae81988fa Move NV2A Swap into FLIP_STALL 2018-04-03 18:01:19 +01:00
Luke Usher 363c16002f Add patch for LTCG optimized D3DDevice_Swap 2018-04-03 16:53:23 +01:00
Luke Usher 574d28bafc Don't swap when NV2A is disabled 2018-04-03 15:52:33 +01:00
Luke Usher 03dff3b3df
Merge pull request #990 from RadWolfie/DSound-fixes
DSound fixes Part 1
2018-04-03 15:42:37 +01:00
Luke Usher c0be3b47da Add optional speedhack to use all available cores 2018-04-03 10:57:45 +01:00
Luke Usher 00050d74b4
Merge pull request #1023 from jarupxx/D3D8LTCG_DB
Introduced D3D8LTCG database
2018-04-03 10:20:48 +01:00
Luke Usher f60c6d7148
Merge pull request #1025 from LukeUsher/nv2a_framebuffer_size
Use real framebuffer size (NV2A LLE)
2018-04-03 10:19:38 +01:00
Luke Usher daa057830f Tweaking because of AMD crash... 2018-04-03 10:02:28 +01:00
RadWolfie 51de9851fa Now using accurate played check
Test case: Gauntlet Dark Legacy's first intro with distort audio noises.
2018-04-03 01:11:39 -05:00
RadWolfie 552ed094bf Fix conversion warn (Thanks Luke for reintroduce) 2018-04-03 01:01:01 -05:00
RadWolfie cc7e805e5e Raise DSound stream size limit
TODO: Need to merge both sizes into one. The real limit is 8MB which
split into 4KB page each which become total of 2047 SGE.
2018-04-03 00:13:25 -05:00
RadWolfie 969a4992a4 Fix memory leak on xbox audio buffer cache 2018-04-02 20:49:53 -05:00
jarupxx 672e559f93 Cleanup
3 D3D8LTCG OOVPAs have been merged into D3D8LTCG database

Verified with
-[3925] Nascar Heat 2002
-[4039] NBA 2K2
-[4432] Bruce Lee
-[4627] Battle Engine Aquila
-[4928] Shin Megami Tensei - Nine
-[5233] Midtown Madness 3
-[5455] Freaky Flyers
-[5659] Ninja Gaiden
-[5849] Grand Theft Auto - San Andreas
2018-04-03 08:02:50 +09:00
jarupxx 83f57d0b76 Add Lock offset value 2018-04-03 05:52:01 +09:00
jarupxx 3d7ddaa340 Initialize commits of HLEDB D3D8LTCG 2018-04-03 05:52:01 +09:00
RadWolfie 2857cd95d8 Add a "hack" for SetOrientation
Plus add TODO notes for both Orientation functions
2018-04-02 14:35:07 -05:00
RadWolfie 5e58773956 Hotfix DSound Stream 2018-04-02 14:35:07 -05:00
RadWolfie 0ede9c223d Stream's set position during process is more ideal
just before start play stream audio.
2018-04-02 14:35:07 -05:00
RadWolfie 2ee159fb65 More fixup for DSound Stream class 2018-04-02 14:35:07 -05:00
RadWolfie 393703f9d1 Attempted fixup for Ghost Recon titles
I believe there is unauthorized write to xbox pass-down memory since it
show different result from time to time for some reason...

However... Rayman 3 and Rayman Arena titles now shows 2nd intro
properly! 👀 I personally believe this is the best commit for ANY
FMV (background musics are not verified).
2018-04-02 14:35:07 -05:00
RadWolfie 2de464fc1b 3D flag hack implement for exclusion
Undetermined if will help with titles other than Aeon Flux.
2018-04-02 14:35:07 -05:00
RadWolfie cb19073795 Contains two set of changes
1. Incomplete experiment for out of memory.
2. Fix buffer cache size.

* Fixed Blinx: The Time Sweeper crash.
2018-04-02 14:35:07 -05:00
RadWolfie bbf7dee16a Change buffer creation to show error code
More research need to be done to find out why it's not releasing
properly or something else needs to be done behind this.
2018-04-02 14:35:07 -05:00
RadWolfie ee5596ade4 Add callback support for BackgroundMusic sample
Track counter now do update via callback request.
2018-04-02 14:35:07 -05:00
RadWolfie 0274e4c2be Proper fix for a fatal error to StopEx (DSound)
When a fatal error show up, this helps me to research better and
implement better than I originally had before. Now we can return as
invalid param to title.
2018-04-02 14:35:07 -05:00
RadWolfie 9a7121d87e Fix crashes for DSound Buffer region subclass. 2018-04-02 14:35:07 -05:00
RadWolfie ed9b104262 Fix DSound Stream infinity loop issue 2018-04-02 14:35:07 -05:00
RadWolfie 11fd4f6ff5 Update DSound buffer class fixes
Currently is able to produce accurate(?) audio output instead of cut off
early.

Titles improved
* Turok Evolution
* Smashing Drive
* Mafia
* etc
2018-04-02 14:35:06 -05:00
RadWolfie 4d1ab39d2e Append temporary hack for sound buffer (not stream)
Temporary hack since certain titles such as Mafia kept creating more
buffer. Yet did not find repeatly calls in the log.
2018-04-02 14:35:06 -05:00
RadWolfie d34eff64d1 Update Flush function for DSound 2018-04-02 14:35:06 -05:00
RadWolfie 77aec057af Clean up debug stuff.
Plus add silence packet.
2018-04-02 14:35:06 -05:00
RadWolfie b8806848fe Use correct write offset from buffer only
Now audio is stream properly without gaps problem.
2018-04-02 14:35:06 -05:00
RadWolfie 3d8944118d Proper buffer update, yet still has audio gaps...
TODO: Create memory buffer then copy all the packets to there. Then test
the audio once stream is released for audio gaps is confirmed an issue
with the code.

Note: WaveBankStream appear to be working now, before it just randomly
or remain looping. (Except one audio stream still did not continue in
the loop for some reason?)
2018-04-02 14:35:06 -05:00
RadWolfie d59e24f34d Fix shift values 2018-04-02 14:35:06 -05:00
RadWolfie 0c5819ced2 Optimize a bit plus insert debug log temporary
It is now checking the range properly.

WaveBankStream has improved, still doesn't resolve shorter packet stream
issue.
2018-04-02 14:35:06 -05:00
RadWolfie f165d699f1 Add verbose log in case anyone has a crash.
Temporary enable verbose log in release build for DSound only.

Remind me to comment this section out before merge.
2018-04-02 14:35:06 -05:00
RadWolfie 1a8476618c Add a hack for temporary time being.
Remind me to remove it before prepare to merge into master.

P.S. I do remember it worked fine before without this hack.
2018-04-02 14:35:06 -05:00
RadWolfie 3ed172988d Seamless audio is !HERE! for DirectSoundStream only
It is still experimental, need to fix 2nd intros become not playable or
stuck. However Pause and PauseEx function will affect this seamless
audio as well. Still got more to do.
2018-04-02 14:35:06 -05:00
RadWolfie add65ca173 Fix titles boot up issue with HRTF functions.
DSound HRTF does not have enter/leave criticalsection from reverse
engineering info. Removing enter/leave criticalsection allow certain
titles with this issue to progress further.
2018-04-02 14:35:06 -05:00
RadWolfie 0beb1c733e Update task doc
nothing is changed to audio in this commit.
2018-04-02 14:35:06 -05:00
RadWolfie 34a892a944 Tuneup, doesn't resolve click noises and FMVs perf. 2018-04-02 14:35:06 -05:00
RadWolfie b5257ca2d3 Major improvement, still has some bugs left.
This improvement is only for DirectSoundStream class. However there is
little bit of a slowdown for certain titles. Will find out why after
seemless audio between 2 packets are done.

* Improve some XDK samples
* AudioStress
* WaveBankStream
* WMAInMemory
* WMAStream

* Untested
* WaveBank
2018-04-02 14:35:06 -05:00
RadWolfie 9dec8805e5 Fix pause functions 2018-04-02 14:35:06 -05:00
RadWolfie 0f5e0895c9 Whoops, DSoundBufferOutputXBtoHost was not used. 2018-04-02 14:35:06 -05:00
RadWolfie db19158254 Introduce DirectSoundStream fixes
XADPCM audio are much better now, need tester's ears to verify the
errors.

Test cases:
- Battlestar Galactica (sit back and enjoy the intro video! Get popcorns
too!)
- Rayman Arena (sounds about the same as original intended, before fps
was fixed)
- Ghost Recon (PCM, sound like no change)
- Taz: Wanted (sound like it is normal?)
- Turok Evolution (sound fine but video is little bit too slow?)

Testers, please test this for ANY functional intro videos (which uses
DirectSoundStream 85% of the time).
2018-04-02 14:32:15 -05:00
RadWolfie b5be48c4a1 Implement Flush support for DirectSoundStream class
It is design to wait until buffer is fully done from another thread.
confirmed
2018-04-02 14:32:15 -05:00
RadWolfie d007d09a61 Never pass a null... not sure why this is here. 2018-04-02 14:32:15 -05:00
Luke Usher 03c5999359 Slightly less hacky implementation of SampleTime register 2018-04-02 20:26:48 +01:00
Luke Usher 02128f1ce4 Implement SampleTime Register (HACK) 2018-04-02 20:03:34 +01:00
Luke Usher 64f60f7189 More Tweaks 2018-04-02 19:59:37 +01:00
Luke Usher 1a2bbc2d1a Oops, forgot about glBlitFramebuffer 2018-04-02 19:32:08 +01:00
Luke Usher 59d02a60c4 Use Real Framebuffer Size instead of hardcoding 640x480 (LLE) 2018-04-02 19:24:25 +01:00
ergo720 17b90b5aa8 Fix an assert on VMManager in Fable 2018-04-02 12:26:56 +02:00
RadWolfie 1d993d2cba Replace main logo
stb image library does not work correctly for green/yellow outline on
main logo even with png and jpeg formats. Using bitmap format instead.
2018-04-02 01:13:44 -05:00
Luke Usher 24137bf34c Oops. Really fix Recent XBE's this time.. 2018-04-01 20:52:04 +01:00
Luke Usher fae59138b6 Fix Debug mode compilation 2018-04-01 20:49:49 +01:00
Luke Usher 1622e42739 Fix compiler warning 2018-04-01 20:49:39 +01:00
Luke Usher a4281dac56 Fix Recent Xbe Menu 2018-04-01 20:48:59 +01:00
Luke Usher e1a65a3bde Introduce functional NV2A LLE 2018-04-01 20:18:22 +01:00
ergo720 54aeffd949 Load dashboard option 2018-04-01 18:16:56 +02:00
ergo720 4d7401f8dc Oops (fixed incorrect eeprom key length) 2018-03-31 22:31:59 +02:00
ergo720 72ae997d3d Calculate last missing checksum field in the eeprom 2018-03-31 22:12:36 +02:00
ergo720 29410562c0 Also update the factory game region as well 2018-03-30 22:18:52 +02:00
ergo720 f00623812c Only debug xbe's can write to the factory settings 2018-03-30 14:27:35 +02:00
ergo720 9efcacda53 Make eeprom access thread-safe 2018-03-30 12:22:27 +02:00
patrickvl ec58d48b2f EmuXB2PC_D3DFormat warning with prefix and newline. 2018-03-29 18:13:48 +02:00
PatrickvL 1b7049dc6c D3D : Split up Host from Xbox PresentationParams 2018-03-29 18:13:38 +02:00
PatrickvL 1cb25ab225 D3D : Fixed cartoon sample, by only applying texture expansion (of height/width to 4 instead of 1) for compressed formats. 2018-03-29 18:02:36 +02:00
PatrickvL 7d3983f407
Merge pull request #1010 from ergo720/thermal_sensor
Thermal sensor
2018-03-29 17:48:35 +02:00
ergo720 79de6b6988 Bug fixes 2018-03-29 17:23:55 +02:00
ergo720 2e3923fbb7 Implemented MmLockUnlockPhysicalPage 2018-03-28 23:18:16 +02:00
ergo720 0b81db3920 Implemented MmLockUnlockBufferPages 2018-03-28 22:54:26 +02:00
ergo720 2608a2767c Implemented termal sensor device 2018-03-28 14:48:24 +02:00
PatrickvL 5f27e27a06
Merge pull request #1006 from ergo720/Nt_memory_functions
Nt memory functions
2018-03-28 14:05:51 +02:00
ergo720 11b74e4de4 Small update 2018-03-28 11:29:33 +02:00
ergo720 a67326696a Removed now obsolete PANIC macro 2018-03-27 19:10:04 +02:00
ergo720 9d8fc33832 Corrected position of NtQueryFullAttributesFile 2018-03-27 18:02:53 +02:00
ergo720 d1c09dbb94 Completed all remaining kernel thunks 2018-03-27 17:57:29 +02:00
ergo720 f6852152fc Small update to DestroyMemoryRegions 2018-03-27 13:32:46 +02:00
ergo720 b27719e640 Merge remote-tracking branch 'upstream/master' into Nt_memory_functions 2018-03-27 11:34:52 +02:00
ergo720 2f04c877dc Bug fixes + cleanup 2018-03-27 00:57:32 +02:00
ergo720 5734b0ec10 Use RtlFillMemoryUlong in the VMManager instead of a standalone function 2018-03-26 16:44:35 +02:00
ergo720 6cc5c565fb Small update 2018-03-26 16:27:15 +02:00
ergo720 324e894f34 Updated name of XbProtect 2018-03-26 15:35:04 +02:00
ergo720 696d6109ea Implemented NtQueryVirtualMemory 2018-03-26 15:16:35 +02:00
ergo720 ba7ea6781c Implemented NtProtectVirtualMemory 2018-03-25 22:57:06 +02:00
ergo720 0916f609d9 Implemented NtFreeVirtualMemory 2018-03-25 19:56:26 +02:00
PatrickvL 7bbebe2d4e
Merge pull request #1003 from x1nixmzeng/rumble-support
Support for controller vibration
2018-03-25 18:27:59 +02:00
ergo720 938b3c0368 Oops (small amend to XbAlloc) 2018-03-25 11:35:08 +02:00
ergo720 6d606dac1f Completed NtAllocateVirtualMemory implementation 2018-03-25 01:10:18 +01:00
x1nixmzeng ee0df62039 Reverted change to the cached input states 2018-03-24 19:03:12 +00:00
ergo720 9299987ab9 Implemented MEM_RESERVE path of XbAlloc 2018-03-24 18:52:31 +01:00
Luke Usher 52e289252e
Update EmuNVNet.cpp 2018-03-23 20:40:29 +00:00
Luke Usher 8dffc7f6ef
Update NVNet copyright 2018-03-23 20:40:17 +00:00
Luke Usher ca86d10edd
Update EmuNVNet.cpp 2018-03-23 20:39:40 +00:00
PatrickvL 21fe65bc06
Merge pull request #1005 from PatrickvL/VertexShader_fix
D3D : Fixed a VertexShader conversion bug
2018-03-23 15:59:02 +01:00
PatrickvL 54086e734e D3D : Fixed a VertexShader conversion bug, allowing some shaders to compile that previously failed. 2018-03-23 15:43:36 +01:00
x1nixmzeng 2fb4ea73de Support for controller vibration (#680)
Fowards the XInputSetState call to native implementation
Fixed XINPUT_FEEDBACK_HEADER alignment
2018-03-23 02:28:16 +00:00
ergo720 8b52cda18a Warn the user instead of hard crashing if rebooting to a different xbe type 2018-03-22 21:06:38 +01:00
ergo720 e6cc0e62a8 Rebasing 2018-03-20 18:12:46 +01:00
ergo720 5e5d4fc6fe Final fixes (now needs only rebasing) 2018-03-20 11:54:01 +01:00
ergo720 0bf3ecaf62 More bug fixes (Xbox-specific code seems to be working fine now. Test: DOA ultimate) 2018-03-20 11:54:01 +01:00
ergo720 34e27c2611 Bug fixes 2018-03-20 11:53:58 +01:00
ergo720 2011647d9b Cleanup + bug fixes (now it builds) 2018-03-20 11:53:12 +01:00
ergo720 c32fdbf406 XbAlloc/Free + DeallocatePT + final cleanup (now needs testing and rebasing) 2018-03-20 11:53:08 +01:00
ergo720 f662ce76e4 Debugger functions work 2018-03-20 11:51:16 +01:00
ergo720 ff1a6cc973 Persistent memory 2018-03-20 11:51:12 +01:00
ergo720 f22098f7ed MmClaimGpuInstanceMemory 2018-03-20 11:50:24 +01:00
ergo720 d3fb45f5d1 Actually write a real pfn for the contiguous pages as well 2018-03-20 11:50:23 +01:00
ergo720 2b7ac056ff MmIsAddressValid and MmGetPhysicalAddress 2018-03-20 11:50:23 +01:00
ergo720 31d53d423a MmQueryAllocationSize 2018-03-20 11:50:23 +01:00
ergo720 00a41e96be MmQueryAddressProtect 2018-03-20 11:50:23 +01:00
ergo720 fde31cbee8 MmSetAddressProtect 2018-03-20 11:50:20 +01:00
ergo720 b3da38a4a4 MmDbgAllocateMemory and MmDbgFreeMemory 2018-03-20 11:48:22 +01:00
ergo720 17f6f5dafc Allocate, AllocateZeroed and Deallocate 2018-03-20 11:48:22 +01:00
ergo720 2da096022c MmUnmapIoSpace 2018-03-20 11:48:22 +01:00
ergo720 2597e88ea4 DeAllocateContiguous 2018-03-20 11:48:22 +01:00
ergo720 bc0e0734ae Xbox permissions work 2018-03-20 11:48:21 +01:00
ergo720 c1c989c077 Small update for the destructor of the VMManager 2018-03-20 11:48:21 +01:00
ergo720 7e868309a7 Oops... (small update to DestructVMA) 2018-03-20 11:48:20 +01:00
ergo720 1f7e0b0c4c DestructVMA 2018-03-20 11:48:20 +01:00
ergo720 dbc6b77434 MmDbg kernel thunk stubs 2018-03-20 11:48:20 +01:00
ergo720 8766aa57bf DeAllocateSystemMemory 2018-03-20 11:48:20 +01:00
ergo720 ce367788ad WritePte 2018-03-20 11:48:19 +01:00
ergo720 ac9c9e24f4 MmMapIoSpace 2018-03-20 11:48:19 +01:00
ergo720 22a9d6d01f Refactored MapMemoryBlock 2018-03-20 11:48:19 +01:00
ergo720 c4aaf4a1fd Contiguous allocations 2018-03-20 11:48:16 +01:00
ergo720 4ea37c7bbd Added alignment support to RemoveFree 2018-03-20 11:47:45 +01:00
ergo720 6ac3c4b81f MmAllocateSystemMemory 2018-03-20 11:47:44 +01:00
ergo720 d1c526e28c Introduced quick reboot kernel flag 2018-03-20 11:47:42 +01:00
ergo720 665d504058 Oops (small update for ConstructVMA) 2018-03-20 11:45:02 +01:00
ergo720 75450b5d4d ConstructVMA 2018-03-20 11:45:02 +01:00
ergo720 e3feb1c8de Introduced memory regions 2018-03-20 11:45:01 +01:00
ergo720 e884c893cf ConvertXboxToSystemPteProtection 2018-03-20 11:44:58 +01:00
ergo720 8ceec8d92c Completed AllocateSystemMemory 2018-03-20 11:43:46 +01:00
ergo720 4209562ec3 Integrate the free list with the rest of the vmanager 2018-03-20 11:43:46 +01:00
ergo720 168f63946a Use a list to track free pages 2018-03-20 11:43:46 +01:00
ergo720 22937e79fd WritePfn 2018-03-20 11:43:43 +01:00
ergo720 c6ac1c1777 More system allocations stuff (WIP) 2018-03-20 11:42:31 +01:00
ergo720 653c71c282 Introduced system memory allocations (WIP) 2018-03-20 11:42:30 +01:00
ergo720 bde0ab6648 Almost finished Page Directory initialization 2018-03-20 11:40:53 +01:00
ergo720 54745007ee Finished PFN initialization 2018-03-20 11:40:06 +01:00
ergo720 9d95359a63 PDE/PTE/PFN still a lot to write 2018-03-20 11:40:03 +01:00
Luke Usher a56c4af2ea Remove patch for D3DDevice_GetTexture 2018-03-19 08:19:24 +00:00
patrickvl 9bb8afcb1b IVB : Default Diffuse color to white 2018-03-18 15:42:21 +01:00
PatrickvL 9e136c7b4b
Merge pull request #994 from jarupxx/D3DTSS_flags_fix
D3DTSS flags fix
2018-03-18 08:09:38 +01:00
jarupxx f6dab74dda Adjust D3DTSS flags for below XDK 3948
Test case: Tony Hawk's Pro Skater 2X
2018-03-18 07:48:23 +09:00
jarupxx eda796ff88 Improve D3DDevice_MultiplyTransform 3911 OOVPA
Verified with
- [3925] Azurik
- [5344] Starsky & Hutch
2018-03-18 07:41:54 +09:00
patrickvl d6f8cfe129 Described more VertexShader functions 2018-03-16 18:08:52 +01:00
patrickvl e8469077ff Described arguments and steps of a few VertexShader functions 2018-03-16 18:08:51 +01:00
patrickvl c2a96bbe48 Rename g_CurrentVertexShader into g_CurrentXboxVertexShaderHandle 2018-03-16 18:08:51 +01:00
Luke Usher bda64774f3 Fix Debug Mode compilation 2018-03-16 13:27:15 +00:00
Luke Usher 985bb16515 Fix crash in EmuFS (Push/Pop FS:00)
This solution is NOT thread safe, but is better than outright
crashing.
2018-03-16 13:01:04 +00:00
Luke Usher 54067c295e Change texture format EmuWarning to DbgPrintf: It kills performance when using the Debug console 2018-03-15 21:48:35 +00:00
Luke Usher d39aad4d4e Cleanup old Vertex code 2018-03-15 21:33:31 +00:00
Luke Usher ddfc930c49 Prevent double memcpy for patched primitives 2018-03-15 21:13:38 +00:00
Luke Usher 0eec1618fe Fix compilation by moving Graphics exports to a new file 2018-03-15 10:39:27 +00:00
Luke Usher 36b423bf1c Use High Performance GPUs by default 2018-03-15 10:39:26 +00:00
Luke Usher 7c1031f321 Attempt to fix AMD rendering issues 2018-03-15 10:39:26 +00:00
Luke Usher 3b4d10a0b7 Stop using old resource/texture cache for vertex buffers. A new vertex buffer cache will be implemented soon.. 2018-03-15 10:39:26 +00:00
Luke Usher 0a9475244a Fix an issue where the wrong stride was used for StreamZeroData 2018-03-15 10:39:26 +00:00
Luke Usher 9c98a76f0a Reduce the number of calls to GetVertexBufferSize 2018-03-15 10:39:26 +00:00
Luke Usher cdd7ed973c Make GetCachedVertexBufferObject return if a new buffer was creadted (and therefore invalidated) 2018-03-15 10:39:26 +00:00
Luke Usher d4232df766 Cache Vertex Buffer Objects, but not their content.
This gives a performance boost by avoiding the need to constantly
Allocate and Free vertex buffers every single usage.
2018-03-15 10:39:25 +00:00
Luke Usher 9ff8df52b3 Attempt to fix DirectSoundGetSampleTime (Counts at 48Khz) 2018-03-15 10:39:25 +00:00
Luke Usher a418cda776 Disable Verex Cache: Fixes missing polygons in JSRF but kills performance.. investigating better solution 2018-03-15 10:39:25 +00:00
Luke Usher 4ecbd306b7 Use unordered_map in EmuD3D: This is faster, and we don't require caches to be ordered 2018-03-15 10:39:25 +00:00
Luke Usher e31167e4a5 Simplfy Deriving of D3DRS_CULLMODE 2018-03-15 10:39:25 +00:00
patrickvl 7a43686214 IVB : Only apply D3DFVF_POSITION_MASK after potential fixups 2018-03-14 00:43:50 +01:00
PatrickvL 7c0831e009 IVB : Fix illegal FVF before converting g_InlineVertexBuffer_Table to host FVF format.
This might fix the "EmuFlushIVB uses wrong stride" sanity check failure.
2018-03-13 18:24:00 +01:00
PatrickvL 25a597bd7f IVB : Cleanup after rebase 2018-03-13 18:06:38 +01:00
PatrickvL b6677ba090 IVB : Working on further IVB improvements 2018-03-13 17:53:43 +01:00
PatrickvL 3df4a18619 IVB : Select FVF position mask once without overwriting the other FVF bits 2018-03-13 12:38:43 +01:00
PatrickvL f35ba8dd1f IVB : Renames and refactorings, copied over from WIP_LessVertexPatching.
This stops the inline vertex buffer from overflowing, and improves the support for flexible vertex formats.
2018-03-13 12:38:43 +01:00
PatrickvL 1117180233 D3D : Added YUY2 and UYVY conversions, derived from libyuv. Also, added a fallback to ARGB when a first CreateTexture attempt doesn't work 2018-03-12 18:05:41 +01:00
Luke Usher 72cd6fb135 Fix a regression where some FMVs stopped rendering after D3D8to9 was introduced. (Test case: xonlinedash 4920) 2018-03-10 21:54:54 +00:00
PatrickvL baa84898fb PixelShader : Comments 2018-03-09 17:53:32 +01:00
PatrickvL 6a54601693 PixelShader : Fixed a few mistakes (ifndef was converted into the opposite check , insertion of texture modes must not precede ps opcode) and some cleanup 2018-03-09 17:45:20 +01:00
PatrickvL c3065d0bb1 PixelShader : Avoided ZeroMemory, introduce and use PO_XPS and convert it to PO_PS, rename arguments to unique symbols (some conflicted with members), started using D3DPS_VERSION() macro, show more errors 2018-03-09 16:32:05 +01:00
PatrickvL 158b717f2e PixelShader : Working towards support for a configurable shader model 2018-03-08 18:59:56 +01:00
Luke Usher 18839d868b Attempt to fix PushBuffer non-FVF issue 2018-03-08 08:56:10 +00:00
Luke Usher 29d7b38a83 Fix a crash when logging failed shades 2018-03-08 08:30:26 +00:00
Luke Usher 0afc623b49 Revert to original Pixel Shader model.
It's good to know the option to update is available, but to work
properly, it needs significant changes to the shader converter.
2018-03-07 16:12:01 +00:00
Luke Usher f02aaec009 Use PixelShader Model 3.0, now available thanks to d3d8to9 2018-03-07 14:23:10 +00:00
Luke Usher 1ee7fb3e78 Fix some d3d issues that can cause crashes or missing graphics under some configurations. 2018-03-07 13:58:46 +00:00
Luke Usher 65dfda6e2e Prevent frame-rate dependant games from running too fast 2018-03-06 09:15:04 +00:00
Darren Thompson cfe9c4094a Force VSync on by default 2018-03-05 21:14:30 -05:00
Luke Usher d590ecc89b Improve accuracy of QueryPerformanceCounter 2018-03-05 20:42:57 +00:00
Luke Usher 641a86f627
Merge pull request #969 from PatrickvL/TextureConversionWork
Texture conversion cleanup and preparations for more...
2018-03-05 19:50:00 +00:00
Luke Usher bf0e2fe8f0
Merge pull request #968 from Voxel9/fps-counter-move
Move FPS Counter next to LED
2018-03-05 18:10:25 +00:00
Voxel 7a8446b542 Move FPS Counter next to LED 2018-03-05 17:52:31 +00:00
PatrickvL 76c5cdc4c3 D3D : Introduced D3DDevice_DrawTriPatch patch.
Also, call CxbxUpdateNativeD3DResources from D3DDevice_DrawRectPatch too.
2018-03-05 18:40:00 +01:00
PatrickvL 5c11a402ec D3D : Check IsValidCurrentShader before applying and restoring vertex patches 2018-03-05 18:07:38 +01:00
PatrickvL 65b3e8d801 D3D : Reordered and renamed VertexPatchDesc members : PrimitiveType into XboxPrimitiveType, pVertexStreamZeroData into pXboxVertexStreamZeroData, uiVertexStreamZeroStride into uiXboxVertexStreamZeroStride, dwOffset into dwStartVertex, dwPrimitiveCount into dwHostPrimitiveCount 2018-03-05 17:55:42 +01:00
PatrickvL 5a4596642e D3D : Introduced and used EmuD3DValidVertexCount 2018-03-05 17:36:42 +01:00
PatrickvL 361ca5a540 D3D : Moved all unused EmuNewD3D* functions aside 2018-03-05 17:26:19 +01:00
PatrickvL 8077cd6fd1 D3D : Use IsResourceTypeGPUReadable in GetDataFromXboxResource 2018-03-05 17:20:19 +01:00
PatrickvL 3945f36b66 Removed a temporary buffer from texture-conversion 2018-03-05 16:42:22 +01:00
PatrickvL 9a19173812 Removed all traces of OLD_COLOR_CONVERSION 2018-03-05 16:32:02 +01:00
PatrickvL 1d8623c2cc PixelShader : Copied over all corrections (translation-errors) from my PixelShader branch (only corrections concerning the pixel shader conversion, not all the other stuff in that branch). 2018-03-05 15:22:47 +01:00
Luke Usher d52cc2d996
Merge pull request #964 from LukeUsher/switch-to-new-texture-converter
Switch to new texture conversion
2018-03-04 20:09:20 +00:00
Luke Usher 27703a76cd Fix no input in Otogi, probably others too 2018-03-04 16:40:33 +00:00
Luke Usher b6dd504e32 Switch to new texture conversion 2018-03-04 12:15:41 +00:00
Luke Usher 014ed907f3 Fix broken polygons WoC intro 2018-03-03 22:29:57 +00:00
Luke Usher b8ae74ca79 Implement D3DDevice_MultiplyTransform, without this, titles calling this function would set a transform based on unitialized data.... 2018-03-02 22:06:34 +00:00
Luke Usher eb2f745ed8 Change DSOUND error popup to a warning, it annoys users, especially when fullscreen 2018-03-02 20:36:56 +00:00
Luke Usher 0ee9f63910 Log Pixel Shader errors 2018-03-01 12:09:22 +00:00
Luke Usher 55e25cb4f3 Temporary method for shader constants.
JSRF has no more white-outs, but also has an issue where Graffiti
doesn't show... But it's better, you can at least see now!

The Static overlay effect in Silent Hill 2 is now working as expected.

Burnout now has reflections on cars, but they don't look quite right
yet..
2018-03-01 10:15:07 +00:00
Luke Usher d1bebb67a4 Pixel Shader's work again, but without their constants updated 2018-02-28 17:48:36 +00:00
Luke Usher 4637f4da5e Switch completely over to Patrick's DXBX based shader conversion
This currently crashes due to not having EmuMappedD3DRenderStates
This will be resolved in a later commit
2018-02-28 14:07:17 +00:00
PatrickvL 4ed8bce1b9
Merge pull request #954 from Ernegien/fix-halo-loading-crash
Prevent Halo from blowing up the stack during initialization
2018-02-28 08:19:06 +01:00
Mike Davis 4ab727bd14 Cleanup 2018-02-27 21:25:23 -06:00
Mike Davis e4e1e2f369 Prevent Halo from blowing up the stack during initialization 2018-02-27 18:40:13 -06:00
Luke Usher 1acb1ae298 Fix a vertex buffer overflow causing crashes in some titles + cleanup 2018-02-27 16:42:44 +00:00
Luke Usher 11b8f4ac35 Fix Debug Builds, this try/catch didn't work anyway 2018-02-27 15:47:07 +00:00
Luke Usher 012b586a68 Remove Vertex Shader instructions that access undeclared registers.
This allows the shaders to actually compile, rather than being rejected
by the host D3D. This fixes missing vertices in CompressedVertices XDK
sample
2018-02-27 11:33:21 +00:00
Luke Usher 95993202ed Don't crash when an invalid handle is passed to NtClose 2018-02-26 20:29:20 +00:00
Luke Usher 65e51304dc Properly map NV2A Bar 1 2018-02-26 20:11:53 +00:00
Luke Usher 279fe68769 This shouldn't be a fatal error 2018-02-26 20:09:19 +00:00
Luke Usher c027d6a884 Fix a crash when a surface is re-used as a texture by handling the situation when resource type changes 2018-02-26 19:58:20 +00:00
Luke Usher ccfb5fc3b9
Merge pull request #947 from LukeUsher/vertex-buffer-experiment
Introduce GetVertexBufferSize and use it to determine the size of buffers for patching
2018-02-26 11:09:44 +00:00
Luke Usher 78f882241f Fix debug build 2018-02-26 11:00:53 +00:00
Luke Usher 151c5963ba GetVertexBufferSize wasn't taking offset into account: This fixes Zapper! 2018-02-26 10:24:31 +00:00
Luke Usher cc0b075839 Always use the actual stream count, rather than just the streams the shader uses 2018-02-26 08:41:49 +00:00
Luke Usher 3123103b14 Take indices into account when patching streams 2018-02-25 22:10:43 +00:00
Luke Usher 41afd8b878 Use real length for hashing 2018-02-25 17:59:34 +00:00
Luke Usher d46a1ab27c Force Rehash if length increases 2018-02-25 12:30:40 +00:00
Luke Usher 979c5c1598 Prevent double hashing when a VertexBuffer is free'd and instantly re-created 2018-02-25 11:37:32 +00:00
Luke Usher 53998f41ed Tail's Head now renders in Sonic Heroes E3 Demo, Zapper is still broken.. 2018-02-25 11:13:12 +00:00
Luke Usher 6c2c3d5fb2 This was causing a crash in Zapper.. 2018-02-25 10:55:58 +00:00
Luke Usher 35b61f63b2 Fix an oops: Things are slighty less broken 2018-02-24 21:44:12 +00:00
Luke Usher fbbb485cd8 With this, things are slightly less broken, dashboard still isn't right... 2018-02-24 21:37:09 +00:00
Luke Usher a81d620dbc Use VertexCount not PrimitiveCount here 2018-02-24 19:40:51 +00:00
PatrickvL d57aa2be23
Merge pull request #945 from LukeUsher/prevent-mapping-mouse
Prevent mapping mouse to input
2018-02-24 20:28:06 +01:00
Luke Usher 315c1e93fb Prevent mapping mouse to input 2018-02-24 19:17:04 +00:00
Luke Usher b0cdc4891a Format partitions by emptying the contents rather than deleting the folder 2018-02-24 18:19:35 +00:00
Luke Usher 8d3dd84ed9 More tweaks/fixes 2018-02-24 17:43:47 +00:00
otnert 88164b8b0f
Remove every other mention of Blueshogun from error messages (#2) 2018-02-24 11:56:37 -05:00
Luke Usher 0e546d67cd Disable MmDeleteKernelStack until we find out why it fails 2018-02-24 10:49:01 +00:00
Luke Usher 1cbf04b635 Prevent Draw..Up from triggering multiple streams errors 2018-02-24 10:48:45 +00:00
Luke Usher b1affd6b8b Minor refactor. Zapper still isn't happy 2018-02-24 10:48:45 +00:00