Commit graph

7379 commits

Author SHA1 Message Date
Luke Usher
764304c0ca
Merge pull request #2055 from CookiePLMonster/fix-completion-callback
Preserve original IO status block and context for ApcRoutine
2020-11-29 14:07:22 +00:00
Silent
0411f27c65
Preserve original IO status block and context for ApcRoutine
Fixes cases where guest's APC routine/completion callback
does not receive the original IO status block variable,
but it assumed it did (it's allowed as per WinAPI docs).

Fixes Project Gotham Racing deadlocking after intro movies
2020-11-29 11:51:18 +01:00
PatrickvL
8415397067
Merge pull request #2053 from LukeUsher/improve-texturestate-mappings
rework texturestate mapping to be more sane + fix unmapped get
2020-11-28 20:12:48 +01:00
Luke Usher
a99d3f923a
Update TextureStates.cpp 2020-11-28 18:13:41 +00:00
Luke Usher
6c0bb86336 rework texturestate mapping to be more sane + fix unmapped get 2020-11-28 17:39:22 +00:00
Luke Usher
6915ccb027 remove 3925 fog/alpha hacks 2020-11-28 14:29:05 +00:00
Luke Usher
8c986c2480
Merge pull request #2040 from NZJenkins/z_fixes
Z fixes
2020-11-28 13:40:07 +00:00
PatrickvL
47795babfd
Merge pull request #2050 from CookiePLMonster/current-ps-fix
Modernize DxbxUpdateActivePixelShader
2020-11-28 09:14:46 +01:00
Silent
64672ddb4b
Modernize DxbxUpdateActivePixelShader
Fixes redundant constant setting, leaking pixel shader handle
and generally tidies up the code
2020-11-28 00:39:01 +01:00
Luke Usher
362c93801f
Merge pull request #2048 from CookiePLMonster/vertex-stream-cache-optimization
Optimize vertex stream cache for partial buffer access
2020-11-27 07:56:15 +00:00
PatrickvL
246d1fa3fe
Merge pull request #2049 from LukeUsher/renderstate-table-4034
update renderstate table with 4034 findings
2020-11-26 22:09:23 +01:00
Silent
2480582b0c
Optimize vertex stream cache for partial buffer access
Drastically reduces the amount of copied and converted data in cases
where any of the following apply:
* BaseVertexIndex is not 0
* LowIndex is not 0
* dwStartVertex is not 0

Also potentially fixes an issue where data past an indexed
vertex buffer was hashed and converted, leading to
potential false positives on dirty checks, maybe more.
2020-11-26 21:20:15 +01:00
Luke Usher
2324b798ab
Update XbConvert.cpp 2020-11-26 19:48:14 +00:00
Luke Usher
1aac347af9 update renderstate table with 4034 findings 2020-11-26 19:02:44 +00:00
PatrickvL
d748d3d4f2 Removed needless externs 2020-11-26 00:44:08 +01:00
PatrickvL
698719d5ad Moved g_RenderUpscaleFactor declaration to Direct3D9.cpp (the only file where it's used).
Introduced g_RenderTargetUpscaleFactor and update it in CxbxImpl_SetRenderTarget.
Where possible, incorporate g_RenderTargetUpscaleFactor once in X and Y scaling factors.
2020-11-25 22:08:04 +01:00
Anthony
d1596da695 Resolve the rendertarget upscale factor once 2020-11-25 22:08:04 +01:00
Anthony
7268219f5e Fix rendering to a non-upscaled rendertarget when upscaling is enabled
Test case: JSRF character select with upscaling
Rename RenderScaleFactor to RenderUpscaleFactor
2020-11-25 22:08:04 +01:00
Anthony
95b97b0502 - Calculate Z matching D3D9 docs (combined with Xbox depth scaling)
- Normalize Z from either (0, 1) or (0, zbuffer depth)
2020-11-25 22:07:03 +01:00
PatrickvL
b2ca28198e
Merge pull request #2044 from LukeUsher/create-surface-as-texture
d3d: wrap surfaces in textures
2020-11-25 22:05:09 +01:00
PatrickvL
eca9c330c5
Merge pull request #2045 from CookiePLMonster/palette-fixes
Palette fixes
2020-11-25 21:35:04 +01:00
PatrickvL
beac314243 Processed review remarks 2020-11-25 21:33:46 +01:00
Silent
7af503b90c
Do not try to resolve the palettized texture if there is no palette bound
Fixes a crash in DRIV3R
2020-11-25 20:39:03 +01:00
Luke Usher
ec6987d17f
Merge pull request #2041 from Blackbird88/master
Added "Silent (CookiePLMonster)"
2020-11-25 07:49:37 +00:00
Silent
4d8c4fbb68
Fix D3DDevice_SetPalette and D3DDevice_SetPalette_4 not calling to guest code
Fixes memory leaks in SetPalette functions, as they are now able
to reference count and destroy palette resources.
Also fixes a very poor SetPalette_4 LTCG function
2020-11-24 20:04:53 +01:00
Luke Usher
e0b62dde9d d3d: experimental creation of surfaces as textures 2020-11-24 17:06:53 +00:00
Silent
36e6349de5
Fix a wrong NestedCallCounter in D3DDevice_SetRenderTarget_0 2020-11-24 18:04:49 +01:00
Blackbird88
8c3d1bcdfa
Added "Silent (CookiePLMonster)" 2020-11-24 13:07:40 +01:00
RadWolfie
55da0a278b
Merge pull request #2038 from RadWolfie/loader-fix
Fix free up address range's system allocated
2020-11-22 02:26:09 -06:00
RadWolfie
e424d05252 fix couple variable types usage 2020-11-22 01:50:57 -06:00
RadWolfie
a08145b0c2 loader: fix input for what system need to be free up reserve address ranges 2020-11-22 01:40:42 -06:00
Luke Usher
21c27b416f
Merge pull request #2032 from RadWolfie/dsound-fixes
Fix CDirectSoundStream_GetStatus for difference output over time
2020-11-21 12:37:45 +00:00
Luke Usher
9d714c4488
Merge pull request #2033 from NZJenkins/viewport_fixes2
Improve viewport calculations
2020-11-21 12:37:19 +00:00
Luke Usher
9ebdef8502
Merge pull request #2037 from ergo720/fix_loader_wine
Allow cxbxr to work again with wine under Linux
2020-11-21 12:36:47 +00:00
Anthony
46ec7516fa Improve viewport calculations and 2D rendering
- SetViewport tracks the Xbox viewport values instead of setting the viewport,
so we can calculate what we need from them
- Rework GetViewportOffsetAndScale and scaling methods
- Vertex shader programs do not depend on D3D9 viewport to transform verts
- Account for backbuffer scale
- Add some D3DSWAP flags and LOG_TEST_CASE for unhandled usage
2020-11-21 23:41:16 +13:00
ergo720
c566836f42 Allow the cxbxr to work again with wine under Linux 2020-11-20 18:59:48 +01:00
Luke Usher
6350abaaf7
Merge pull request #2036 from CookiePLMonster/release-skip-removal
Remove hacks skipping guest resource removal if they are bound
2020-11-18 10:12:29 +00:00
Silent
43eefa8041
Improve the D3D_DestroyResource__LTCG patch
EDI register is unlikely to be trashed, but use a naked function anyway
Added logging, same as the non-LTCG DestroyResource
2020-11-17 20:44:26 +01:00
Silent
74333af9c0
Remove hacks skipping guest resource removal if they are bound
Fixes games running out of guest memory:
- Outrun 2
- Monster Garage
- probably many more

Removes "Skipping Release of..." test cases
2020-11-17 20:33:34 +01:00
Luke Usher
dc5f56222e
Merge pull request #2034 from CookiePLMonster/vertex-stream-offsets
Take vertex stream offset into the account when caching VBs
2020-11-16 23:07:32 +00:00
Silent
6892591084
Take vertex stream offset into the account when caching VBs
Fixes exploding vertices in TOCA Race Driver.
2020-11-16 23:52:18 +01:00
RadWolfie
1c2c02f47b dsound: fix CDirectSoundStream_GetStatus for difference output over time 2020-11-15 16:38:03 -06:00
PatrickvL
7e0f8f4b30
Merge pull request #2031 from CookiePLMonster/xdk-3911-ltcg-fixes
Misc fixes after the vertex declaration changes
2020-11-15 22:20:51 +01:00
Silent
770d062014
Fix a merge error in CxbxImpl_SetViewPort 2020-11-15 22:03:43 +01:00
Silent
67c31c650b
Const qualify a few parameters in XbVertexShader.cpp functions
No functional change, just preventing future me from a typo I made.
Const-qualifying those parameters would have prevented it.
2020-11-15 22:03:43 +01:00
Silent
dab1da6caf
Fix X_VERTEXSHADER_FLAG_PROGRAM flag for XDK-3948
In this XDK X_VERTEXSHADER_FLAG_PROGRAM appears to have a value of 4,
not 16. Adjusted the code accordingly and added test cases to verify
that assumption.
2020-11-15 22:03:43 +01:00
Silent
c3568f6ea3
Fix D3DDevice_SetVertexShader_0 not calling a trampoline
Fixes NASCAR Heat 2002 rendering (again)
2020-11-15 20:28:24 +01:00
Luke Usher
213dd2f86f
Merge pull request #1894 from PatrickvL/vertex_declaration_refactoring
Vertex declaration refactoring
2020-11-14 14:04:58 +00:00
Luke Usher
3f4f141cf1
Merge pull request #2030 from RadWolfie/update-env-method
Action: Fix CI Release Job
2020-11-13 12:08:12 +00:00
RadWolfie
a6353f7554 action: fix CI release job 2020-11-13 02:21:30 -06:00