Commit graph

109 commits

Author SHA1 Message Date
Falco Girgis
1f4dace511 Fixing simulator builds.
Some checks failed
re3 conan+cmake / build-cmake (openal, glfw, macos-latest, gl3) (push) Has been cancelled
re3 conan+cmake / build-cmake (openal, glfw, ubuntu-18.04, gl3) (push) Has been cancelled
re3 cmake devkitA64 (Nintendo Switch) / build-nintendo-switch (push) Has been cancelled
re3 conan+cmake / build-cmake (openal, glfw, windows-latest, gl3) (push) Has been cancelled
re3 conan+cmake / build-cmake (openal, windows-latest, d3d9) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_d3d9-oal) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_d3d9-mss) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_d3d9-oal) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_gl3_glfw-mss) (push) Has been cancelled
re3 premake amd64 / build (Debug, win-amd64-librw_d3d9-oal) (push) Has been cancelled
re3 premake amd64 / build (Debug, win-amd64-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake amd64 / build (Release, win-amd64-librw_d3d9-oal) (push) Has been cancelled
re3 premake amd64 / build (Release, win-amd64-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_d3d9-mss) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_d3d9-oal) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_gl3_glfw-mss) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_d3d9-mss) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_gl3_glfw-mss) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_gl3_glfw-oal) (push) Has been cancelled
Ugh. Stupid typo. Accidentally defined mat_store2() to mat_store2(). :(
2025-04-26 11:36:49 -05:00
Falco Girgis
fc4a7e3791 Fixing simulator builds.
- Had forgotten to define mat_load2(), mat_store2(), mat_identity2() for
  simulator builds in rwdc_common.h.
- Just defining them to use the regular versions.
2025-04-26 11:28:08 -05:00
Falco Girgis
04b11dfb9d Synchronized dca3-kos with main branch.
Which is where KOS's Gainz Phase 3 work now resides.
2025-04-26 11:15:07 -05:00
Falco Girgis
2716147db4 Everything tested/working: liberty/miami + gainz! 2025-04-26 10:52:36 -05:00
Falco Girgis
4d13e821b5 Liberty/Miami Perf Gainz Phase 3
1) synced dca3-kos repo which has some gainzy commits
2) rwdc_common.h
    - all low-level and matrix/vector routines for SH4 are now shared in
      this common file, included in both RW and Liberty/Miami engines
3) CMatrix
    a. assignment operator: now uses asm-optimized mat_copy()
    b. multiplication operator: now use mat_mult() SH4 routine
    c. Scale(): applies a scale matrix via mat_scale
    d. MultiplyInverse: fipr-optimizations
4) CQuaternion
    a. multiplication: SH4 ASM FIPR optimized
    b. Get(V3d& axis, float &angle): fast inversion/division
    c. Set(RWMatrix&): fast division
5) CVector
    a. Multiply3x3() now accelerated with mat_transpose
5) RwQuat
    a. mult(): FIPR accelerated
    b. length(): FIPR/FSRRA accelerated
2025-04-15 12:06:12 -05:00
Falco Girgis
92be9cfbdd Phase 2 of liberty/miami engine+RW SH4 math.
This PR is the second batch of SH4-specific optimizations for key
linear algebra routines within both the RW layer and liberty + miami
engines.

It also includes a bunch of routines that were accelerated within
liberty but were never added to miami, which has helped contribute to
the lower perf in Miami.

1) CQuaternion
    - magnitude, squared magnitude, and dot product use SH4 instructions
      now
2) CVector (Miami port from Liberty)
    - Multiply3x3, magnitude, squared magnitude, dot product, distance
      use SH4 instructions
3) rwbase.h
    - vector3 length, vector3 dot product, and quaternion dot product
      use SH4 instructions
2025-04-02 22:39:53 -05:00
MastaG
a3ce1e4ed5 Build pvrtex using GNU(++) 17 standard
Recent distros feature GCC 15 which defaults to C23.
ATOMIC_VAR_INIT has been removed from the C23 standard.

This causes the following build failure:
mem.c:72:39: fout: implicit declaration of function ‘ATOMIC_VAR_INIT’; did you mean ‘ATOMIC_FLAG_INIT’? [-Wimplicit-function-declaration]
   72 | static atomic_size_t max_alloc_size = ATOMIC_VAR_INIT(INT_MAX);
      |                                       ^~~~~~~~~~~~~~~
      |                                       ATOMIC_FLAG_INIT

Workaround this by telling the compiler to build using GNU 17 instead.
2025-03-30 20:49:27 +02:00
Stefanos Kornilios Mitsis Poiitidis
9eace08c7e streaming: Fix prefetch behaviour, read discards race, sfx and stream playback position race 2025-03-29 16:23:44 +02:00
Stefanos Kornilios Mitsis Poiitidis
446182f159 Fix sim build 2025-03-28 21:59:25 +02:00
Stefanos Kornilios Mitsis Poiitidis
5ef077fa14 Add experimental 24bpp video mode 2025-03-28 21:56:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
375b507cd8 pvr overflown detection: workaround for emulators; kos update 2025-03-28 21:06:52 +02:00
Stefanos Kornilios Mitsis Poiitidis
cfaab31a71 Small fix for move_only_function. Can't trust ai fully yet hah 2025-03-25 19:55:41 +02:00
Stefanos Kornilios Mitsis Poiitidis
0f3929a3b0 Don't spam print on texconv
Some checks failed
re3 conan+cmake / build-cmake (openal, glfw, macos-latest, gl3) (push) Has been cancelled
re3 conan+cmake / build-cmake (openal, glfw, ubuntu-18.04, gl3) (push) Has been cancelled
re3 conan+cmake / build-cmake (openal, glfw, windows-latest, gl3) (push) Has been cancelled
re3 conan+cmake / build-cmake (openal, windows-latest, d3d9) (push) Has been cancelled
re3 cmake devkitA64 (Nintendo Switch) / build-nintendo-switch (push) Has been cancelled
re3 premake amd64 / build (Debug, win-amd64-librw_d3d9-oal) (push) Has been cancelled
re3 premake amd64 / build (Debug, win-amd64-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake amd64 / build (Release, win-amd64-librw_d3d9-oal) (push) Has been cancelled
re3 premake amd64 / build (Release, win-amd64-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_d3d9-mss) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_d3d9-oal) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_gl3_glfw-mss) (push) Has been cancelled
re3 premake x86 / build (Debug, win-x86-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_gl3_glfw-oal) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_d3d9-mss) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_d3d9-oal) (push) Has been cancelled
re3 premake x86 / build (Release, win-x86-librw_gl3_glfw-mss) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_d3d9-mss) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_d3d9-oal) (push) Has been cancelled
re3 premake x86 / build (Vanilla, win-x86-librw_gl3_glfw-mss) (push) Has been cancelled
2025-03-25 19:49:06 +02:00
Stefanos Kornilios Mitsis Poiitidis
f2e2ff8a29 relax overzealous assert in setCurrentAnim 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
4a336c7a1a pack for less waste 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
fbce6234fe rwdc: Switch to context pointers instead of context offsets 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
5984c4f432 CutsceneHead: Don't leak RpHAnimAnimations 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
aba5bdac62 fix memleaks and clang 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
19debfced6 im2d: strip -> fan, rwdc micro wins for memory 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
020fe7b5b5 Introduce chunked_vector, it has some more overhead than needed but lets see if it helps 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
0f34808e8c Introduce re3StreamingAlloc that tries to despawn if alloc fails, use it for allocs during loading 2025-03-25 19:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
c82f4f0998 dca3-kos: Update for maple hotfixes 2025-03-25 16:45:36 +02:00
Stefanos Kornilios Mitsis Poiitidis
4d8ecc3bfb Fix texconv build 2025-03-17 00:25:37 +02:00
Stefanos Kornilios Mitsis Poiitidis
06e183fbd9 Header file fixups 2025-03-17 00:19:03 +02:00
Stefanos Kornilios Mitsis Poiitidis
061e137304 KOS update 2025-03-16 19:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
335d35e5ac woops revert vbuf size / count 2025-03-16 19:20:14 +02:00
Stefanos Kornilios Mitsis Poiitidis
131f076eed Dynamically adjust pvr guard buffer, update KOS for avoiding lockups 2025-03-16 19:17:21 +02:00
Stefanos Kornilios Mitsis Poiitidis
3664a47755 Merge branch 'skmp/getExecutableTag-cleanups' into 'main'
Unify getExecutableTag, export it for KOS, cleanups, KOS update

See merge request skmp/dca3-game!66
2025-03-16 16:00:01 +00:00
Stefanos Kornilios Mitsis Poiitidis
174e9d14ca KOS version hotfix 2025-03-16 17:22:49 +02:00
Stefanos Kornilios Mitsis Poiitidis
a6274c2990 koshle: switch dbglog to fprintf as printf is silenced 2025-03-16 17:14:27 +02:00
Stefanos Kornilios Mitsis Poiitidis
54a7512b91 Unity getExecutableTag, export it for KOS, cleanups, KOS update 2025-03-16 17:09:56 +02:00
Stefanos Kornilios Mitsis Poiitidis
346c6cbdf3 Update to latest dca3-kos 2025-03-15 15:52:47 +02:00
Stefanos Kornilios Mitsis Poiitidis
e012706d7c im2dvtx: use CameraZ, no-op RecipCameraZ 2025-03-14 19:08:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
2d11b271a2 fsaa: refsw support; rwdc support for modechange and scale; disable mblur; config changes 2025-03-12 01:23:09 +02:00
Stefanos Kornilios Mitsis Poiitidis
d61588368b Fix water for libety, add todo for miami 2025-03-11 00:50:58 +02:00
Josh Pearson
1e2b87fdb3 Update PT Alpha Test Value
Tested many values between 4, 192.  At 80 and above we start getting artifacts, going with 64 for now.
2025-03-10 20:57:06 +02:00
Stefanos Kornilios Mitsis Poiitidis
dac6aadbd5 mustmalloc_h, mustrealloc_h: assert on error 2025-03-09 15:12:19 +02:00
Stefanos Kornilios Mitsis Poiitidis
3a3beda8e4 fix pvrtex paths 2025-03-09 13:44:01 +02:00
Stefanos Kornilios Mitsis Poiitidis
df49ea88a3 Update gitignore, ci, working main and sim builds 2025-03-09 13:33:04 +02:00
Stefanos Kornilios Mitsis Poiitidis
60bbd0b782 Working miami build, not repack yet 2025-03-09 13:02:48 +02:00
Stefanos Kornilios Mitsis Poiitidis
2a10df3326 Move files around 2025-03-09 12:41:23 +02:00
Stefanos Kornilios Mitsis Poiitidis
52ab6d6f0c Move files around 2025-03-09 12:38:13 +02:00
Stefanos Kornilios Mitsis Poiitidis
ec3d531579 Update to kos with tweaked file limits 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
30274cf9f9 Add frustumTestSphereNear, don't check meshlet sphere if geom has skin 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
2c0b439260 reduce logging spam rwdc 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
24ed54e192 completely disable RTT til KOS is fixed 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
42041c1f7f Update dca3-kos submodule for RTTs 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
fc6cdc5f7e partially implement camera clears 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
de8a2352a6 Add re3EmergencyRemoveModel 2025-03-09 12:18:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
d0f593a9b9 fix windows build? 2025-03-09 12:18:32 +02:00