Commit Graph

6161 Commits

Author SHA1 Message Date
Margen67 4e1775e8c7 Update to new issue template workflow
Also remove unused Gitter chat.
2020-03-09 15:49:55 -07:00
RadWolfie a98584f021
Merge pull request #1837 from Margen67/subhook
Switch to mainline subhook
2020-03-05 18:47:39 -06:00
Margen67 9490add998 Switch to mainline subhook 2020-03-05 15:22:03 -08:00
Luke Usher 951520ece1
Merge pull request #1835 from RadWolfie/fix-wfx-format-sanity
Fix Sanity and Organize wfxformat into Functions
2020-02-26 06:49:59 +00:00
Luke Usher c42c68a980
Merge pull request #1833 from NZJenkins/remove_patches
Remove some patches
2020-02-21 09:12:33 +00:00
RadWolfie b2d5b5c7e8 fix sanity and organize wfxformat into functions 2020-02-20 23:12:54 -06:00
Anthony Miles 605c31af46 Remove GetViewportOffsetAndScale patches 2020-02-16 19:47:56 +13:00
Anthony Miles f48b9478ac D3DDevice_GetVertexShaderType 2020-02-16 19:46:29 +13:00
Anthony Miles d056bbf308 Remove D3DDevice_GetVertexShaderSize patch 2020-02-16 19:41:48 +13:00
Luke Usher 51d5759a1a
Merge pull request #1828 from NZJenkins/vertex_shader_source
Vertex shader runtime cache
2020-02-08 09:24:10 +00:00
Anthony Miles 0c6a13e975 Create VSHCACHE logging code for the shader cache 2020-02-08 19:50:26 +13:00
Anthony Miles 553ff18dff Reduce log spam. The vertex declaration is already logged 2020-02-08 19:50:26 +13:00
Anthony Miles 2506c9d395 Move shader setting logic into a method 2020-02-08 19:50:25 +13:00
Anthony Miles c8de83922a VertexShaderSource manages creation and caching of vertex shaders
Shaders are compiled asynchronously
2020-02-08 19:50:25 +13:00
Luke Usher 38b03b3fe3
Merge pull request #1821 from NZJenkins/vsh_split
Move D3D9-specific vertex shader code out of XbVertexShader
2020-02-07 09:01:09 +00:00
Luke Usher 339473e63b
Merge pull request #1827 from NZJenkins/fix_hlsl_vreg_init
Fix argument order in HLSL lerp call
2020-02-07 08:56:45 +00:00
Luke Usher dab6153548
Merge pull request #1825 from RadWolfie/directsound-minor-fixup
Minor Fixup in DirectSound Plugin
2020-02-07 08:54:33 +00:00
Anthony Miles fd68ee4d1f - Fix argument order in HLSL lerp call
- Renaming for clarity
2020-02-07 19:50:59 +13:00
Anthony Miles 484f46db59 - drop some parameters from EmuCompileShader
- when the shader is empty, expect success with no compiled shader output
2020-02-04 20:51:32 +13:00
Anthony Miles 9cea5bfe9a Move D3D9-specific vertex shader code out of XbVertexShader 2020-02-04 20:51:32 +13:00
RadWolfie c6d9eac9f4 disable XAudioCreateAdpcmFormat patch 2020-02-02 11:21:01 -06:00
RadWolfie 9780a63644 minor fixes for DirectSound plugin 2020-02-02 11:21:01 -06:00
Luke Usher 81297c5417
Merge pull request #1824 from RadWolfie/fix-audio-log-crash
Fix Audio Log Crash For Titles Under 4039
2020-02-02 12:52:37 +00:00
RadWolfie 187c53eaf9 add LOGRENDER_MEMBER_ARRAY_TYPE feature to logging file 2020-01-27 22:20:15 -06:00
RadWolfie a513cea260 fix audio log crash from titles below 4039 build 2020-01-27 22:14:30 -06:00
RadWolfie 51ffcb5015 add WAVEFORMATEXTENSIBLE struct to logging file 2020-01-27 22:14:04 -06:00
Luke Usher 96211645e7
Merge pull request #1823 from RadWolfie/fix-audio-stream-flush
Fix Audio Stream Flush(Ex) Functions
2020-01-27 11:46:37 +00:00
RadWolfie 1197152b5a fix audio stream flush functions 2020-01-24 17:23:08 -06:00
Luke Usher d870b0c8e3
Merge pull request #1820 from RadWolfie/fix-audio-stream-packets
Fix Audio Stream Packets Process
2020-01-24 08:35:03 +00:00
RadWolfie a31f5f7e34 fix Gauntlet Dark Legacy intro videos by sleep longer 2020-01-22 12:20:06 -06:00
RadWolfie 6aae3548e6 improve stream's packets process 2020-01-22 12:20:06 -06:00
RadWolfie 8fb60f6806 put dsstream's packet functions into its own file 2020-01-22 12:13:13 -06:00
RadWolfie 54421832e5 fix audio stream's packet larger than host buffer size 2020-01-22 12:13:13 -06:00
RadWolfie 08691c24e1
Merge pull request #1818 from LukeUsher/fix-lrp-shader-hang
Fix hang in WWE Raw 2 after previous PR
2020-01-16 17:02:15 -06:00
Luke Usher f2ae91785c psh: skip FixOverusedRegisters on all LRP instructions 2020-01-16 22:24:20 +00:00
Luke Usher b64fcff530 Fix hang in WWE Raw 2 after previous PR 2020-01-16 20:57:23 +00:00
Luke Usher 3b06181c0c
Merge pull request #1811 from PatrickvL/avoid_lrp_error
Prevent error X5765 on pixel shader LPR opcode
2020-01-16 09:15:05 +00:00
Luke Usher 2c38dd6fe8
Merge pull request #1815 from RadWolfie/fix-default-audio-frequency
Fix Default Audio Frequency
2020-01-13 08:24:07 +00:00
RadWolfie a375faba51 fix audio frequency by set only given frequency value instead of from host function 2020-01-11 02:04:39 -06:00
Luke Usher 195795bd23
Merge pull request #1814 from RadWolfie/organize-directsound-plugin
Organize DirectSound Plugin (Part 1)
2020-01-10 17:34:07 +00:00
RadWolfie 7199f44cbb extend HLE DSOUND relative log modules 2020-01-08 18:30:26 -06:00
RadWolfie a57156fe4e split classes into their own files 2020-01-08 18:30:26 -06:00
RadWolfie 044d53c74f HOTFIX: add static in XADPCM.h file 2020-01-08 18:30:26 -06:00
RadWolfie b581073f07 remove duplicate log reports 2020-01-08 18:30:26 -06:00
PatrickvL 496de1218c
Merge pull request #1813 from LukeUsher/fix-hlsl-stack-overflow
Fix a crash when converting certain, large vertex shaders
2020-01-02 00:16:34 +01:00
Luke Usher e937bc13d9 Fix a crash when converting certain, large vertex shaders
This allows DOA3 to play again after it was broken by the HLSL work.

The cause of the crash was a Stack Overflow when compiling the shader,
caused by allocating a large object on the stack.

Instead, this commit allocates the XboxVertexShaderDecoder on the heap
instead, which thanks to the unique_ptr smart pointer, automatically
gets freed when it goes out of scope.
2020-01-01 22:29:28 +00:00
Luke Usher f101389704
Merge pull request #1812 from PatrickvL/trampoline_optimization
Trampoline optimization
2019-12-31 18:52:26 +00:00
PatrickvL cb4d27728c This moves construction of lookup strings outside call-locations towards a central LookupTrampolines() function, reducing the overhead of calling a trampoline down to a minimum. 2019-12-31 12:04:06 +01:00
patrickvl 36569f0d2e This prevents "error X5765: Dest register for LRP cannot be the same as first or third source register" in WWE RAW2.
A little background information :

When compiling pixel shaders, to facilitate later optimizations, FixOverusedRegisters() inserts MOV opcodes reading from constant, vertex color or texture registers, and writing to a free R register slot.

In this case, this transformed :

````
lrp r0, c0,r2,c1
````

into

````
mov r0, c0
lrp r0, r0,r2,c1
````

Not only introduces this a completely useless additional MOV (to R0, which is overwritten by the next LRP opcode), but it also results in LRP reading from R0, which is the same register it's writing to, which seems to be forbidden.

This fix prevents that from happening, by not-inserting a MOV when this situation would arise.

It's possible there exist more such scenario's, but let's tackle them when they are reported.

As for the other change in this commit : Instead of repeating a nearly identical while-loop three times, this loop is now wrapped in a for-loop, that handles all three versions (for PARAM_C, PARAM_V and PARAM_T type registers).
2019-12-26 14:56:28 +01:00
RadWolfie 8fd6253ad1
Merge pull request #1809 from PatrickvL/d3d-visibility-test_pvl
Implement BeginVisibilityTest, EndVisibilityTest and GetVisibilityTestResult
2019-12-25 12:13:24 -06:00