Commit graph

138 commits

Author SHA1 Message Date
pent0
48ddae8c28 renderer: Fix proj typo and stenciling ref got removed.
- And leftover image bindings
2022-05-30 23:46:57 +02:00
pent0
764342b6e4 renderer: Add depth-stencil surface cache sampling and U32U32 texture surface. 2022-05-30 23:46:57 +02:00
Macdu
4071eb35c6 modules/SceGxm: Fix sceGxmDestroyContext 2022-05-30 02:06:48 +02:00
pent0
bd58da2649 modules/SceGxm: Correct implement sceGxm(Un)MapMemory.
- fix calculate upload size on gxmSetUniformBuffers.
2022-05-27 16:53:08 +02:00
Macdu
9889c472a9 kernel: better handling of thread priority and mask affinity 2022-05-25 15:23:21 +03:00
pent0
583d5a940d renderer: Implement partial force load.
- Does not support force load from memory. Use from stored FB.
  Hope no game is crazy to make its own depth
2022-05-16 20:26:33 +02:00
Zangetsu
67c287def5
modules/SceGxm: set data and good texture format for bagroundTex. (#1733)
- Used for sampling current color surface in both precomputed and immediate mode.
- fix wrong color and black screen render on Super Stardust Delta.
modules/SceGxm: Implement sceGxmColorSurfaceSetData & sceGxmColorSurfaceSetFormat.

Co-authored-by: pent0 <l51492003231@163.com>
2022-05-16 20:25:02 +02:00
Macdu
f10af1f79f modules/SceGxm: Handle consecutive calls to sceGxmDisplayQueueAddEntry 2022-05-09 02:44:20 +02:00
Macdu
73af263c26 modules/SceGxm: fix array size for GxmContextState stream_data 2022-05-04 15:47:23 +02:00
Macdu
687e7ee263 modules/SceGxm: fix precomputed state always having max size 2022-05-04 04:32:28 +02:00
bookmist
3fc79c0d25 modules/SceGxm: fix minor mistype in sceGxmSetBackDepthWriteEnable 2022-05-02 17:39:27 +02:00
pent0
972b0732df Fix notification value being passed as pointer instead of copy.
- Because the desired value should be copied during EndScene, to assign to notification.
- This fix durara, f1 2011, tearaway, ffx(2), knyt underground and more...
2022-04-18 14:25:47 +02:00
bookmist
016f8ece12 kernel\thread, modules: fix TLS in callback calls 2022-04-01 06:22:11 +02:00
pent0
3f162505c5 modules/SceGxm: fix handle precomputation when state is null. 2022-03-21 15:29:09 +01:00
Zangetsu38
522f329680 modules/SceGxm: Implement _sceGxmSetVertexTexture. 2022-03-21 14:15:46 +01:00
Zangetsu38
278e2bf7fe modules/SceGxm: implement both _sceGxmTextureSet(Height/width)
- fix log spam when texture format is tasked on sceGxmTextureSetWidth.
2022-02-26 11:10:30 +01:00
bookmist
14c9067e2a modules/SceGxm: use host callbacks to alloc mem in ShaderPatcher. Also implement sceGxmShaderPatcherSetUserData
Callbacks usage is not the same as in original module, many more callbacks should be used.
2022-02-26 11:10:04 +01:00
pent0
166cdfecb1 modules/SceGxm: Set the avg scenes par frame in DisplayQueueAddEntry. 2022-02-25 14:50:05 +01:00
Zangetsu38
7cf07fb1d3 modules/SceGxm: implement sceGxmTransfer(Copy/Downscale/Fill).
- stub convert type and syncflags.
2022-01-21 15:50:30 +01:00
Zangetsu38
9a559b1df5 modules/SceGxm: Implement RenderTargetGetDriverMemBlock.
- should fix crash on some game.
2021-12-30 01:42:06 +01:00
Zangetsu38
134603c947 modules/SceGxm: fix regression in loop of both StateSetAllUniformBuffers 2021-12-01 16:42:03 +01:00
Larry
d402ebcdea modules/SceGxm: Implement SetParamsInstanced and support instanced draw 2021-11-30 13:54:29 +01:00
Zangetsu38
f8ad0b98c5 modules/SceGxm: Stub PrecomputedDrawSetParamsInstanced.
- implement sceGxmPrecomputedVertexStateSetAllTextures & sceGxmPrecomputedVertexStateSetTexture.
- implement add texture for vertex texture in sceGxmDrawPrecomputed.
- add support of vertex texture in SceGxmPrecomputedVertex.
2021-11-30 13:54:29 +01:00
Larry
7f679634ed modules/SceGxm: Add first step cube texture support. 2021-11-30 06:17:37 +01:00
Larry
ef9510cfae modules/SceGxm: Implement sceGxmSetVertexTexture.
- Add vertex texture implementation, add set vertex texture for non precomputed
2021-11-24 10:20:56 +01:00
Larry
39f4cc0f3f modules/SceGxm: Fix mip count. 2021-11-24 10:15:44 +01:00
pent0
a435a49bcf shader: Group all buffers to single SSBO per stage
renderer: Fix wrong uniform buffer location in SSBO
2021-11-17 15:54:54 +01:00
Larry
f3002d2b0e modules/SceGxm: Implement full sceGxmTextureSetFormat.
modules/SceGxm: Don't set viewport and clp of deferred context on command list begin.
2021-11-15 05:01:02 +01:00
pent0
1c6336d004 modules/SceGxm: Improve sceGxmMidSceneFlush. 2021-11-11 00:48:21 +01:00
Zangetsu38
afae99635e modules/SceGxm: stub sceGxmMidSceneFlush. 2021-11-08 10:03:26 +01:00
Zangetsu38
c08c94945a modules/SceGxm: fix debug compile of TextureGetPalette.
return null if is not palette texture.
2021-10-21 20:44:34 +02:00
sunho
1eefb8a3e3 renderer: fix gxmFinish to wait for the last submitted scene 2021-10-16 16:00:28 +02:00
hobyst
168dfb19ca Add license notice on source files which didn't have one
- Also updated the copyright notice year on all files to 2021
2021-08-19 23:14:27 +02:00
Zangetsu38
157f1be011 modules/SceGxm: Stub BeginSceneEx.
- allow some game move to ingame, ex: valkyrie drive.
2021-06-01 03:32:04 +02:00
Zangetsu38
55e52805f6 modules/SceGxm: Stub SetVisibilityBuffer.
- Set all visible.

Co-authored-by: kd-11 <karokidii@gmail.com>
2021-05-29 02:03:47 +02:00
Foma Nikitin
02e8847526 shader: Fix mask write decoding and vmad2 modifiers 2021-05-28 09:36:35 +02:00
Foma Nikitin
ed7b8a415f modules/SceGxm: Fix data size submitting 2021-05-28 09:36:35 +02:00
sunho
dcfdb2a01b kernel: Rename thread functions and move thread runner out from thread.cpp
kernel: Fill init cpu context from kernel
kernel: Various style nits
2021-05-26 04:53:21 +02:00
sunho
c6790fa021 kernel: Merge thread state and functions & fix gdb 2021-05-22 21:12:11 +02:00
pent0
899fe29bfb modules: Fix texture size for swizzled and cubed 2021-05-19 19:44:26 +02:00
sunho
7d6d79c399 kernel: Merge state and functions 2021-05-19 11:36:18 +09:00
pent0
78bd06500a modules/SceGxm: Fix ProgramFindParameterBySemantic implementation. 2021-05-18 08:33:42 +02:00
sunho
c6a20fc894 kernel: Redesign guest function calling 2021-05-18 03:18:25 +09:00
pent0
4cc41a8c0c modules/SceGxm: More robust and optimised allocation algorithm. 2021-05-15 18:31:12 +02:00
pent0
7e8112c3f8 modules/SceGxm: Fix wrong texture being binded when draw normally after precompute
- Fix persona 4 golden random funny textures
2021-05-15 18:31:12 +02:00
mangren
21c83203f4 modules/SceGxm: Allow reserving more memory when needed for deferred. 2021-05-15 18:31:12 +02:00
mangren
b6e4400b97 modules/SceGxm: Implement notifications and command list generate/execute 2021-05-15 18:31:12 +02:00
mangren
762414b84d modules/SceGxm: Implement deferred get/set buffer functions 2021-05-15 18:31:12 +02:00
mangren
fb75dfef09 modules/SceGxm: Remodel part 2 to make state saveable from client side
- Reducing memory footprint, with the ability to keep track when should a command be sent (in order to prevent malicious command spamming)
- Ability to do some synchronization logics from client side
- Synchronize deferred and immediate logic, with it this way, less changes is required for deferred
2021-05-15 18:31:12 +02:00
mangren
beb2c8d5b5 modules/SceGxm: Remodel part 1 to use VDM space game provided
Not for deferred, only for immediate for now. This is a stepping place for separate command list

- Separate command list may not be used or intentionally malliciously abadoned, leading to memory leak if we gonna allocate using new operator from C++
- This one changes some stuffs so:
   * Allow change pointer of data when command execute process is launched, result in command only have extra c++ side data when it's certain to be executed, no more memory leak scary
   * Depend on VDM buffer of the guest provided to build up command list, using the mspace algorithm. Because graphics is a real-time application, with command being allocated at very fast rate, I use mspace for fast speed, not using the mempool
2021-05-15 18:31:12 +02:00