Luke Usher
18e0311f00
Fix an issue where multicast packets were not captured
2019-11-12 20:14:27 +00:00
Luke Usher
8bf71bd7df
Merge pull request #1769 from PatrickvL/nv2a_callbacks
...
Support Xbox Direct3D "read" callback events
2019-11-12 10:48:05 +00:00
Anthony Miles
f9e8bb64f6
Make sure we truncate the contents of the 'a' register, so it isn't rounded to the nearest integer
2019-11-12 22:33:50 +13:00
Luke Usher
1a64cbd2f4
Revert "Disable Read callbacks again"
...
This reverts commit d0655335d3
.
2019-11-09 22:57:31 +00:00
Luke Usher
7bd88cfb14
Fix a crash caused by double-free of g_pD3DDevice
...
This was only a problem for release builds, as the code for this was
disabled in Debug builds.
This fixes the crash when booting halo: It was unrelated to the (now
disabled) callbacks
2019-11-09 22:55:44 +00:00
PatrickvL
d0655335d3
Disable Read callbacks again
2019-11-07 18:30:48 +01:00
PatrickvL
9aea68534e
Merge pull request #1763 from PatrickvL/variable_renaming
...
Small code-cleanup
2019-11-07 16:20:02 +01:00
PatrickvL
d1d0700504
Introduce host CPU idle wait function.
...
Introduce host GPU flushing functionality.
Put Xbox callbacks into a queue instead of keeping around only one.
Use host GPU query events to emulate callback events at roughly the same time when the NV2A Xbox GPU would.
All this can be (programmatically) disabled by a g_bHack_DisableHostGPUQueries boolean (later, this could be made configurable).
2019-11-05 15:29:03 +01:00
PatrickvL
b36286a237
Move Xbox callback insertion and handling into separate functions, and call them where appropriate.
2019-11-05 15:25:05 +01:00
x1nixmzeng
cd183128d6
Fixed CMake designer settings for debugger gui
2019-11-04 20:46:46 +00:00
patrickvl
364499cda0
Reordered Direct3D global variables
2019-11-02 17:03:06 +01:00
patrickvl
54bd0e2a18
Change NULL into nullptr or xbnullptr or xbnull, depending the situation
2019-11-02 16:24:37 +01:00
patrickvl
e41d684cfa
Renamed global variables (taken from Vsh_unpatching), removed (or commented-out) unused variables, and additional comments
2019-11-02 16:24:36 +01:00
Fred Hallock
8ae612fdb7
Add support for relative Xbe paths ( #1766 )
...
* Fixed an issue where the Xbe path needs to be absolute. I added a call to std::filesystem::absolute to resolve the path to absolute at the earliest that it is accessed from __argv so that there is no chance for it to cause a problem.
2019-11-02 09:41:13 +00:00
ergo720
1256b3ee59
Fix sdl controller input bindings
2019-11-01 19:04:15 +01:00
PatrickvL
7508ec190e
Comment-only change : Make "test-case" comment mentions consistent
2019-10-28 09:40:03 +01:00
patrickvl
fa76ffe140
Finally fixed Indiana Jones regressions (BaseVertexIndex mustn't be enlarged when drawing indexed quads through a converted index buffer).
...
Also some renaming
2019-10-28 09:31:43 +01:00
patrickvl
91575822a8
Corrected arguments for indexed quad draws
2019-10-28 09:31:42 +01:00
patrickvl
4591e40712
Potential fix for Indiana Jones regression?
2019-10-28 09:31:42 +01:00
patrickvl
ec25283551
Addressed code review remarks, by adding explanations in comments and renaming a few arguments
2019-10-28 09:31:41 +01:00
patrickvl
eb9f610780
Move LowIndex and HighIndex values into DrawContext, GetVerticesInBuffer doesn't need to determine HighIndex again. Because of this, GetVerticesInBuffer has been removed, and the determination was inlined into CxbxVertexBufferConverter::Apply()
2019-10-28 09:31:41 +01:00
patrickvl
29ab156d44
Fix GetVerticesInBuffer for indexed draws, this might actually fix missing geometry.
...
Draw closing line (for a line loop) through vertex copies (to avoid a potential performance penalty when the old, index-based approach spanned over many indices).
Renamed a few variables to make their contents and purpose more clear
2019-10-28 09:31:40 +01:00
patrickvl
2504de39c8
Turned ConvertedIndexBuffer into a class that in it's destructor releases the host index buffer.
...
With that, added poor-mans IndexBuffer cache eviction.
Moved our way of calling CreateIndexBuffer into it's own function.
Condensed generation of quad-to-triangle index data into one function.
Renamed a bunch of variables, and added a few comments.
2019-10-28 09:31:40 +01:00
patrickvl
3d58eba6b8
Cleanup, additional testcases and one fix for a corner-case (closing line-loops should take BaseVertexIndex into account)
2019-10-28 09:31:40 +01:00
patrickvl
fce300d25a
Small fixes, but not for the regression, yet.
2019-10-28 09:31:39 +01:00
patrickvl
fedd9fbf67
Cleaned up and expanded upon commented test-case
2019-10-28 09:31:38 +01:00
patrickvl
a26560a8ee
Documented a few more known test-cases
2019-10-28 09:31:07 +01:00
patrickvl
14091b03a4
Speed up drawing indexed quads, by converting the indices (from ABCD quads to ABC+CDA triangles), and doing one call with those indices (instead of drawing each quad separately)
2019-10-28 09:30:29 +01:00
patrickvl
af35d9b161
Dumping of vertex declaration now also shows the number of streams (like before it was extracted into it's own function).
...
Also commented on vertex shader temporary register counts and r12+oPos behavior
2019-10-19 15:57:20 +02:00
patrickvl
0366e647a5
Dump vertex shader separately from conversion
2019-10-19 14:55:20 +02:00
literalmente-game
f8e660aa40
Add missing dcl statement
...
Fixes blank shader compilation
2019-10-17 03:44:54 -03:00
Luke Usher
3c497362e4
Merge pull request #1746 from PatrickvL/fix_vertex_decl_skip_token
...
Fix vertex conversion when skip tokens are present in the Xbox vertex declaration
2019-10-16 13:01:38 +01:00
Luke Usher
1914e17078
Typo
2019-10-14 16:29:18 +01:00
patrickvl
6ef5b21144
Fix vertex conversion when skip tokens are present in the Xbox vertex declaration.
2019-10-14 14:56:32 +02:00
Luke Usher
4646c14c29
Restore fog hack: Fixes Silent Hill 2
2019-10-14 08:01:15 +01:00
Luke Usher
dae0d84f9b
Fix an issue with reading FOGCOLOR in a pixel shader
2019-10-12 19:21:24 +01:00
Luke Usher
b0ace63021
Fix smashing drive intro
2019-10-12 13:48:34 +01:00
Luke Usher
f2235ab522
Fix missing fog in DolphinClassic
2019-10-11 08:42:03 +01:00
Luke Usher
c79b11109f
Fix crash in pixel shaders caused undefined behavior in LTCG handler
2019-10-08 16:24:47 +01:00
Luke Usher
9537158007
Fix nasty bug with LTCG D3DDevice_SetPixelShader_0
2019-10-07 17:03:54 +01:00
Luke Usher
58e0416a96
another typo
2019-10-07 15:58:27 +01:00
Luke Usher
de2b891d60
Typo
2019-10-06 21:13:34 +01:00
Luke Usher
fdbd9fb2ab
Add removed patches to unused-patches file.
2019-10-06 17:21:16 +01:00
Luke Usher
94c79876d2
Fix broken pixel shaders (Rallisport Challenge, etc)
2019-10-06 17:21:00 +01:00
Luke Usher
5d0b44303c
Fix a regression with XDK 4432 (Buffy and others)
2019-10-05 14:50:50 +01:00
Luke Usher
422e95db88
Remove all RenderState/TextureState Patches, bar one.
...
With this work, all of these patches are no longer required, and
instead, are replaced with a RenderStateConverter and
TextureStateConverter object
One single render state patch (D3DDevice_SetRenderState_Simple) is still
required, as that bypasses the D3D__RenderStates array in some XDK
versions.
2019-10-03 19:03:37 +01:00
Luke Usher
31078f7307
Add support for Xbox Controller S
2019-09-29 14:47:59 +01:00
RadWolfie
0b0ad41ddb
fix wchar_t buffer uneven allocate memory
2019-09-28 21:22:29 -05:00
RadWolfie
19ca5361af
fix new GUI input breakage for loader projects to compile
2019-09-27 11:08:21 -05:00
RadWolfie
f38dc91075
replace std's wstring_convert to SDL's iconv library
2019-09-26 10:19:01 -05:00
RadWolfie
b4457c3605
replace experimental filesystem to std filesystem
2019-09-25 13:53:02 -05:00
PatrickvL
a6c0353c5b
Fix a large part of XTL-hell ( #1731 )
...
* Rename g_CurrentXboxVertexShaderHandle to g_Xbox_VertexShader_Handle
* Remove CxbxDrawContext.XboxVertexShaderHandle field, and replaced reads from this field by g_Xbox_VertexShader_Handle (since all writes to this field used that as source)
* Removed commented-out #include's
* Removed duplicate DEF_VSH_* defines, replaced usage by existing X_D3DVSD_*() defines.
* Removed commented-out #include's from src/vsbc
* Removed nearly all "namespace XTL"-wrappers around #includes; Instead, wrap applicable contents of these included files in namespace XTL. Removed all now-obsolete "XTL::" prefixes.
* Moved all host D3D9 symbols outside of namespace XTL (finally!)
* Removed all "using namespace XTL;" occurences (except one, which is marked with a TODO)
* Restored Unix EOL style (to avoid large diffs with upstream)
* Moved CxbxInitAudio outside XTL namespace (this was the last Cxbx* symbol in XTL)
* Removed final "using namespace XTL" occurence by cleaner wrapping of logging intrinsics inside and outside namespace XTL.
* Prefix a few Xbox types with X_ (and avoid compile-error by removing the now-obsolete duplicate of X_D3DCALLBACK).
Also nicely indent all Direct3D9 alias defines, introduced when porting from Direct3D8. Who knows, one day we might re-define them once again to port to more recent Direct3D versions?
* Made EmuXTL.h obsolete, by #include'ing specific headers instead of it.
* Removed unused #include's of EmuFS.h
* Remove #pragma once, when there's already an include guard present.
* Delete EmuXTL.h and XOnline.cpp, keep but disable XOnline.h for documentation purposes.
* Fix all compiler warnings that have no functional impact. What's left requires more research
* Remove GetVersion, retain Wine check
2019-09-24 16:25:52 -05:00
Luke Usher
fa38cd41b2
Merge pull request #1730 from RadWolfie/fix-delay-input
...
Implement Input Initialize Latency Timer & Device Emulation Status
2019-09-20 16:29:37 +01:00
RadWolfie
d5f79df0b7
implement input initialize latency timer and device emulation status
2019-09-17 11:45:11 -05:00
PatrickvL
0c470044fb
Removed never-set union field : X_D3DVertexShader.CxbxVertexShaderHandle to avoid using garbage data.
2019-09-17 09:57:57 +02:00
PatrickvL
456906b6b4
Removed written-only field : CxbxVertexShader.HostDeclarationSize
2019-09-17 09:51:57 +02:00
RadWolfie
796561dd6c
Merge pull request #1725 from PatrickvL/moving_d3d_types
...
* Moved XbPushBuffer.h, XbVertexBuffer.h and XbVertexShader.h outside the XTL namespace.
Moved Cxbx-specific types from XbD3DTypes.h towards appropriate above header files.
Fixed up all XTL-hell that resulted from this.
* Moved XbConvert.h outside the XTL namespace.
Fixed up all XTL-hell that resulted from this.
* Moved XbPixelShader.h outside the XTL namespace.
Fixed up all XTL-hell that resulted from this.
* Moved XbState.h outside the XTL namespace.
Fixed up all XTL-hell that resulted from this.
2019-09-14 15:06:41 -05:00
ergo720
7c300c14ed
Merge pull request #1721 from RadWolfie/gui-input-fix-detect
...
Fix Bind Input Detection
2019-09-14 11:16:40 +02:00
PatrickvL
fee97614c2
Merge pull request #1726 from NZJenkins/king_kong2
...
Detect and remove register redefinitions in vertex declarations
2019-09-14 09:43:34 +02:00
RadWolfie
14221d0cca
fix detect input
2019-09-13 16:50:58 -05:00
PatrickvL
a407b40f46
Moved XbState.h outside the XTL namespace.
...
Fixed up all XTL-hell that resulted from this.
2019-09-13 14:35:02 +02:00
PatrickvL
7aa793b6b7
Moved XbPixelShader.h outside the XTL namespace.
...
Fixed up all XTL-hell that resulted from this.
2019-09-13 13:37:41 +02:00
PatrickvL
a6dd0c49a6
Addressed review-comment (removing unneeded XTL namespace prefix)
2019-09-13 13:07:07 +02:00
Anthony Miles
07d53c0e2b
fixup commit
...
- free pXboxDeclarationCopy
- use bitset instead of array
- include method in sort
2019-09-13 20:46:19 +12:00
PatrickvL
98c89ec656
Moved XbConvert.h outside the XTL namespace.
...
Fixed up all XTL-hell that resulted from this.
2019-09-12 17:46:16 +02:00
patrickvl
32e155e1ba
Moved XbPushBuffer.h, XbVertexBuffer.h and XbVertexShader.h outside the XTL namespace.
...
Moved Cxbx-specific types from XbD3DTypes.h towards appropriate above header files.
Fixed up all XTL-hell that resulted from this.
2019-09-12 17:46:16 +02:00
RadWolfie
b01a6c97cf
Merge pull request #1722 from PatrickvL/vsh_cleanup
...
Moving, reordering, renaming and other cleanup of D3D symbols
2019-09-12 10:30:12 -05:00
PatrickvL
eb4db9a27a
Moving, reordering, renaming and other cleanup of D3D symbols (all taken from my Vsh_unpatching branch)
2019-09-12 09:34:58 +02:00
Anthony Miles
1d6fd7e851
Detect and remove register redefinitions
2019-09-12 18:56:27 +12:00
Anthony Miles
6b5f4036c1
Initialize pCurrentvertexShaderStreamInfo to nullptr
2019-09-11 22:26:49 +12:00
Luke Usher
614e7e4b9f
Fix crash on CopyRects failure
2019-09-09 22:12:46 +01:00
ergo720
f6e331f484
Add default bindings for the keyboard
2019-09-09 12:39:27 +02:00
PatrickvL
278d511794
Lots of cleanup regarding vertex declarations and shaders ( #1709 )
2019-09-06 10:56:53 -05:00
ergo720
d8b0075c93
New input gui ( #1713 )
2019-09-05 16:10:09 -05:00
Luke Usher
294447bba8
Fix CopyRects when upscaling is used
2019-09-05 19:23:18 +01:00
Luke Usher
ef78455516
Fix CreateTexture errors
2019-09-04 18:45:12 +01:00
Luke Usher
f76408a03d
Fix an issue where converting a texture to a render-target would sometimes fail
2019-09-04 18:26:54 +01:00
Luke Usher
8c55274cb3
Fix CopyRects in Crash Bandicoot: WoC (and others)
2019-09-04 18:26:48 +01:00
Luke Usher
b236e94935
Fix a nasty bug where CopyRects never worked!
2019-09-04 18:26:14 +01:00
Kyle Niewiada
9be770163e
Align structure to correctly map Xapi controller capabilities
2019-08-28 17:11:43 -04:00
Luke Usher
f48f267c89
Fix an issue where D3DDevice_SetRenderTarget would fail, if called on a
...
surface we didn't previously create as a Render Target
The Xbox ignores the D3DUSAGE_RENDERTARGET flag, but the host *requires*
it.
We can't determine if a surface is a render target until the game calles
D3DDevice_SetRenderTarget, so if we encounter a call on a non-render
target, we can fix the situation and recreate it as such
Fixes the 'Graffiti Select' menu in JSRF
2019-08-25 14:40:15 +01:00
PatrickvL
fce723c93b
Merge pull request #1704 from LukeUsher/fix-copyrects
...
Fix CopyRects between textures, on GPU
2019-08-25 15:22:04 +02:00
PatrickvL
a77403b7b6
Merge pull request #1703 from LukeUsher/fix-level-face-surface
...
Fix surface level/face mapping without patches!
2019-08-25 15:14:52 +02:00
Luke Usher
a031875793
Fix CopyRects between textures, on GPU
2019-08-25 14:00:41 +01:00
PatrickvL
c3f6233ca2
Merge pull request #1702 from LukeUsher/move-container-type-check
...
Move pixel container type check to GetHostBaseTexture
2019-08-25 14:52:11 +02:00
Luke Usher
de1bc00334
Fix surface level/face mapping without patches!
2019-08-25 13:46:07 +01:00
Luke Usher
6c30058a40
Move pixel container type check to GetHostBaseTexture
2019-08-25 13:40:43 +01:00
Luke Usher
a4338e08f3
Unpatch D3DResource_Release, detect freeing of resources via DestroyResource instead
2019-08-25 13:35:59 +01:00
Luke Usher
afe76e0bba
Update XbSymbolDatabase to latest version as of today
2019-08-25 12:28:21 +01:00
Luke Usher
548eeba924
Remove LockFS from the functions that don't require locking
2019-08-16 20:15:38 +01:00
Luke Usher
688238c40b
Merge pull request #1688 from NZJenkins/framerate_key
...
Frame limiter toggle
2019-08-03 08:19:20 +01:00
Anthony Miles
a38138db52
Frame limiter toggle and F9 debug key binding
2019-08-02 22:13:17 +12:00
Anthony Miles
e36907542b
Avoid consuming some keypresses in the GUI
2019-08-02 22:12:23 +12:00
Anthony Miles
11f005b14c
Remove extra UnlockFS() call
2019-08-02 19:42:47 +12:00
Anthony Miles
5e1851fcad
Preserve caller esp value
2019-08-02 19:42:47 +12:00
PatrickvL
f62030a548
Merge pull request #1683 from LukeUsher/vertex-shader-register-tweaks
...
Vertex shader register tweaks
2019-07-29 11:30:09 +02:00
Luke Usher
31253815e1
Define constants + fix typos
2019-07-29 09:19:10 +01:00
Luke Usher
ab3b8f84ae
Fix potential stack corruption, thanks revel8n
2019-07-28 14:26:43 +01:00
Luke Usher
cdd962e5a4
3925 alpha test hack
2019-07-28 14:26:43 +01:00
Luke Usher
d2e65f0e67
Fix vOffset/vScale overwritten by nv2a constants
2019-07-28 14:26:19 +01:00
Anthony Miles
99f4c460b8
Improve LockFS performance
2019-07-27 11:22:41 +12:00
Luke Usher
35ce3e7fb1
Treat all vertex registers as 'User Defined'
2019-07-25 16:23:39 +01:00
Luke Usher
ae4dbce372
Comment out warnings that pollute the log
2019-07-25 12:11:59 +01:00
Luke Usher
6ced176977
Cleanup + R12 oPos readback
2019-07-25 07:39:24 +01:00
Luke Usher
bcc7f0c650
Remove R12 replace hack: VS2_X has enough registers
2019-07-25 07:14:53 +01:00
Luke Usher
b62b8341cc
3925 fog disable hack
2019-07-24 18:37:03 +01:00
Luke Usher
6326602232
Writeback vertex attributes
2019-07-24 18:34:39 +01:00
Luke Usher
fb871f283f
Prevent new R registers being trashed
2019-07-24 15:36:56 +01:00
Luke Usher
893a25baf2
Pass default values at SetVertexShader time
2019-07-24 15:26:50 +01:00
Luke Usher
5bfb98c312
Read registers not present in vertex buffers from SetVertexData4f registers
2019-07-24 14:39:58 +01:00
Luke Usher
8d8e256697
Update SetVertexData4f to write it's input to shader constants
2019-07-24 12:00:32 +01:00
Luke Usher
b5cec3e8fc
Cleanup Register Usage detection + Remove incorrect Xbox->PC mappings (From D3D8to9)
2019-07-24 11:52:19 +01:00
Luke Usher
931970068c
Fix when CreateDevice doesn't call SetRenderTarget
...
This allows for the Xbox backbuffer location to be properly determined, even in titles that do not call
SetRenderTarget at all!
Tt also fixes the situation where games didn't call SetRenderTarget internally within CreateDevice.
This works because GetRenderTarget always returns the assigned render target, which immediately after
CreateDevice, is *always* the backbuffer.
This allows us to reliably determine the default backbuffer and depth stencil, even without a CreateDevice call.
This fixed a regresion in Shin Megami Tensei: Nine , and has potential to fix some more blackscreen issues.
2019-07-21 12:37:06 +01:00
RadWolfie
d4f8ec93bf
Merge pull request #1679 from ergo720/error_log_lv
...
Add error log level to logging system
2019-07-20 22:20:45 -05:00
ergo720
fd4bcb39ff
Added error log level
2019-07-20 21:53:15 +02:00
Luke Usher
4a3f9a19a4
Allow LoadVertexShaderProgram to work in games without their own CreateVertexShader function
2019-07-20 11:56:13 +01:00
RadWolfie
e646eada8d
fix universal error message output
2019-07-20 01:47:46 -05:00
ergo720
7f70c88917
Fix a bug in KiTimerMtx.Acquired ( #1675 )
2019-07-20 00:36:53 +02:00
RadWolfie
0c334de398
Merge pull request #1674 from ergo720/d3d_resource_crash_fix
...
Fix a crash in JSRF
2019-07-19 15:08:09 -05:00
ergo720
19984db979
Fix a crash in JSRF
2019-07-19 21:17:42 +02:00
RadWolfie
99fc299611
Merge pull request #1672 from LukeUsher/fix-shader-constants
...
Fix shader constants: It's per-function not per-XDK
2019-07-19 13:56:51 -05:00
PatrickvL
69ebe1b4ba
Merge pull request #1669 from LukeUsher/work-around-for-missing-destroyresource-patch
...
Workaround & LOG_TEST_CASE for missing DestroyResource patch
2019-07-19 10:08:17 +02:00
PatrickvL
8cba41744f
Merge pull request #1670 from LukeUsher/ltcg-fixes
...
Improve some LTCG specific patches
2019-07-19 10:07:38 +02:00
Anthony Miles
0ea66ea0d8
Avoid tight loop in LockFS. Fixes Prince of Persia 2 slowdown during loading screen
2019-07-19 18:42:59 +12:00
Anthony Miles
63996f87eb
Avoid tight loop in interrupt thread. Alleviates some stutter in Panzer Dragoon Orta
2019-07-19 18:41:50 +12:00
Anthony Miles
9c4277ae9b
Avoid tight loop in DirectSound thread worker
2019-07-19 18:41:14 +12:00
Luke Usher
fdaa102dc8
Fix shader constants: It's per-function not per-XDK
2019-07-18 22:20:55 +01:00
RadWolfie
64f1948dd9
hotfix GenerateMixBinDefault check for lpwfxFormat is nullptr
2019-07-17 16:21:29 -05:00
Luke Usher
87aa125af4
Fix another LTCG variant of CreateDevice
2019-07-17 22:20:59 +01:00
Luke Usher
511fd017f5
Add two more LTCG specific patches
2019-07-17 19:44:16 +01:00
Luke Usher
abe82f0336
Update to be informational only
2019-07-17 14:58:51 +01:00
Luke Usher
4190b81431
Add an early-out for non-zero internal reference count
2019-07-17 10:12:01 +01:00
Luke Usher
bd3569ff95
Workaround & LOG_TEST_CASE for missing DestroyResource patch
2019-07-16 21:17:35 +01:00
Luke Usher
53ea7f102d
Fix a bug with D3DDevice_Reset that could trigger a black screen on resolution change
2019-07-16 20:50:13 +01:00
Luke Usher
059c587523
Remove 'Render to Host Backbuffer' hack
2019-07-16 16:53:04 +01:00
PatrickvL
337a9f6914
Merge pull request #1655 from LukeUsher/seperate-render-and-display-resolution
...
Higher Resolution Rendering Support
2019-07-15 07:05:55 +02:00
RadWolfie
82b2c3559d
Merge pull request #1662 from NZJenkins/input_hack
...
Device connection delay hack
2019-07-14 22:39:26 -05:00
PatrickvL
3a0c0bb6a0
Pixel shader upgrading ( #1631 )
...
* Remove support for shader models older than 2.0 while keep existing functionality intact.
* Fixed combiner output flags parsing (it didn't use a bitmask before)
* Separate decoding of register combiner registers from generation of pixel shaders.
* Added LOG_TEST_CASE's for the three cases that weren't hit before, so that we can gather titles that hit those cases.
* Remove remnants of code that supported pixel shader versions below 2.0.
Also addressed a few TODO's, by applying the IsArithetic() check instead of checking for opcodes > PO_TEX
2019-07-14 21:16:51 -05:00
RadWolfie
64f7822c1c
Merge pull request #1657 from gellis713/fixing-issue-1656
...
Show Disabled Selection in Network Configuration
2019-07-13 18:03:06 -05:00
gellis713
56e08b03cb
Ensure "Disabled" is an option before and after first apply of adapter to prevent crashes.
2019-07-13 17:27:43 -05:00
Luke Usher
aeba69c71d
Fix FMV scaling in Star Wars: KOTOR
2019-07-13 22:37:10 +01:00
Anthony Miles
d0d8b864bd
fixup g_ prefix
2019-07-13 19:21:50 +12:00
Anthony Miles
15bccb3e06
Defer gamepad connection hack
...
- Don't immediately connect gamepads on the first connection query
- Remove per-title input hacks
- Move device connection logic to function
2019-07-13 19:19:57 +12:00
Luke Usher
26f7bb130a
Small, but significant performance tweaks
2019-07-12 20:48:38 +01:00
Luke Usher
16cb3faf23
Revert "Tweaking cache values"
...
This reverts commit 1a0d55b473
.
2019-07-11 20:37:14 +01:00
Luke Usher
1a0d55b473
Tweaking cache values
2019-07-11 18:16:03 +01:00
Luke Usher
3ccc02b7f4
Fix crash in DOA2 and GTA
2019-07-10 18:55:08 +01:00
Luke Usher
fe1285dc50
Minor performance tweak
2019-07-10 11:30:52 +01:00
Luke Usher
1e7b6891a3
Higher Resolution Rendering Support
2019-07-10 11:03:38 +01:00
RadWolfie
b4b9f18769
fix warning and use current i variable than misuse same variable
...
Oops...
2019-07-09 15:54:54 -05:00
RadWolfie
a06341e0d2
relocate enter/leave critical section into dsound's patch functions
2019-07-09 15:54:54 -05:00
RadWolfie
c5b374e110
connect APIs to the mixbin functions
2019-07-09 22:30:06 +02:00
RadWolfie
c0c21253ec
Add GetVoiceProperties and SetMixBins hybrid functions
2019-07-09 22:30:06 +02:00
RadWolfie
20a237cbe9
fix parameters for SetMixBins patch functions
2019-07-09 22:30:06 +02:00
RadWolfie
5ebcd73d9c
Interface default creation to InitVoiceProperties function.
2019-07-09 22:30:06 +02:00
RadWolfie
73d40777f6
add GenerateMixBinDefault and InitVoiceProperties functions
2019-07-09 22:30:06 +02:00
RadWolfie
ced70f2334
Prepare to use DSVOICEPROPS for buffer/stream classes.
2019-07-09 22:30:06 +02:00
RadWolfie
7039332abd
fix X_DSMIXBINVOLUMEPAIR typo
2019-07-09 22:30:06 +02:00
RadWolfie
63663301f2
separate D3D8 build version away from general build version
...
Plus prepare DSOUND build version to be use.
2019-07-07 16:59:52 +02:00
gellis713
0be1370d0b
Removes _XBOXKRNL_XXXX defines and dependency in xboxkrnl/xboxkrnl.h
2019-07-05 18:45:36 -05:00
Luke Usher
62a0e48f9c
Update comment with more info
2019-07-03 08:37:03 +01:00
Luke Usher
bd3dccf3f6
Fix dashboard black screen with backbuffer hack by always scaling viewport for backbuffer hack on the default render target
2019-07-03 08:31:34 +01:00
Luke Usher
196f1a74fd
Disable new behavior when backbuffer hack is enabled: The two are incompatible
2019-07-03 08:19:26 +01:00
Luke Usher
eec144e2e2
Fix black screen in some titles when switching resolutions during gameplay
...
This contains a bug fix that can be seen on the MS dashboard (Clipped viewport values were never copied back to HostViewPort)
And one that was a previously unknown behavior (changing backbuffer width/height without a call to SetRenderTarget)
a LOG_TEST_CASE has been added for the new behavior, and a fix has been applied by destroying the existing host render target, and creating a new one.
Known PR Test Cases:
- MS Dashboard 'Video Mode' settings menu (When switching between 'widescreen', 'letterbox', 'normal')
- Chihiro Factory Test Program (requires chihiro-work branch)
2019-07-02 12:33:15 +01:00
Luke Usher
952e7870cd
Stub some 3D sound functions.
...
Fixes a crash in Conker & Kingdom Under Fire (+ probably lots more)
2019-07-01 22:42:28 +02:00
Luke Usher
87d6ae65f1
Fix a deadlock when some LTCG titles attempt to wait for vertical blank
2019-06-26 21:00:28 +01:00
RadWolfie
5f5e19a36d
Merge pull request #1618 from PatrickvL/IsSupportedFormat
...
Extracted IsSupportedFormat() method, now also called in bias-determination
2019-06-26 10:17:01 -05:00
patrickvl
071c072d59
Extracted IsSupportedFormat() method, now also called in bias-determination
2019-06-26 17:07:15 +02:00
Luke Usher
7851af5378
Prevent wasted call to WalkIndexBuffer when drawing indexed quadlists
2019-06-26 16:37:18 +02:00
Luke Usher
f36cd0540a
Implement Vertex Buffer Caching
2019-06-26 16:37:18 +02:00
Luke Usher
82307d7794
Fix a bug where the smashing drive fix was actually ignored
2019-06-25 09:14:19 +01:00
Anthony Miles
c3f977f864
Ignore D3DVSDT_NONE
2019-06-21 21:50:16 +12:00
Luke Usher
70ef251e4e
Merge pull request #1641 from NZJenkins/key_handling
...
Call DefWindowProc when WM_KEYDOWN, WM_SYSKEYDOWN are not handled
2019-06-20 11:14:43 +01:00
Anthony Miles
db01f729f7
Call DefWindowProc when WM_KEYDOWN, WM_SYSKEYDOWN are not handled
2019-06-20 21:49:55 +12:00
Luke Usher
cf7fcc1603
Fix 'Smashing Drive' on AMD/Intel GPUs
2019-06-18 17:12:53 +01:00
patrickvl
e150690646
Limit log sanitation of string buffers to a maximum length to avoid printing invalid characters
2019-06-15 16:30:23 +02:00
Luke Usher
59d0f36f2f
Merge pull request #1632 from ergo720/remove_dbgprintfex
...
Remove DBG_PRINTF_EX
2019-06-10 18:45:44 +01:00
Luke Usher
a934d7619c
Revert "Prevent NVNet hogging cpu"
2019-06-10 18:42:02 +01:00
ergo720
0eb57e2578
Remove DBG_PRINTF_EX
2019-06-10 18:51:45 +02:00
Anthony Miles
8cf2f0e467
Remove unused logging macros
...
- LOG_ONCE
- LOG_XBOX_CALL
- LOG_FIRST_XBOX_CALL
2019-06-10 21:47:04 +12:00
Anthony Miles
f74cd91404
Remove dev logging
2019-06-10 21:47:04 +12:00
Anthony Miles
1611559087
Remove DBG_PRINTF and remaining usages
2019-06-10 21:46:49 +12:00
Anthony Miles
9a7ded6a53
Replace DBG_PRINTF with EmuLog
2019-06-07 23:26:26 +12:00
Anthony Miles
e97aecf278
Remove duplicate FLAG2STR
2019-06-07 23:24:10 +12:00
Anthony Miles
30badcd306
Fix DBG_PRINTF with missing newline
2019-06-07 23:24:10 +12:00
ergo720
71057b0486
Align TLSData to 16 byte boundary
2019-06-05 00:12:05 +02:00
Luke Usher
29249432b3
Fix an issue where the wrong depth buffer was selected
2019-05-30 20:11:22 +01:00
Luke Usher
b5a05f27c2
Merge pull request #1621 from NZJenkins/vs_overflow
...
Use stringstream instead of fixed-size buffer to prevent overrun
2019-05-27 10:22:30 +01:00
Luke Usher
39c0dbb79c
Merge pull request #1620 from NZJenkins/vs_scalar_swizzle
...
Always apply scalar swizzle fix
2019-05-27 10:21:06 +01:00
Anthony Miles
f8a503d69f
fixup pointers, use references
2019-05-27 18:20:49 +12:00
Anthony Miles
d4cbcc2d4a
Add SetStreamSource stride zero test case
2019-05-26 22:49:33 +12:00
Anthony Miles
8cf90d7604
remove unnecessary to_string()
2019-05-26 21:32:36 +12:00
Anthony Miles
84fd493011
Use stringstream instead of fixed-size buffer to prevent overrun
2019-05-26 17:09:28 +12:00
Anthony Miles
55e2643afa
Always apply scalar swizzle fix
2019-05-26 16:18:44 +12:00
RadWolfie
7373289804
fix cxbxr-debugger code to find resources correctly
2019-05-16 12:34:02 -05:00
RadWolfie
c9a0141ca3
Delete CxbxDebugger.csproj
...
Oops
2019-05-16 12:32:49 -05:00
Luke Usher
6a29876b5e
Merge pull request #1611 from Cxbx-Reloaded/cmake
...
Use CMake build-system
2019-05-15 08:06:01 +01:00
PatrickvL
55c015c1b6
Merge pull request #1603 from NZJenkins/texbem_stage
...
Bumpmap bias tweaks
2019-05-15 07:14:33 +02:00
Luke Usher
561530a6c1
add HACK: note
2019-05-14 21:15:00 +01:00
Luke Usher
cfde68d8d5
Selectively unpatch Fiber functions, fixes Futurama without breaking DOA games
2019-05-14 08:55:49 +01:00
Margen67
1a92e63866
Update http documentation links to https and fix (some) dead ones
2019-05-12 02:36:50 -07:00
RadWolfie
e815f42e4c
add cmake support
2019-05-10 19:07:58 -05:00
Luke Usher
84f6d322e1
Fix an issue with overlay blitting after StretchRects change
2019-05-08 10:03:04 +01:00
Anthony Miles
1bd79c29eb
Bumpmap bias tweaks:
...
- Use inputStage for bias check
- SCALE_BX2 instead of BIAS
- Disable L6V5U5 biasing (for now)
2019-05-05 18:41:06 +12:00
RadWolfie
d3caface5d
fix VS 2019 compiler
2019-05-04 15:06:06 -05:00
Luke Usher
57238afbe5
Remove now-unused variable
2019-05-04 20:31:27 +01:00
Luke Usher
a8dfc34678
Fix Begin/EndPush length calculation
2019-05-04 19:54:55 +01:00
Luke Usher
7af45097b7
Disable multisampling yet again...
...
It's a shame but the previous 'fix' only worked for the dashboard, and caused
issues in many games themselves.
For example, GTA3 only rendered to half-the-screen due to multisampling issues.
A better fix needs to be investigated and implemented, sadly, we can't rely on
D3D9's native multisampling as it prevents the buffers from being locked... which
Cxbx-R *requires*
2019-05-03 22:56:21 +01:00
Luke Usher
7d9b954491
Fix multisampling
2019-05-01 11:37:19 +01:00
Luke Usher
cc552f3972
Merge pull request #1595 from LukeUsher/use-stretchrect
...
Use StretchRect to blit the Xbox backbuffer
2019-05-01 09:55:23 +01:00
Luke Usher
1626b9e4e4
restore param comments
2019-05-01 09:41:08 +01:00
Luke Usher
ce51fdcd1c
Merge pull request #1593 from LukeUsher/bumpmap_bias
...
Selectively add bias modifier so bump-map is signed
2019-05-01 09:38:37 +01:00
Luke Usher
fd5c575e88
Use StretchRect to blit the Xbox backbuffer
...
This is a huge performance increase when using higher resolutions while
the Render to Host Backbuffer hack is disabled.
This was not easily possible in D3D8, but now we have D3D9, we can use
StretchRect to prevent unnecessary GPU->CPU transfers.
2019-05-01 08:42:03 +01:00
Luke Usher
deb5268df8
Prevent NVNet hogging cpu
2019-05-01 08:18:16 +01:00
Luke Usher
50d47fc881
Update fix based on new information
2019-04-30 13:53:01 +01:00
Luke Usher
96d2f24877
Apply a bias to texbem if an unsupported input format is used (JSRF fix)
2019-04-29 20:22:46 +01:00
Anthony Miles
9694153db8
Add bias modifier so bumpmap is signed
2019-04-28 11:55:44 +12:00
ergo720
884cef91e9
Move EmuLog(Ex) together with the other logging functions
2019-04-21 14:27:23 +02:00
Luke Usher
d5ac72d8cd
Don't overrite initial Xbox RenderState/TextureState values
2019-04-17 13:49:51 +01:00
Luke Usher
ab8a971215
Fix when titles attempt to create declaration only shaders, slightly improves Sonic Heroes
2019-04-17 13:49:51 +01:00
Luke Usher
d58a69a9db
Use Xbox definitions
2019-04-17 13:49:51 +01:00
Luke Usher
f8af77d0e1
Fix when 3DDevice_LoadVertexShaderProgram is called while an FVF shader is set
2019-04-17 13:49:51 +01:00
Luke Usher
43e147777c
Add LOG_TEST_CASE for previously unknown behavior
...
A fix for this scenario will be investigated soon
2019-04-17 13:49:51 +01:00
Luke Usher
53dc6441c6
Fix an issue with mipmap levels when using non-square textures
2019-04-17 13:49:51 +01:00
RadWolfie
82909b939f
add "Disable mute on unfocus" option to audio settings
2019-04-12 16:06:58 -05:00
RadWolfie
5d973b2dec
fix Visual Studio resource generated files
2019-04-12 13:44:07 -05:00
PatrickvL
e9afda2f0a
Merge pull request #1584 from LukeUsher/star-wars-dvd-demo
...
Allow XBE Section preload to fail
2019-04-11 13:05:48 +02:00
Luke Usher
3c3305a17a
Update Comment
2019-04-11 09:50:46 +01:00
Luke Usher
4dbeab62ac
Allow XBE Section preload to fail
...
Since all sections in all Xbes are usually marked as preload, the Xbox
kernel attempts to load them all regardless.
In some titles (for example, Lego Star Wars DVD demo) the whole XBE is
too large to fit in RAM, and it is *expected* for the preload to fail.
Previously, when hit with this scenario, Cxbx-R would hard crash.
Now it mirrors hardware behavior and gracefully continues, skipping the
failed Xbe section.
Q: Why is this the case?
A: It's possible (and proven) that with titles such as the Lego Star Wars
DVD Demo, *all* game data is contained within the XBE file, rather than
on-disc as raw files. Naturally, these are too big to fit into the Xbox
RAM, so certain large sections fail to allocate, and are skipped
entirely by the Xbox Kernel.
The game then reads data from these sections by *not* loading them to
memory, but parsing the section *headers* to do raw file-io and read the
Xbe file as a binary blob, parsing the virtual filesystem.
This change allows Lego Star Wars DVD Demo (and other large Xbe titles)
to boot.
Lego Star Wars DVD Demo doesn't work yet, however, as it attempts a
dashboard update and fails, but it no longer crashes the whole emulator.
2019-04-11 08:32:39 +01:00
Luke Usher
10badd5f8f
Merge pull request #1583 from NZJenkins/unset_textures_on_release
...
Clear released texture from EmuD3DActiveTexture
2019-04-11 08:26:05 +01:00
Anthony Miles
35c3981f7d
Clear released texture from EmuD3DActiveTexture
2019-04-10 21:22:42 +12:00
Anthony Miles
b859491b19
Log non-texture resources passed to GetHostTexture
2019-04-10 21:16:49 +12:00
Luke Usher
843c65a11c
Add dummy item where UncapFramerate used to sit, add note to explain why
2019-04-08 14:58:45 +01:00
Luke Usher
2ad5cfce8d
Feedback
2019-04-08 11:01:42 +01:00
Luke Usher
8b2e758377
Respect Xbox presentation interval
...
This allows us to improve our frame-limiter, so that we can disable it
if a game does not require a fixed frame-rate, and enable it for titles
that do.
Result:
XDK Samples can now run at high frame-rates (100+ fps) without effecting actual
speed (just like on real hardware)
Dashboard can reach over 100fps, and still run at the correct speed
JSRF and other titles that tie game speed to frame-rate are limited to
60FPS.
Fixed broken VSYNC handling too: Disable VSYNC has been broken since the
D3D9 port, perhaps before then.
2019-04-08 08:11:12 +01:00
PatrickvL
13daf887c0
Merge pull request #1578 from LukeUsher/fix-render-texture-states
...
Minor Cleanup of Render State and Texture State handling
2019-04-07 13:07:05 +02:00
Luke Usher
a0e8bb8973
Feedback
2019-04-07 09:21:11 +01:00
Luke Usher
372de28d7b
Reduce D3DTOP >= 4361 exception to >= 4134: Fixes DOA3 PAL
2019-04-06 14:07:43 +01:00
Luke Usher
04b311ec8c
Restore StageIndex--
2019-04-05 15:09:21 +01:00
Luke Usher
67569172cb
More point sprite tweaks
2019-04-05 14:45:00 +01:00
Luke Usher
2d8f5124da
Improve mappings of D3DTOP values for earlier XDKs
...
TODO: Verify when the values changed, it must be somewhere between 3911 and 4361 but where?
2019-04-05 14:30:00 +01:00
ergo720
9270091d99
Fix a deadlock in KiTimerExpiration caused by KeWaitForSingleObject
...
This also fixes LLE USB not working for homebrews
2019-04-05 14:09:06 +02:00
Luke Usher
a4741d5c3e
Fix issue where Portable Mode would still default to AppData for EmuDisk
2019-04-05 10:48:23 +01:00
Luke Usher
9897c8daeb
Explicitly map RenderState values
...
Prevents incorrect mappings from going accidentally un-noticed
Also implements X_D3DRS_WRAP2/X_D3DRS_WRAP3, as well as D3DWRAPCOORD_3 which were previously ignored.
2019-04-05 09:44:54 +01:00
Luke Usher
c37fe2595e
Fix broken textures caused by off-by-one error (solve regressions)
2019-04-05 09:42:30 +01:00
Luke Usher
21377baf93
Fix broken/incorrect X_D3DTSS_ALPHAOP values.
...
Fixes broken cloth polygons in Dead or Alive 3.
2019-04-04 20:07:51 +01:00
Luke Usher
11daaac408
Remove EmuD3DRenderStateSimpleEncoded, use DxbxRenderStateInfo instead
...
This code is easier to maintain, easier to extend, and removes more
legacy cruft from original Cxbx.
2019-04-04 14:32:15 +01:00
Luke Usher
f6c2544c22
Slightly better way of handling Point Sprites in XbState
2019-04-03 12:03:36 +01:00
Luke Usher
ed559e5fd6
Cleanup XbState code: Preparing for bug fixes/improvements
2019-04-03 11:47:32 +01:00
Luke Usher
7d4e260c33
Cleanup XbConvert as a whole: Less magic, more mapping, more logging of unsupported features
2019-04-02 11:16:14 +01:00
RadWolfie
1affa2a680
hotfix for convert uint16_t to uint32_t as should be for nBlockAlign equation
2019-03-28 00:26:50 -05:00
Luke Usher
70531f6cdb
Stop SetScreenSpaceOffset from spamming log files
2019-03-27 23:12:01 -05:00
Luke Usher
e7f65b55f1
Implement CDirectSoundStream_GetInfo proper
2019-03-27 23:12:01 -05:00
RadWolfie
52357b7ac8
fix nBlockAlign equation
2019-03-27 22:14:43 -05:00
PatrickvL
d3730519d3
Merge pull request #1574 from LukeUsher/use-standard-types
...
Use standard types from cstdint rather than custom typedefs
2019-03-27 17:14:02 +01:00
Luke Usher
aeca3d3d92
Use standard types from cstdint rather than custom typedefs
2019-03-27 15:54:17 +00:00
Luke Usher
8e530e3ec6
Add GunValkyre PAL (IG-023) to Input Hack list
2019-03-27 13:55:43 +00:00
RadWolfie
0fdc7ec7ae
Merge pull request #1572 from LukeUsher/nvnet-revisited
...
Introduce Network Support (System Link/Lan)
2019-03-26 11:08:46 -05:00
Luke Usher
ec2ae6e95a
Line Endings
2019-03-26 15:43:34 +00:00
Luke Usher
0c6e9d1b10
ASCII art + log changes
2019-03-26 08:07:12 +00:00
Luke Usher
66d8e27906
Bump settings version
2019-03-26 08:03:36 +00:00
Luke Usher
af8cc693df
Fix eeprom Reset
2019-03-25 22:26:31 +00:00
Luke Usher
20aa13b44e
Rebuilding network support from NVNet Branch
...
Randomly generate Mac and Serial for new EEPROMs: Thanks dracc
Delay load pcap: Allows the emulator to run (without networking) when pcap isn't present
2019-03-25 19:20:34 +00:00
Anthony Miles
ca6c4bf035
Fix warning passing ushort to set1
2019-03-23 22:49:10 +13:00
ergo720
d370c89a44
Fix a bug in KiClockIsr affecting slower host CPUs
2019-03-20 14:16:25 +01:00
ergo720
00cbd82cd9
Squashed commit (Update copyright texts)
2019-03-12 18:58:24 +01:00
PatrickvL
bb8bb334d1
Merge pull request #1567 from ergo720/rsa_update2
...
Alternative RSA implementation
2019-03-12 10:27:03 +01:00
ergo720
9651cc8ba6
Fixed typo in mbedtls_swap_endianness
2019-03-11 22:45:38 +01:00
ergo720
1bbd2e1cc8
Moved swap_endianess to EmuRsa.cpp
2019-03-11 21:16:35 +01:00
ergo720
1b22c80c5c
Small update
2019-03-11 20:44:38 +01:00
ergo720
7dafc03484
Remove obsolete comment
2019-03-11 18:48:18 +01:00
ergo720
017f6a2e7a
Use libtommath to do rsa
2019-03-11 18:39:22 +01:00
Anthony Miles
0dce158641
Make WalkIndexBuffer implementation extern, fixing repeated bootstrap calls
2019-03-10 20:24:30 +13:00
Anthony Miles
ce61520e15
Fix truncation warning with explicit cast
2019-03-06 21:38:42 +13:00
Jannik Vogel
af0c85286f
Implement `XcModExp`
2019-03-04 04:07:47 +01:00
Jannik Vogel
e1850c4277
Fix `gigimport` in RSA
2019-03-04 04:07:42 +01:00
Jannik Vogel
e0df0d6d9e
Use `const` in RSA related pointers
2019-03-04 04:07:39 +01:00
Fisherman166
aea3e27ab1
Remove ascii CXBX headers from all source files.
2019-03-02 20:06:24 -08:00
ergo720
a69553c1b6
Fix xbe loading when section filesize is zero
2019-03-02 19:05:46 +01:00
RadWolfie
4e772d296e
Add todo notes
2019-02-19 22:09:11 -06:00
RadWolfie
885b1ba10f
Added Xbox DS(S|B)CAPS flags verbose
2019-02-19 22:09:11 -06:00
RadWolfie
1607c5a386
Added 3 more verbose log detail to DirectSound plugin
...
Added WAVEFORMAT_CHANNEL, WAVEFORMAT_TAG, and DS_BCAPS
2019-02-19 22:09:11 -06:00
RadWolfie
553883322c
Include every documented flag/enum/struct from XbDSoundTypes.h for automate verbose output
2019-02-19 22:09:11 -06:00
RadWolfie
2d7378daa4
Ouput xbox to host conversion failure verbose for first buffer/stream creation.
...
It may not be enough verbose, though trying it out to gather information from user's issue.
2019-02-19 22:09:11 -06:00
RadWolfie
90339f1f58
Include DSound log macros
2019-02-19 22:09:11 -06:00
RadWolfie
55132da6a7
Move Xbox DSound types into its own header file.
2019-02-19 22:09:11 -06:00
PatrickvL
cd442dbf8d
Merge pull request #1553 from LukeUsher/shader-constant-fix
...
Fix when titles use pushbuffers rather than SetVertexShaderConstant to update shader registers
2019-02-15 07:32:27 +01:00
RadWolfie
72501f8933
Add note
...
Since some titles are able to progress further. I'm adding a note for what progress had been made.
2019-02-14 22:11:54 -06:00
Luke Usher
13d761f149
Make HLE D3D read state, rather than NV2A push it
2019-02-14 18:37:54 +00:00
RadWolfie
c9db98db28
Add fix for if requested size is 0 without given partial structure initialized
...
untested
2019-02-09 19:05:28 -06:00
RadWolfie
c71d1be2a5
use shorter variable for host's lpwfxFormat
2019-02-09 19:03:01 -06:00
RadWolfie
ff4da75524
Remove duplicate code
...
ENUM2STR_CASE_DEF is exactly the same as ENUM2STR_CASE
Since ENUM2STR_CASE is being used as primary, no longer need a reason to have duplicate maco method.
2019-02-05 02:36:37 -06:00
RadWolfie
3d1de11a9f
Fixed macro bug for pointer
...
Before: 0x0000000x0AFEF598
Now: 0x0AFEF598
2019-02-05 02:01:53 -06:00
Luke Usher
c29eabb75e
Merge pull request #1543 from Fisherman166/RtlCaptureContext_implementation
...
Implement RtlCaptureContext
2019-02-03 16:25:03 +00:00
Fisherman166
27573b6629
Implement RtlCaptureContext using knowledge from reverse engineering an official kernel.
2019-02-02 22:19:35 -08:00
a.miles.nz@gmail.com
50554a9f9b
Check surface parent format matches surface format before creating it
2019-02-01 19:19:59 +13:00
ergo720
34bbcfde32
Updated some comments
2019-01-28 16:22:15 +01:00
ergo720
ebcb6ba9a0
Removed xhci-specific and other redundant code
2019-01-28 16:22:15 +01:00
ergo720
4ea53a885a
Fix a crash caused by DBG_PRINTF
2019-01-28 16:22:15 +01:00
ergo720
07706ece4b
Fix LLE USB: with this, it finally works
2019-01-28 16:22:15 +01:00
ergo720
dd435ad6d6
Added OHCI Regs logging
2019-01-28 15:42:46 +01:00
Luke Usher
9e11da1fe8
Merge pull request #1535 from PatrickvL/pgraph_plugin_hle_state
...
Pgraph plugin hle state
2019-01-26 20:28:35 +00:00
Luke Usher
4ab6f3aee7
Merge pull request #1533 from PatrickvL/SetVertexData_short
...
Fix SetVertexData implementations that have arguments of type short (int16_t)
2019-01-26 20:28:21 +00:00
RadWolfie
279ad2a771
Also fix DS Stream FlushEx for envelope trigger
2019-01-24 21:31:11 -06:00
RadWolfie
0ac5b5050b
Fixed DS Buffer StopEx process
2019-01-24 21:30:53 -06:00
RadWolfie
0461d709e6
Remove extra newlines for no reason
2019-01-24 21:30:48 -06:00
patrickvl
aedd1537b5
D3D : SetVertexData[24]s always map their arguments to a floats in the range [-32768.0, 32767.0] (at least, that's what @mborgerson discovered in XQemu)
2019-01-23 21:54:42 +01:00
Luke Usher
9c519a0947
Restore comment
2019-01-23 08:19:34 +00:00
Luke Usher
7ec381651a
Use Subfolder for Chihiro stuff, since there will be more roms required later
2019-01-23 08:16:37 +00:00
Luke Usher
c6ee38b5d9
Chihiro XePublicKeyData for signature verification
2019-01-22 21:34:43 +00:00
RadWolfie
ddd2cd8bdd
HACK fix for DSound's LOCDEFER flag
...
Due to title doesn't passdown specific channels, I am assuming it is relying on hardware level to output the mixin audio.
2019-01-22 13:22:07 -06:00
Luke Usher
78cabcef00
Segaboot gets a little further now
2019-01-21 22:45:08 +00:00
Luke Usher
efffea677e
Update XBSymbolDatabase version
2019-01-21 16:09:40 +00:00
RadWolfie
4edfebb302
Fix executable directory path function
2019-01-17 21:42:39 -06:00
a.miles.nz@gmail.com
962b500c03
Add SSE WalkIndexBuffer implementation:
...
- SSE4.1 WalkIndexBuffer implementation
- SSE level detection
- Auto-select WalkIndexBuffer implementation
2019-01-17 20:07:27 +13:00
ergo720
499f80ff5f
Fix wrong OHCI sof timer
...
With this, the HCD sends packets to the hub, but after a while it crashes and sets an unrecoverable error interrupt
2019-01-14 21:47:52 +01:00
ergo720
1cae4b093e
Forgotten to update this in 1fb485a7bb
2019-01-14 12:38:27 +01:00
ergo720
1fb485a7bb
Small update
2019-01-13 17:10:56 +01:00
ergo720
b3b73c3588
NtSetSystemTime: use nullptr
2019-01-13 03:25:43 +01:00
ergo720
3e0e47bbde
Fix macro redefinition warnings introduced in #1520
2019-01-12 18:39:26 +01:00
ergo720
27f2316507
Revert "Enable LLE USB + add SDL submodule"
...
This reverts commit 2daca74be7bc93a0818233fd2023a1c07757bbb0.
2019-01-12 18:13:52 +01:00
ergo720
a1663871a6
Fix a bug in NtSetSystemTime
2019-01-12 18:13:52 +01:00
ergo720
b2a1dc2507
Fix building issues
2019-01-12 18:13:52 +01:00
ergo720
c72593ed74
Amend KiTimerExpiration and KiTimerListExpire
2019-01-12 18:13:52 +01:00
ergo720
be801553cc
Moved timer source files
2019-01-12 18:13:52 +01:00
ergo720
e80fcd4d07
Moved around some Ki functions
2019-01-12 18:13:52 +01:00
ergo720
c1df95b324
NtSetSystemTime and KeSetSystemTime
2019-01-12 18:13:52 +01:00
ergo720
3b7ffd32c4
Handle exceptions raised by the timer DPCs
2019-01-12 18:13:52 +01:00
ergo720
113717b7c4
KiTimerExpiration + KiCheckTimerTable
2019-01-12 18:13:52 +01:00
ergo720
5b8ae8393b
Reworked kernel timer lock
2019-01-12 18:13:52 +01:00
ergo720
4f86a5a26f
Add lock to kernel timer functions
2019-01-12 18:13:52 +01:00
ergo720
bd0eced253
KiInitSystem
2019-01-12 18:13:52 +01:00
ergo720
9827cfcaa3
Reverted return a value from timer callback
2019-01-12 18:13:52 +01:00
ergo720
1ae67fb215
Updated KeInterruptTime, KeSystemTime, KeTickCount and timer handling
2019-01-12 18:13:52 +01:00
ergo720
62dfa7b4e2
Updated timer subsystem
2019-01-12 18:13:52 +01:00
ergo720
2020fe2123
Update the clock increment according to the real time passed
2019-01-12 18:13:52 +01:00
ergo720
4fcb6e54a9
KiClockIsr + updated KeQueryInterrupt/SystemTime
2019-01-12 18:13:52 +01:00
ergo720
6fca92d2a2
Removed virtual clocks
2019-01-12 18:13:52 +01:00
ergo720
71572d8c90
KeCancelTimer
2019-01-12 18:13:52 +01:00
ergo720
b6fce711a9
Completed KeSetTimerEx
2019-01-12 18:13:52 +01:00
ergo720
3f50f6de29
Implement KeSetTimerEx (in progress)
2019-01-12 18:13:52 +01:00
ergo720
0fc2a7c3b2
Enable LLE USB + add SDL submodule
2019-01-12 18:13:52 +01:00
PatrickvL
95bb641b7e
HLE : Implemented D3DDevice_SetRenderState_EdgeAntiAlias.
...
Not very unimportant, but someone might want to cherry-pick this.
2019-01-10 17:52:38 +01:00
PatrickvL
0a9ce9e46c
HLE : The plugin on pgraph-based rendering must convert pgraph-state to D3D, here a small commit with some comments in this area (nothing functional, I just wanted to dump this somewhere)
2019-01-10 17:51:19 +01:00
wutno
a08f22121e
Delete x_Xbe if it isn't needed after checking signature
...
This also changes the order of operations for the sigchk if statement.
2019-01-07 12:44:33 -05:00
wutno
80dcbf436e
check for allowAdminPrivilege during the signature check
2019-01-06 13:03:41 -05:00
wutno
a79567a58f
gui: Warn users of modified XBE signatures
2019-01-06 11:18:00 -05:00
Luke Usher
b02a57c91c
Fix an issue where unsupported depth formats would be converted to ARGB textures, use a supported depth format instead
2019-01-05 02:14:29 +00:00
Luke Usher
5d34de3234
Restore upscaling hack after broken by D3D9 port
2019-01-02 22:42:19 +00:00
Fisherman166
4da125582d
Add implementation of RtlRaiseStatus reverse engineered from real hardware kernel.
2018-12-31 11:03:16 -08:00
unknown
4c4a544b3b
Rewrite RtlExtendedLargeIntegerDivide with correct algorithm reverse engineered from real hardware.
2018-12-19 21:14:31 -08:00
ergo720
cb6881e417
Spelling...
2018-12-18 21:26:23 +01:00
ergo720
25d6fbc902
Allow buggy behaviour in cbc functions
2018-12-18 18:46:12 +01:00
ergo720
ef385087a8
Implemented des functions + XcCryptService
2018-12-18 14:01:33 +01:00
ergo720
1234df190e
Merged CxbxCommon with CxbxUtil
2018-12-15 20:43:22 +01:00
ergo720
813975a6c2
Moved ResourceTracker.h + renamed HLE -> hle
2018-12-15 19:26:47 +01:00
ergo720
ef70b6a33d
Created support folder
2018-12-15 18:48:19 +01:00
ergo720
19f5829d28
Created exports folder
2018-12-15 18:24:11 +01:00
ergo720
c6c0791bf0
Created init folder
2018-12-15 18:05:57 +01:00
ergo720
42004654a2
Created memory-manager folder
2018-12-15 17:47:08 +01:00
ergo720
e6e93a2d4a
Renamed some folders + moved EmuShared.h
2018-12-15 17:28:01 +01:00
ergo720
c5e7824475
Created util folder
2018-12-15 16:58:51 +01:00
ergo720
864e2422ac
Created crypto folder
2018-12-15 16:21:52 +01:00
ergo720
0cb83f9cc8
Renamed Cxbx -> gui folder
2018-12-15 15:45:59 +01:00
ergo720
980e073c8a
Moved Timer.h
2018-12-15 15:25:31 +01:00
ergo720
1cbeef42cf
Created x86 folder
2018-12-15 15:13:30 +01:00
ergo720
3d46f35174
Created xbe folder
2018-12-15 14:59:34 +01:00
ergo720
b0523ecae5
Moved CxbxXbdm + renamed Common -> common
2018-12-15 14:40:40 +01:00
ergo720
77b449b340
Renamed CxbxVSBC -> vsbc
2018-12-15 14:29:59 +01:00
Luke Usher
e396754ace
Merge pull request #1515 from LukeUsher/fix-debug-builds
...
Fix debug builds + some warnings
2018-12-14 13:14:41 +00:00
Luke Usher
1704f0e8ce
Compiler warning fixes
2018-12-14 11:19:17 +00:00
Luke Usher
922d0a7627
Fix an assert that prevented Debug builds from working
2018-12-14 11:00:43 +00:00
RadWolfie
dc48499878
Merge pull request #1511 from LukeUsher/debugging-hangs
...
Debugging hangs
2018-12-01 12:39:32 -06:00
Luke Usher
f3aa312cde
Workaround a hang when PsCreateSystemThreadEx returns too soon
2018-12-01 17:31:49 +00:00
Luke Usher
adba54da47
Fix a crash in Morrowind, add a test_case to notify us of the situation if it occurs elsewhere
2018-12-01 17:22:52 +00:00
ergo720
8790b48c06
Fix a bug in AllocateSystemMemory
2018-11-29 20:14:32 +01:00
Luke Usher
2084e25ea9
More tweaks
2018-11-28 20:35:11 +00:00
Luke Usher
fa82f10a48
Call SystemRoutine directly instead of bootstrap voodoo
2018-11-28 20:18:30 +00:00
Luke Usher
8c570badb0
Stop EmuX86 spamming the log in Unreal Championship, this kills performance
2018-11-28 18:40:29 +00:00
Luke Usher
4304bf8266
Disable PS Thread notification routines.
...
Our code for this is completely wrong and does more harm than good.
Turns out that we (incorrectly) assumed that these were used internally
the same way as XAPI Thread routines, but they're completely separate!
XAPI thread routines are called by XApiThreadStartup (Xbox code) so we
don't need to handle them at all!
PSNotification Routines are more complex and require objects/functions
that we do not currently create, making them impossible to implement at
present, so for now, we'll disable them to prevent the random crashes
and memory corruption it causes.
This fixes a crash in Morrowind's DSOUND driver, where the pThis pointer
became corrupted as a result of the invalid notification routine call!
2018-11-26 19:48:09 +00:00
Luke Usher
02e756aadf
Call a thread notification routine *before* starting the new thread, not
...
after.
This is required as it is the job of the notification routine to
allocate any per-thread data structured that the new thread will
require.
Likewise, the routine is called again during thread termination, in
which it should cleanup these resources.
To clarify: The first call needs to happen before the new thread starts,
and MUST be called from the context of the current thread, not the new
thread.
The second call must be called during Thread termination, by the new
thread, just before it is destroyed
2018-11-25 17:20:23 +00:00
Luke Usher
f74cba4486
Typo
2018-11-25 12:11:46 +00:00
Luke Usher
6afb63ac77
Fix regression in THPS2X: Needs re-testing with Panzer Dragoon Orta
2018-11-25 12:10:17 +00:00
Luke Usher
f0f63f9e16
Rename JSRF hack to Smilebit hack, as it applies to Gunvalkyre too
2018-11-22 22:54:20 +00:00
Luke Usher
602efd6d6e
Remove upper limit on Xbox Threads: This was a left-over from original Cxbx and is unnecessary
2018-11-22 07:28:37 +00:00
Luke Usher
b38b958730
This potentially improves stability
2018-11-20 19:35:19 +00:00
Luke Usher
d7108e8c9e
Fix a crash when draw functions are called with no plugin initialized
2018-11-18 14:58:07 +00:00
Luke Usher
b594f04214
Merge pull request #1504 from LukeUsher/lets-fix-some-exclusives
...
Various bug-fixes (TLS, Vertex Shaders, X86)
2018-11-18 09:18:14 +00:00
Fisherman166
3f144fc7a9
Fix bug in RtlAppendUnicodeStringToString where the terminating null character was being placed in the wrong byte.
2018-11-17 21:33:53 -08:00
Luke Usher
21632e0eae
More shader tweaks
2018-11-17 23:32:02 +00:00
Luke Usher
75a8b54e19
Restore JSRF hack: Still required
2018-11-17 23:31:02 +00:00
Luke Usher
c650fad2ab
Fix a typo that has been bothering me for some time
2018-11-17 20:14:57 +00:00
Luke Usher
f38d1e7d3b
Fix an issue where unsupported (on host) shader registers caused entire shaders to fail
2018-11-17 20:00:52 +00:00
Luke Usher
23fb78c272
Fix an issue where vertex declarations containing BackDiffuse and
...
BackSpecular completely failed to be created
With this, Spikeout & Project Gotham Racing progress further, although
they still fail to reach in-game.
2018-11-17 18:08:25 +00:00
Luke Usher
84e90157ab
Prevent non xbox code threads from hogging the Xbox code execution core
2018-11-17 16:06:38 +00:00
Luke Usher
c6e7360157
Only execute exceptions in single-instruction steps, to work around buggy instruction implementation: TODO: Replace EmuX86 with something better entirely
2018-11-16 08:12:05 +00:00
Luke Usher
53732ffb2f
fix an issue where a title without TLS data would refuse to boot
2018-11-16 08:11:20 +00:00
Luke Usher
1618130603
Fix NXDK and CxbxGetPerformanceCounter
2018-11-12 18:19:45 +00:00
Luke Usher
bac2d6a8e6
Fix KeQueryPerformanceCounter: It ticks at ACPI rate, NOT tsc
2018-10-30 21:20:56 +00:00
Luke Usher
ed8c3137c4
Implement NOP
2018-10-29 21:07:11 +00:00
Luke Usher
1d2b7ae094
Fix off-by-one error in mip-map check
2018-10-29 19:42:19 +00:00
Luke Usher
6ca433b96a
Fix a crash when calling D3DDevice_SetTextureState_BorderColor_: Trampolines don't work right for LTCG titles
2018-10-29 18:48:27 +00:00
Luke Usher
0ac8b589a5
Add LTCG specific D3DDevice_SetVertexData4f_16
2018-10-28 22:48:21 +00:00
Luke Usher
2e056347e9
Fix a crash when creating a texture with more mip-map levels than D3D9 allows
2018-10-28 22:29:41 +00:00
Luke Usher
d1ce72841a
Feedback
2018-10-28 19:03:39 +00:00
Luke Usher
82a8b63965
Fix an incorrect LOG_TEST_CASE
2018-10-28 17:31:23 +00:00
Luke Usher
66b77b64ea
Catch unusual vertex buffer situations + fix an issue where Vertex buffer information was not initialized properly
2018-10-28 16:01:36 +00:00
Luke Usher
d286f6156f
Oops, fix a double-free
2018-10-28 14:46:32 +00:00
Luke Usher
176cad275f
Don't trash original shader handles, use a map instead
2018-10-28 12:14:25 +00:00
Luke Usher
cdc97176dc
Workaround for vertex streem number overflow
2018-10-28 01:26:42 +01:00
Luke Usher
2ddf6a0e54
Finally fix Vertex Shader detection to use the same method as Xbox D3D
2018-10-28 01:26:21 +01:00
Luke Usher
ee73845750
Oops: Host shaders should not be allocated in Xbox memory
2018-10-28 00:27:28 +01:00
Luke Usher
2d0141298f
Improve performance of scanline count register: Titles spend less time spinning on scanline counter now
2018-10-27 23:26:00 +01:00
Luke Usher
d81de9a6a9
Split deriving display dimensions into functions
2018-10-26 08:19:26 +01:00
Luke Usher
ca9a76c6d7
New register is called NV_PCRTC_RASTER. Sources: Haiku & Pedigree
2018-10-26 08:10:49 +01:00
Luke Usher
38e12a0473
Fix alter echo hang: Implements CRTC scanline register (hacky implementation, but enough for now
2018-10-25 23:21:41 +01:00
Luke Usher
566e3165e8
Don't force process priority: This caused too much instability
2018-10-25 19:32:26 +01:00
Luke Usher
30a3a392ad
Fix an issue where RootDirectory wasn't being set properly when converting file paths
2018-10-24 22:48:25 +01:00
patrickvl
c818c28538
Replace atomic boolean m_bFrameTime with a mutex m_FrameTimeMutex
2018-10-24 21:30:10 +02:00
Luke Usher
2a16c71f68
Merge pull request #1490 from PatrickvL/Acknowledgment_to_top
...
Move acknowledgments towards the top of each file
2018-10-24 15:28:09 +01:00
patrickvl
b94daf7bbf
Move acknowledgments towards the top of each file
2018-10-24 16:05:20 +02:00
patrickvl
42c00806d7
Avoid LOG_PREFIX by adding *Ex versions for all functions that receive other values
2018-10-24 16:03:35 +02:00
patrickvl
2a9271cc12
Corrected DBG_PRINTF terminating newlines where appropriate (thanks to the sharp eye of gandalfthewhite)
2018-10-24 10:59:08 +02:00
Luke Usher
f55dd3f2df
Disable all hacks by default
2018-10-17 18:06:26 +01:00
Luke Usher
3b338803be
Minor cleanup
2018-10-13 22:49:49 +01:00
Luke Usher
d47b4a69d4
Cleanup/Simplify deferred render state handling
2018-10-13 22:38:18 +01:00
Luke Usher
f9047d540e
Fix potential deadlock: CriticalSection was not release under certain conditions
2018-10-13 20:12:36 +01:00
Luke Usher
76638797ad
Remove VshRemoveUndeclaredRegisters: It never worked, and is no longer needed anyway
2018-10-13 19:44:57 +01:00
PatrickvL
fe9e3a8a30
MM : Further reduce the use of LIST_ENTRY_* macro's
2018-10-11 14:17:25 +02:00
PatrickvL
e452d56991
MM : Moved all remaining LIST_ENTRY_* macro's to where they're used (as preparation for further simplification)
2018-10-11 12:45:42 +02:00
PatrickvL
0b535dc862
MM : To avoid duplicate code, replace most LIST_ macro's with List* functions
2018-10-11 12:07:40 +02:00
Luke Usher
81d52e50b6
Merge pull request #1457 from PatrickvL/xqemu_port
...
Ported xqemu nv2a changes
2018-10-07 21:34:39 +01:00
Luke Usher
3040c5c02a
Don't show dialog for Xbox breakpoints, just log them and continue
2018-10-06 09:16:49 +01:00
Luke Usher
28e1d8e381
D3DRS_SWAPFILTER exists in 4039 too: Test Case THPS3
2018-10-05 22:29:50 +01:00
Luke Usher
428d0cec90
Set process proiority to above_normal: Significant performance boost!
2018-10-05 22:28:47 +01:00
patrickvl
c281b99ba2
Fix after rebase
2018-10-05 22:00:04 +02:00
PatrickvL
28c672ac0c
Rearranged header files (introducing nv2a_regs.h)
2018-10-05 21:52:57 +02:00
PatrickvL
8584f09513
Updated acknowledgements and copyright statements
2018-10-05 21:47:15 +02:00
PatrickvL
fbf33904b7
Renamed QINCREF to qobject_ref, and QDECREF to qobject_unref (to reduce the number of differences between our code and xqemu's)
2018-10-05 21:47:15 +02:00
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
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