raylib/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonathan Marler f61c2c504d
[rcore][win32] Adding native win32 backend (#4869)
* win32 backend

* [rcore][win32] use SwapBuffers instead of wglSwapLayerBuffers

I don't understand OpenGL well enough to know the difference between
SwapBuffers and wglSwapLayerBuffers but the former seems to double
my FPS (from 2000 to about 4000 in core_vr_simulator).

* [rcore][win32] stop lying to the OS about when our window is updated

Instead of calling BeginPaint/EndPaint in WM_PAINT which signals to the
OS that our window content is updated, now when we encounter the WM_PAINT
message instead we return back to the raylib application which will
trigger it to render a new frame. We've replaced the call to BeginPaint
and EndPaint with a call to ValidateRect in SwapBuffers, which, means
we're now correctly telling the OS when our window content is actually
up-to-date.

Note that this doesn't fix the window content not being updated during
a window resize/move beacuse thos have their own message loop which
doesn't return early when it's time to paint.

* [rcore][win32] fallback to finding functions from opengl32.dll

* [rcore][win32] fixes from review/for gcc

* [rcore][win32] incorporate style conventions

* [rcore][win32] workaround unused function error SetupFramebuffer

* [rcore][win32] re-enable sanitize flags check for MSAA_4X

* [rcore][win32] more style changes and remove old DPI cases

Added some more missing spaces after conditional statements.  Also
made unsupported MSAA_4X an assert instead of an abort and also
removed dpi-aware cases for older OS's.  More changes would be needed
to support those OS versions, namely, removing the dependency
on shcore.

* [rcore][win32] fixes for compling with w64devkit without -DUNICODE

* Update build.zig

* Update build.zig

---------

Co-authored-by: Ray <raysan5@gmail.com>
2025-08-31 12:13:21 +02:00
..
external reviewed ALL non-external files to follow raylib's convention of no spaces around / or * (#5153) 2025-08-29 14:53:16 +02:00
platforms [rcore][win32] Adding native win32 backend (#4869) 2025-08-31 12:13:21 +02:00
CMakeLists.txt cmake: replace custom variable with built-in one 2025-04-28 11:57:53 -04:00
config.h Make culling distances consistent across raylib 2025-08-05 00:15:52 +02:00
Makefile [rcore][win32] Adding native win32 backend (#4869) 2025-08-31 12:13:21 +02:00
minshell.html REVIEWED: Code/Web-Makefile formatting 2025-01-12 16:19:10 +01:00
raudio.c [raudio] Properly close FLAC in UnloadMusicStream 2025-08-21 13:02:19 +02:00
raylib.dll.rc Update year to 2025 2025-01-01 00:02:52 +01:00
raylib.dll.rc.data Update year to 2025 2025-01-01 00:02:52 +01:00
raylib.h REVERT: Making codepoints const, variable is used to generate list in case it was NULL 2025-08-31 12:11:03 +02:00
raylib.ico Update raylib.ico 2024-11-14 16:40:04 +01:00
raylib.rc Update year to 2025 2025-01-01 00:02:52 +01:00
raylib.rc.data Update year to 2025 2025-01-01 00:02:52 +01:00
raymath.h removed unneeded comma 2025-08-07 19:55:46 +03:00
rcamera.h Make culling distances consistent across raylib 2025-08-05 00:15:52 +02:00
rcore.c [rcore][win32] Adding native win32 backend (#4869) 2025-08-31 12:13:21 +02:00
rgestures.h Update year to 2025 2025-01-01 00:02:52 +01:00
rglfw.c Update year to 2025 2025-01-01 00:02:52 +01:00
rlgl.h fix unnecessary warnings in some files (#5152) 2025-08-28 22:28:56 +02:00
rmodels.c reviewed ALL non-external files to follow raylib's convention of no spaces around / or * (#5153) 2025-08-29 14:53:16 +02:00
rshapes.c WARNING: **NEW** raylib code CONVENTION: Comments do not end with '.' 2025-08-07 18:23:20 +02:00
rtext.c REVERT: Making codepoints const, variable is used to generate list in case it was NULL 2025-08-31 12:11:03 +02:00
rtextures.c changed function params formatting (#5160) 2025-08-31 11:34:39 +02:00
shell.html REVIEWED: Code/Web-Makefile formatting 2025-01-12 16:19:10 +01:00
utils.c REVIEWED: SaveFileText(), const input text 2025-05-11 11:03:49 +02:00
utils.h Update year to 2025 2025-01-01 00:02:52 +01:00