Commit Graph

204 Commits

Author SHA1 Message Date
olebeck
eea79553d8 move config cmake 2025-07-06 19:04:30 +02:00
olebeck
02b942b491 clang format 2025-07-06 16:41:04 +02:00
olebeck
02371e33ba fix transition on gxm 2025-07-06 13:21:31 +02:00
olebeck
df27d5c9b5 Merge remote-tracking branch 'upstream/master' 2025-07-06 12:42:45 +02:00
Anders Jenbo
58338fecfc
Faster and cleaner mosaic transition (#530) 2025-07-06 05:17:06 +00:00
olebeck
c71e94b8d3 update gxm renderer 2025-07-06 02:02:45 +02:00
olebeck
24a2e18c9c Merge remote-tracking branch 'upstream/master' 2025-07-06 01:59:53 +02:00
olebeck
b3d37a4d74 split 2d and 3d shaders completely 2025-07-06 01:57:14 +02:00
Anders Jenbo
6b446d242f
SDL_GPU: Fix transitions on scenes with 2D overlay (#529) 2025-07-05 22:01:21 +00:00
Anders Jenbo
af9f7cd791
3DS: Account for sprite scaling when resizing UI (#503) 2025-07-05 01:48:13 +02:00
olebeck
35ee36d50e update gxm renderer with interface changes 2025-07-04 22:04:59 +02:00
olebeck
3c9c35538c Merge remote-tracking branch 'upstream/master' 2025-07-04 22:02:40 +02:00
olebeck
0ff088959e change defaults 2025-07-04 21:50:12 +02:00
Anders Jenbo
4983da422c
OpenGL: Respect max supported texture size (#518) 2025-07-04 14:47:24 +02:00
olebeck
cc897bb0fa make config app not crash on launch 2025-07-04 01:53:06 +02:00
Anders Jenbo
c63d725b64
Port WipeDown and Window to use DDBLT_COLORFILL (#506) 2025-07-03 22:20:31 +00:00
olebeck
c89056c23e triple buffer textures because fences arent a thing on vita and making draw&cpu sync would be too slow 2025-07-04 00:06:28 +02:00
Anders Jenbo
e2eda71883
Yet another clearscreen ported to use COLORFILL (#508) 2025-07-03 22:04:21 +02:00
olebeck
9909aeae8a add messagebox on vita 2025-07-03 17:11:56 +02:00
Joshua Peisach
fde5e6ced3
citro3d: Let SDL3 take care of initiatizing/deinitializing GFX (#500) 2025-07-03 10:43:27 +00:00
olebeck
bada87b975 transform touch events to virtual size 2025-07-03 00:00:37 +02:00
olebeck
875b52dac6 Merge remote-tracking branch 'upstream/master' 2025-07-02 17:07:54 +02:00
Anders Jenbo
cb6fcd4194
Remove dead debug features (#471) 2025-07-02 14:52:24 +02:00
Anders Jenbo
4c0035fa74
Stip out more unnecessary OpenGL calls (#476) 2025-07-02 14:50:45 +02:00
olebeck
ad861254be Merge remote-tracking branch 'upstream/master' 2025-07-02 12:25:01 +02:00
Anders Jenbo
55c13cd140
Implement dithering where relevant (#473) 2025-07-02 12:07:20 +02:00
Anders Jenbo
cca65ba178
Remove unused function from OpenGL renderer (#475) 2025-07-02 12:07:04 +02:00
Christian Semmler
e7c7ecf510
Add experimental WebGL support to Emscripten (#440)
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
2025-07-02 06:15:15 +00:00
olebeck
b12d246b3f add vita to dist folder 2025-07-02 03:28:46 +02:00
olebeck
fae97351a5 Merge remote-tracking branch 'upstream/master' 2025-07-02 02:24:36 +02:00
olebeck
450ce40b01 improve fragment shader performance 2025-07-02 02:18:22 +02:00
Anders Jenbo
7b06ee5ae6
Add support for POT-only GPUs, fix VBO (#468) 2025-07-02 00:45:25 +02:00
Joshua Peisach
1ff768935e
3DS Port (#450)
* [WIP] 3ds port

Recommit of everything after the 2d renderer merge

* VERY AWESOME FEATURE FRFR

* Stopped CPU suicide and app crashing for now

* put in Texture3DS function thing

* Fix clear color

* Implement 2D rendering via Citro3D

* Set 3dsx smdh metadata

* Render world content, sort of

* Push mesh dynamically

* Remove Citro3D init hacks

* Clean up Citro3D implementation

* Try to upload meshes and convert matricies

* Fix 3D rendering

* Apply optimizations

* Implement lighting

* Set 3dsx smdh metadata

* Revert "Apply optimizations"

This reverts commit 6660082fef.

* Apply optimizations

* Added a cleaner icon (#4)

* Fix pure buffer clear frames (#9)

* Disable OpenGL on 3DS (#10)

* Fix tiled textures and improve UI image quality (#11)

* Create 3DS default config overrides

* 3ds: implement apt hooks

* remove unused import

* Apply suggestions from code review

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update miniwin/src/d3drm/backends/citro3d/renderer.cpp

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Separate 3DS apt hook code + move cmake 3ds into ISLE_BUILD_APP

* miniwin: use citro3dd if debugging

* Optimize texture encoding (#12)

* Cleanup

* Set correct mipmap level for UI textures (#13)

* cpack: include the .3dsx

* Add 3DS CI

* Fix CI

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* syntax

* Refactor c3d renderer (#14)

* Refactor c3d renderer

* format

* Apply suggestions from code review

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

---------

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

* n3ds: just distribute the .3dsx

* upload 3dsx

* Skip uploading 3DS artifacts

* Update ci.yml

* Update ci.yml

* Remove extraneous ifdef

---------

Co-authored-by: MaxBrick <maximusbrick@gmail.com>
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
Co-authored-by: Steven <139715581+StevenSYS@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-07-01 02:43:10 +00:00
Anders Jenbo
586327b584
Destry shader before the context (#463) 2025-07-01 04:15:02 +02:00
olebeck
fca27bf78d Merge remote-tracking branch 'upstream/master' 2025-07-01 02:49:57 +02:00
olebeck
47704c89ec remove a change thats not needed 2025-07-01 02:48:21 +02:00
Anders Jenbo
e2ff65cf91
Expose window during device probing (#462) 2025-07-01 02:23:13 +02:00
olebeck
3e47c9a779 run clang-format 2025-07-01 00:06:52 +02:00
olebeck
13c269eacf hopefully actually fix uniform buffers 2025-07-01 00:05:02 +02:00
Anders Jenbo
ab48ce60b0
OpenGL ES 2.0 Only lookup shader locations once (#460) 2025-06-30 23:38:44 +02:00
olebeck
00cd13d5f1 update GXMRenderer_EnumDevice 2025-06-30 23:01:33 +02:00
olebeck
43888843a0 Merge remote-tracking branch 'upstream/master' 2025-06-30 22:58:46 +02:00
Anders Jenbo
225adda309
Rendering refactoring (#459)
* Hint texture intent to renderer

* improve transparancy for 32bit rendering

* Align OpenGL ES 2.0 with SDL_GPU's 2D rendering
2025-06-30 22:51:26 +02:00
olebeck
5dae46b3c9 missed a line 2025-06-30 22:10:45 +02:00
olebeck
3c548d987c Merge remote-tracking branch 'upstream/master' 2025-06-30 21:10:28 +02:00
olebeck
9cab1ac14d double buffered uniforms seem to work now 2025-06-30 21:07:42 +02:00
David Gow
e87184b502
Fix the OpenGL backends on non-glx Linux platforms (and remove GLEW dependency) (#446)
* Work around issues with depth-buffer size on EGL-based platforms

The OpenGL 1.1 and OpenGL ES 2.0 backends can break on EGL-based platforms,
such as Wayland, or X11 with SDL_VIDEO_FORCE_EGL=1. One of the reasons for
this (the other being glew on the GL1.1 backend) is that SDL/egl get very
confused by the way we set OpenGL attributes, particularly SDL_GL_DEPTH_SIZE,
resulting in SDL_GL_CreateContext() failing with EGL_BAD_MATCH.

The exact cause of this is unknown, but it seems to be a combination of:
- SDL_GL_SetAttribute() is supposed to be called _before_ the window is
  created, and we're calling it afterward.
- Creating several test windows during the enumeration process, mixing
  and matching between OpenGL and OpenGL ES profiles.

The "most correct" solution is probably to delay creating the game window
until the backend creation process, rather than before the enumeration
occurs. But that's a real refactor, which could cause other issues.

Instead, set the 24-bit bit depth (which we've hardcoded anyway) before
creating the window, and use SDL_GL_ResetAttributes() when creating backends.

This seems to work here in all of the cases I was able to try (modulo the GLEW
dependency, which is removed in the next patch).

* miniwin: Remove GLEW dependency for OpenGL 1.1

GLEW normally backs directly onto glXGetProcAddress on Linux, which is broken
on non-GLX setups, such as Wayland (but also X11 with EGL, and presumably KMSDRM).

Replace it with manual calls to SDL_GL_GetProcAddress() for the VBO path.

Note, however, that SDL_opengl.h includes "windows.h", so conflicts with the
miniwin implementation, which breaks builds on windows.

In order to work around this, we do what the Direct3D9 implementation does and
push all of the OpenGL calls to a separate file, actual.cpp.

Going forward, it may make sense to load _all_ OpenGL entry points via SDL,
which would allow us to avoid linking directly with libGL/libOpenGL, and
therefore eliminate the separate build dependency altogether, as well as
allowing more runtime configurability as to the OpenGL library to load.

(But that's definitely a bit uglier, and also useful very rarely.)
2025-06-29 17:47:09 +02:00
olebeck
5005772243 correct texture address mode, use tlsf instead of sceClibMspace 2025-06-29 16:30:20 +02:00
olebeck
7c15d4f9d8 run clang format 2025-06-28 03:39:00 +02:00
olebeck
2aeeff7d07 remove some unneeded changes 2025-06-28 03:30:03 +02:00