Commit graph

6417 commits

Author SHA1 Message Date
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
patrickvl
0366e647a5 Dump vertex shader separately from conversion 2019-10-19 14:55:20 +02:00
Luke Usher
c0cdb011b6
Merge pull request #1754 from literalmente-game/patch-1
Add missing dcl statement
2019-10-17 08:52:19 +01:00