PatrickvL
de1b815542
Split up resource cache in two, one for paletized textures (which gets pruned when it overflows),
...
one for all other resources (which cache doesn't prune, like it did not do before, too).
This way, only paletized textures get pruned from their specialized cache, while other resources,
including render-targets (which can't be paletized) will stay resident in the general cache (which won't overflow).
Doing it this way, probably fixes the reported black texture regressions,
but it might also lead to less of a performance increase than before.
2019-11-28 15:56:31 +01:00
PatrickvL
b03551535c
Changed our resource cache key into a struct, to greatly reduce the chance of hash collisions.
...
This can solve part of the reported regressions (but there's more, like not-pruneing render targets).
2019-11-26 15:22:43 +01:00
PatrickvL
e281d1e490
Renamed EmuD3DActiveTexture into g_pXbox_SetTexture
2019-11-25 15:55:09 +01:00
PatrickvL
db45305a5f
Call PruneResourceCache() once per draw (in CxbxUpdateNativeD3DResources instead of in EmuVerifyResourceIsRegistered), this might prevents black textures.
2019-11-25 15:55:08 +01:00
PatrickvL
d09381c5a3
Prepare for setting surfaces as active SetTexture's (disabled for now).
...
Consequences of this change :
GetHostBaseTexture won't be called on X_D3DCOMMON_TYPE_SURFACE anymore.
GetHostTexture became obsolete because of this,
Also corected a few typo's & made bits of code simpler.
2019-11-25 15:55:08 +01:00
PatrickvL
1b2b320b36
Avoid scaling factor rounding issues, by always applying g_RenderScaleFactor as a multiplier (never as a divisor).
2019-11-25 15:55:08 +01:00
PatrickvL
1332ba3ef0
Revert unintentional change
2019-11-25 15:55:07 +01:00
PatrickvL
f5bc947964
Minor code cleanups
2019-11-25 15:55:07 +01:00
PatrickvL
3be6429300
Cater for actual palette size
2019-11-25 15:55:06 +01:00
PatrickvL
5d3cae890c
Include a palette hash in the texture lookup key, instead of patching Palette_Lock functions and freeing textures when setting palette's.
...
To avoid overflowing the resource cache, PruneResourceCache now applies cache eviction as well.
2019-11-25 15:55:06 +01:00
PatrickvL
67068303de
Merge pull request #1789 from PatrickvL/correct_d3d_enums
...
Corrected old ordering of D3DTOP enum elements.
2019-11-25 15:54:10 +01:00
PatrickvL
fb00f60c27
Merge pull request #1785 from NZJenkins/log_handling
...
Implement extra log component calculations
2019-11-24 09:01:13 +01:00
Anthony Miles
100be789e2
Implement extra log component calculations
2019-11-22 19:18:29 +13:00
RadWolfie
8f6bd2024c
Merge pull request #1767 from x1nixmzeng/cmake-debugger-fix
...
Fixed CMake designer settings for debugger gui
2019-11-21 14:42:32 -06:00
PatrickvL
6ba97108c6
Corrected old ordering of D3DTOP enum elements.
...
This fixes alpha texture blending on titles that use D3D XDK 3948 and older
2019-11-21 11:43:12 +01:00
PatrickvL
068cefe444
Merge pull request #1772 from LukeUsher/nic-debugging
...
Fix IP network traffic
2019-11-20 17:09:20 +01:00
PatrickvL
aefb88eaf1
Merge pull request #1776 from NZJenkins/expp_handling
...
Update expp instruction handling
2019-11-20 17:03:29 +01:00
PatrickvL
7cac893aa6
Merge branch 'develop' into expp_handling
2019-11-20 17:02:55 +01:00
Luke Usher
8be7402227
Merge pull request #1783 from PatrickvL/impl
...
Introduce two CxbxImpl_*'s for as-yet unimplemented functions.
2019-11-20 15:56:40 +00:00
Luke Usher
81bf7e06c7
Merge pull request #1771 from PatrickvL/correct_render_state_info
...
Corrections in render state information
2019-11-20 15:54:10 +00:00
patrickvl
8aef04f83a
Comment-only change, no function impact;
...
Re-orded render state verification comments incrementally, like this:
"Verified [absent in X, ]present in Y[ , removed in Z]" (whereby X < Y < Z).
This makes these comments easier to read and understand.
2019-11-20 16:38:29 +01:00
PatrickvL
db90d6a8b8
Verified all render states; Updated D3DRS_MULTISAMPLEMODE to 4039 (might even be 4034)
2019-11-19 17:40:50 +01:00
PatrickvL
ae05bdba58
Correct D3DRS_MULTISAMPLERENDERTARGETMODE from 4039 to 4034.
...
This has no functional impact anyway, since there's no host renderstate associated with this (and later) render states.
2019-11-19 15:52:34 +01:00
PatrickvL
ae3fbc67c7
Rename g_SetStreamSources into g_Xbox_SetStreamSource (which better reflects it's contents)
2019-11-18 17:57:02 +01:00
RadWolfie
ffa5feb709
Merge pull request #1781 from PatrickvL/VersionVariable
...
Turn Cxbx version define into a variable
2019-11-18 09:40:04 -06:00
PatrickvL
ca1d2b2722
Reinstated version string in initial caption bar.
2019-11-18 14:44:47 +01:00
patrickvl
61b3743567
Addressed review remarks
2019-11-18 14:44:46 +01:00
patrickvl
0aac02c0c0
Fixed comment header
2019-11-18 14:44:46 +01:00
PatrickvL
9cf3591393
Turn Cxbx version define into a variable
...
This is intended to reduce the number of files that need to be
recompiled when updating a repository.
2019-11-18 14:44:44 +01:00
Luke Usher
fd7c9ccb47
Merge pull request #1782 from PatrickvL/even_more_cleanup
...
Some more cleanup
2019-11-18 13:20:07 +00:00
PatrickvL
5814eaa7fd
Do the extended availability check of render states everywhere it might have an impact.
2019-11-18 12:06:48 +01:00
patrickvl
d5a5e9fc9a
Disable X_D3DRS_MULTISAMPLETYPE in a simpler way, which also allows for easier disabling of other render states as well (would the need ever arise).
2019-11-17 16:17:10 +01:00
patrickvl
2c46324320
Replaced two literal numbers by their corresponding symbols (no functional change, just an improvement that was due)
2019-11-16 22:32:49 +01:00
PatrickvL
477ab534c5
This commit solved the fact that X_D3DRS_MULTISAMPLEMODE replaces the older X_D3DRS_MULTISAMPLETYPE (which was available below 4039).
...
This allows restoring X_D3DRS_MULTISAMPLEMODE back to 4361 where it belongs (as far as we know).
Adjusted X_D3DRS_MULTISAMPLERENDERTARGETMODE to XDK 4039 (was 4242)
Made comments on DxbxRenderStateInfo and _X_D3DRENDERSTATETYPE consistent again.
Also use X_D3DRS_* FIRST / LAST defines wherever applicable.
This is a subset of work done earlier in 67cfc36fca
2019-11-16 21:48:15 +01:00
patrickvl
070316c677
Updated CONTRIBUTORS once more
...
and renamed setup.cmd to setup.bat per RadWolfie's suggestion
2019-11-16 21:36:39 +01:00
Luke Usher
c7a5046be0
Merge pull request #1780 from PatrickvL/read_xbox_fogcolor
...
Read Fog color through GetXboxRenderState
2019-11-16 19:20:35 +00:00
patrickvl
8dfb3e20c2
Introduced CxbxImpl_SetStreamSource, and simplified it's storage.
...
Also some renaming and comments (all this copied over from Vsh_unpatching)
2019-11-16 17:12:20 +01:00
patrickvl
2012d86522
Introduce two CxbxImpl_*'s for as-yet unimplemented functions.
2019-11-16 14:44:29 +01:00
Anthony Miles
4c4b0f4022
Use xbox, host, prefixes
2019-11-16 22:51:29 +13:00
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