Commit Graph

6369 Commits

Author SHA1 Message Date
Anthony Miles 22e6fe58e0 Add shader comments 2019-11-16 21:04:32 +13:00
Anthony Miles 56b78fbdfe expp returns 1 in the w component 2019-11-16 21:04:32 +13:00
Anthony Miles 8902118a66 Use const 2019-11-16 21:04:32 +13:00
PatrickvL e47fe0787a Co-ordinate usage of reserved registers 2019-11-16 21:03:21 +13:00
PatrickvL b3671fe0e4 Read Fog color through GetXboxRenderState (not via host GetRenderState), just like all other states.
Also updated a few random comments and stuff mentioning the now-obsolete EmuMappedD3DRenderState.
Removed unused code and replaced manual conversion of DWORD to 4 ARGB floats by using D3DXCOLOR.
2019-11-15 17:59:16 +01:00
Anthony Miles c5b0457dec - Reserve a scratch register, and avoid interfering with registers reserved for undeclared v
- Assume 32 registers are available for simplicity
- Reserve space for all 16 v registers
2019-11-15 21:05:29 +13:00
PatrickvL f4177031f8 Added a rudimentary setup script, to get up and running more easily. 2019-11-14 13:26:20 +01:00
PatrickvL 9c81eda65e Make resource file language-neutral, so that Visual Studio won't complain when regional settings aren't compatible. (See https://stackoverflow.com/a/58011025/12170)
Also applied the advisory steps from our GPL license to our About dialog, and trimmed this advise from COPYING itself.
2019-11-14 13:26:20 +01:00
PatrickvL d2375abaa8 Updated CONTRIBUTORS 2019-11-14 13:26:19 +01:00
Anthony Miles 3b787aeef5 Update expp instruction handling 2019-11-14 22:28:03 +13:00
Luke Usher 829177f57a Better implementation of RtlAssert 2019-11-12 20:14:27 +00:00
Luke Usher 6b08ee81cc Fix kernel event handling 2019-11-12 20:14:27 +00:00
Luke Usher b59107a956 nvnet: cleanup + bug fixes 2019-11-12 20:14:27 +00:00
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
Luke Usher c916e3431b
Merge pull request #1774 from NZJenkins/truncate_mova
Truncate input to mova
2019-11-12 10:12:41 +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
Luke Usher 97b13c35fa
Merge pull request #1770 from PatrickvL/fix_memleak_pointsprite_textures
Avoid memory leak in point-sprite texture swaps
2019-11-07 15:41:30 +00: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
Luke Usher d50cc9c5bb
Merge pull request #1763 from PatrickvL/variable_renaming
Small code-cleanup
2019-11-03 10:25:45 +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
Luke Usher 93e342e414
Merge pull request #1765 from ergo720/sdl_ctrl_fix_binding
Fix sdl controller input bindings
2019-11-02 09:37:08 +00:00
ergo720 1256b3ee59 Fix sdl controller input bindings 2019-11-01 19:04:15 +01:00
Luke Usher ff5e0d3441
Merge pull request #1757 from PatrickvL/indexed_quads
Speed up drawing indexed quads
2019-10-30 10:48:08 +00: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
Luke Usher 67b3924946
Merge pull request #1755 from PatrickvL/vsh_dump_separately
Dump vertex declaration separately from conversion
2019-10-27 22:06:20 +00:00
PatrickvL bd5c995a89
Merge pull request #1761 from ergo720/disable_lle_gpu
Disable LLE GPU option in the gui
2019-10-27 17:55:02 +01:00
ergo720 f67eeeb00b Disable LLE GPU option in the gui 2019-10-27 16:59:57 +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