2e01c0a840Linux Ports (All): Update the Code::Blocks project file to add build targets for AArch64. Also do some other misc. updates. - Release builds now use -Ofast optimization instead of -O3. - Release builds no longer strip their symbols. This will be needed for profiling and debugging.
rogerman
2024-08-08 17:34:26 -0700
b799d94762Colorspace Handler: Fix compiling for strict NEON. - We could always use -flax-vector-conversions, but let's try to stay disciplined for now.
rogerman
2024-08-08 12:11:20 -0700
176e38ce2fOpenGL Renderer: Simplify the code by removing the references to multiple output shaders, since commit 0c7cb99 has obsoleted them.
rogerman
2024-08-07 12:20:35 -0700
c5ab8a6ef6OpenGL ES Renderer: Fix a bug where RGBA6665 color output would fail. (Regression from commit de9fc5a.) - Also update some comments.
rogerman
2024-08-06 23:48:54 -0700
de9fc5ab75OpenGL Renderer: Remove the additional FBOs that were introduced in commits 60385bd, 8b5ac56, and 3ef9271 in an attempt to fix rendering on old GPUs like the Intel HD 4000. (Fixes #820.)
rogerman
2024-08-06 21:54:39 -0700
d7dcc85d87GTK / GTK2 Ports: EGL contexts running legacy OpenGL no longer require the EGL_KHR_surfaceless_context extension.
rogerman
2024-08-03 11:14:55 -0700
79f3f94099GTK2 Port: Set the audio volume in the same way as the GTK port so that the audio volume is consistent between the two ports.
rogerman
2024-08-03 10:13:41 -0700
9aa2ddfc88Linux Port (GTK/GTK2): Remove the requirement for libGLX.so when requesting a GLX context since libGL.so is all we need here. - Also do some minor code cleanup in glx_3Demu.cpp
rogerman
2024-08-02 12:10:21 -0700
4427b863adLinux Port (GTK/GTK2): Fix compiling in glx_3Demu.cpp. - Also fix a typo in egl_3Demu.cpp
rogerman
2024-08-01 23:02:58 -0700
15f5b169ccVideo Filters: Improve performance of Deposterize and XBRZ CPU-based filters. (Based on PR #631.) - Special thanks to @m42a for the inspiration on this code!
rogerman
2024-08-01 21:07:24 -0700
be51e41c04Ugh, let's try fixing the last stubborn Meson build script...
rogerman
2024-08-01 18:00:54 -0700
46990f2d85Fix some issues with Meson build scripts. (Regression from commit ca566eb.)
rogerman
2024-08-01 17:51:12 -0700
ca566eb11bOpenGL Renderer: Finalize all renderer-client integration to "just work". - These changes now presume that standard OpenGL and OpenGL ES are mutually exclusive. We will NOT support running a standard OpenGL context and an OpenGL ES context in the same process. - Clients must explicitly request supporting the OpenGL 3D renderer in their build configuration. Build configurations must define ENABLE_OPENGL_STANDARD (replacing the HAVE_OPENGL macro) or ENABLE_OPENGL_ES. If neither macro is defined, then the OpenGL 3D renderer will be assumed unavailable. - Meson and Autotools now use better header/library checks for OpenGL functionality with their associated context type. - Add a new Code::Blocks project file that can make builds for CLI, GTK, and GTK2. - GTK and GTK2 ports now have the option to run a legacy OpenGL context, a 3.2 Core Profile context, or simply choosing the best context automatically like before. - GTK and GTK2 ports have GLX and EGL as new context types. OSMesa and SDL have been updated to the latest design pattern. - GTK and GTK2 ports can now be configured (via Meson or Autotools) to use a GLX, OSMesa, EGL, or SDL context. - OSMesa contexts are now marked as deprecated. I don't know of anyone who still uses them, and I've never been able to get it to work correctly for years. Now that we have GLX contexts for compatibility purposes, OSMesa contexts are now completely redundant. - Fix a bug with the GTK port where ancient GPUs without FBO support can still run framebuffers at custom sizes. - For POSIX ports, move all "avout" and context creation files to the "shared" directory for better file organization.
rogerman
2024-08-01 17:08:01 -0700
0a78fa2a2bOpenGL Renderer: Fix a few bugs here and there. - Fix a compiling bug for ES due to missing tokens. - Fix Fog and Edge Mark feature availability when running legacy OpenGL. (Regressions from commit 0c7cb99 and commit 8b5ac56.) - glDrawBuffer() now determines its own algorithm at runtime instead of at compile time. This change is being done to be consistent with all of the other Standard vs ES changes.
rogerman
2024-08-01 00:11:05 -0700
2f177d19a2Cocoa Port: Update OpenGL renderer integration code to reflect current design patterns.
rogerman
2024-07-26 14:56:36 -0700
4c90c2d9eeOpenGL ES Renderer: Finalize the last remaining bug fixes so that the ES renderer can work "out of the box". - Respect the draw buffers ordering rules that are unique to ES. - Report the actual OpenGL variant being requested when initializing the renderer. - Add oglrender_deinit() function pointer so that clients can properly handle the destruction of their associated context resources at the correct time. - Certain internal OpenGL info is now assigned at run time instead of at compile time. This change now allows any of the OpenGL renderers to run side-by-side.
rogerman
2024-07-26 11:10:50 -0700
d6532b9e91OpenGL ES Renderer: Fix TBO-based polygon state uploading.
rogerman
2024-07-24 15:28:56 -0700
d58c0e9331OpenGL Renderer: Oops! Fix a compiling issue introduced in commit e2a25e2.
rogerman
2024-07-23 21:39:07 -0700
e2a25e2412OpenGL Renderer: Fix various rendering bugs. - Fix a potential unaligned access crashing bug in ES when clear images are to be rendered. - Fix an ES bug where clear images would fail to render when MSAA is enabled. - Fix a legacy OpenGL bug where toon table colors were not ignoring their alpha bit, according to GBATEK.
rogerman
2024-07-23 21:28:15 -0700
f323dc464fWindows Port: Fix bug where the OpenGL 3D renderer would fail to initialize at program startup. (Regression from commit 76fe5f7. Fixes #815.)
rogerman
2024-07-22 22:47:29 -0700
12ed7dd054Colorspace Handler: Fix alpha detection logic in ColorspaceConvert5551To8888_*() and ColorspaceConvert5551To6665_*().
rogerman
2024-07-21 21:02:50 -0700
368cd49fb6OpenGL Renderer: Tighten up some code related to clear image.
rogerman
2024-07-20 22:54:44 -0700
3ef927100bOpenGL Renderer: Fix some longstanding graphical glitches related to running Edge Mark and Fog with MSAA. - These graphical glitches are resolved only when running 3.2 Core Profile with the GL_ARB_sample_shading extension, available on all modern GPUs. - Do some minor optimizations to the Edge Mark and Fog shaders. - Also fix an FBO attachment bug in legacy OpenGL that was introduced in commit 8b5ac56.
rogerman
2024-07-20 20:49:44 -0700
8b5ac56d66OpenGL Renderer: More FBO rework.
rogerman
2024-07-19 14:38:05 -0700
Merge branch 'TASEmulators:master' into master
Max Fedotov
2024-07-19 10:22:01 +0300
60385bd099OpenGL Renderer: Rework how the output framebuffers work. - The output framebuffers now bind their own FBOs rather than changing draw targets with glDrawBuffer(). - Rework the general FBO management. - Legacy OpenGL now outputs native RGBA color if FBOs are supported. This should give a minor performance increase on older GPUs. - The fixed-function pipeline can now flip the framebuffer on GPU. This greatly reduces the CPU usage when doing the final color conversion and gives a significant performance increase on ancient GPUs.
rogerman
2024-07-18 21:45:00 -0700
811e1de45eOpenGL Renderer: Oops! Roll back some internal test code that accidentally slipped into commit 0c7cb99.
rogerman
2024-07-18 12:46:11 -0700
3e650f2f73OpenGL Renderer: Add entry point for glBlendColor, fixing compiling on Windows. (Regression from commit 0c7cb99.)
rogerman
2024-07-18 12:26:53 -0700
0c7cb99d78OpenGL Renderer: Greatly simplify the fog rendering pass. - There is no more need to switch to the working texture as the destination for the fog output. This change will be essential for future commits. - The dual-source blending method has been obsoleted and removed. - FBOs are no longer required for the fog feature, easing requirements for ancient GPUs. - Ancient GPUs may see a small performance benefit due to shader simplification.
rogerman
2024-07-18 12:17:25 -0700
Merge branch 'TASEmulators:master' into master
Max Fedotov
2024-07-18 22:06:38 +0300
70fef83dedOpenGL Renderer: Fix bug when the screen wasn't being cleared properly when no polygons are being sent to the renderer. (Regression from commit 241ca96.)
rogerman
2024-07-16 16:15:47 -0700
ff9231bb34OpenGL Renderer: 16-bit texture data that is converted to 32-bit is now byte-swapped correctly on big endian systems.
rogerman
2024-07-15 23:09:53 -0700
ab1d37a44fColorspace Handler: Fix compiling on AltiVec systems. (Regression from commit 586aea5.)
rogerman
2024-07-15 23:07:24 -0700
cc0b3ed00dCocoa Port: Update the OpenGL blitter code to reflect the current code pattern in OGLRender.h. - Centralize all header includes into OGLDisplayOutput.h. - Update all extension versions of OpenGL functions/tokens that would be core in OpenGL v1.5.
rogerman
2024-07-15 16:52:43 -0700
80694cd966OpenGL ES Renderer: More ES fixes. - Change the remaining FBO attachments that I missed the last time to use RGBA8 internal format. - Fix picky ancient drivers that won't accept GL_RED as a texture internal format. It has been changed to GL_LUMINANCE. - Fix picky ES drivers that demand that the external format used in both glTexImage2D() and glTexSubImage2D() are exactly the same. - OpenGL ES doesn't support GL_UNSIGNED_SHORT_1_5_5_5_REV for texture data, and GL_UNSIGNED_SHORT_5_5_5_1 is incompatible with our data. So instead, all 16-bit data will be converted to 32-bit LE before uploading it via the textures, and such ES textures will now take GL_UNSIGNED_BYTE format. - Remove the #include for EGL/egl.h in OGLRender.h, since EGL shouldn't exist at this level of the code stack.
rogerman
2024-07-15 16:45:21 -0700
586aea5310Colorspace Handler: Add new functions for 16-bit to 18-bit and 32-bit color conversion, now respecting the 16-bit color's alpha bit. - ColorspaceConvert5551To8888() - ColorspaceConvert5551To6665() - ColorspaceConvertBuffer5551To8888() - ColorspaceConvertBuffer5551To6665() - Also rename the existing 16-bit color conversion functions to help further distinguish the functions from one another.
rogerman
2024-07-15 16:24:02 -0700
8e52190221GTK: add OpenGL ES support
thesource
2024-07-15 10:59:21 +0300
15a6e51739OpenGL Renderer: Add support for Fog, Edge Mark, and on-GPU framebuffer color conversion for ancient GPUs that have support for shaders and FBOs, but lack support for GL_EXT_framebuffer_blit.
rogerman
2024-07-14 19:38:29 -0700
241ca96cf1OpenGL Renderer: Fix issues that would throw a GL error. - glTexParameteri() with GL_TEXTURE_2D_MULTISAMPLE throws INVALID_ENUM when trying to assign a sampler-related state, so these calls have been removed. - glMapBufferRange() throws GL_INVALID_OPERATION if the buffer size is 0, so check for this condition first.
rogerman
2024-07-13 10:43:04 -0700
aaf88d9f14OpenGL ES Renderer: More ES tune-ups. - Any ES-specific error messages are now reported as "OpenGL ES" instead of "OpenGL". - Explicitly declare the internal format of all textures and RBOs used as FBO attachments as "GL_RGBA8" instead of the generic "GL_RGBA". This may fix some extremely picky ES drivers that would throw GL_INVALID_ENUM if we don't use a sized internal format. - Hard code the read pixels format as GL_RGBA and the read data type as GL_UNSIGNED_BYTE. It is meaningless to rely on GL_IMPLEMENTATION_COLOR_READ_FORMAT and GL_IMPLEMENTATION_COLOR_READ_TYPE since we are reading from our own FBOs that are hard coded to GL_RGBA8 format. - Require that OpenGL ES contexts support the GL_OES_surfaceless_context extension, since we are doing offscreen rendering strictly on FBOs only. This extension has been around for a very long time, and so this serves as a kind of compatibility check.
rogerman
2024-07-12 15:41:09 -0700
d480f95d79Cocoa Port: Fix yet another crash-on-exit bug that could happen when running on an older system.
rogerman
2024-07-12 12:00:49 -0700
b0aa98ebf2Merge branch 'master' into safek_master
SimonAfek
2024-07-11 13:59:20 +0200
00dd6fb97aOpenGL ES Renderer: Use the proper ES extension header, and also avoid double #defining some of the tokens.
rogerman
2024-07-10 21:53:49 -0700
bb3011c262OpenGL Renderer: Return to a more traditional method of doing texture reads in shaders, effectively removing dependent texture reads where appropriate. - This change won't affect standard OpenGL on a desktop PC, but may improve performance on lesser GPUs trying to run OpenGL ES.
rogerman
2024-07-10 16:01:13 -0700
86a29d768aOpenGL ES Renderer: Do some minor changes/fixes. - Fix a bug where _isShaderFixedLocationSupported wasn't being set to true, causing shaders to fail. - OpenGL version checks now account for non-compliant ES drivers that contain text before the version number. - Manually set the default read/draw buffers for all FBOs upon creation. We shouldn't need to do this, since they should always be set later, but just in case... - Add missing GL_BGRA macro. - Tidy up the OpenGL naming in some error strings.
rogerman
2024-07-10 13:59:02 -0700
3a6f2f6dc5OpenGL ES Renderer: Add a new OpenGL ES 3.0 renderer.
rogerman
2024-07-09 23:00:27 -0700
0e88f9aa94OpenGL Renderer: Final changes for OpenGL ES compatibility.
rogerman
2024-07-09 22:03:33 -0700
384854f6e7OpenGL Renderer: More updates to the 3.2 Core Profile renderer to be more cross-compatible with OpenGL ES 3.0. - Add support for fixed locations in shaders for OpenGL 3.3 and later. - The fog density table texture is now a 2D texture instead of a 1D texture. - Fix a memory leak where the polygon state texture wasn't being deleted upon the destruction of the OpenGLRenderer object.
rogerman
2024-07-09 01:18:50 -0700
7dbece1082OpenGL: Do some minor changes to the 3.2 Core Profile renderer to make it more cross-compatible with OpenGL ES 3.0. - PBO handling now works via glMapBufferRange() instead of glMapBuffer(). - Polygon states can now be uploaded using plain integer textures. 64k UBOs and TBOs are no longer required.
rogerman
2024-07-06 16:20:53 -0700
09090e93f9GFX3D: Change POLYLIST_SIZE to 16384 to ensure proper memory alignment with buffers based on CLIPPED_POLYLIST_SIZE and VERTLIST_SIZE.
rogerman
2024-07-06 13:58:05 -0700
c962c550e7OpenGL: Handle legacy functions and tokens more gracefully for OpenGL variants that may not have them.
rogerman
2024-07-05 18:13:43 -0700
76fe5f758cOpenGL: More changes in preparation of OpenGL ES. - Slightly change the names of attachment defines so that they can be distinguished from the native OpenGL attachment defines. - The minimum version driver check now accounts for OpenGL ES. - OpenGLRendererCreate() can now handle any possible OpenGL variant, as declared in the OpenGLVariantID enum. - Framebuffer read backs may now assigned their format and data type. (Legacy OpenGL assigns the format as GL_BGRA, while 3.2 Core Profile assigns the format as GL_RGBA.)
rogerman
2024-07-03 16:55:47 -0700
3ec0b0c2e1OpenGL: Continue preparation for adding OpenGL ES. (Related to commit 086980d.)
rogerman
2024-07-03 13:01:17 -0700
fc6ff8edbdGPU: Fix a bug on big-endian systems where setting the backdrop color could cause a crash.
rogerman
2024-07-02 01:35:10 -0700
fe0ae83c40Cocoa Port: Fix a longstanding, yet rare, crash that may occur when quitting the app.
rogerman
2024-07-02 00:16:46 -0700
d4163a1893OpenGL: Fix building on Windows and Linux. (Regression from commit 086980d.)
rogerman
2024-07-01 16:26:46 -0700
086980deafOpenGL: Start reorganizing stuff in preparation for adding new OpenGL variants, such as OpenGL ES. - All platform-specific header includes are now centralized in OGLRender.h. - Remove all ARB and EXT versions of legacy functions (everything pre 3.0). Legacy functions now only reference their core versions. - Do a some minor code cleanup.
rogerman
2024-07-01 16:19:05 -0700
76bd1a5e35Change line-ending style in OGLRender.h from Windows-style CRLF to Unix-style LF.
rogerman
2024-06-29 14:50:47 -0700
6309a9c6a7libretro: So apparently, _XOPEN_SOURCE has to be at the top of the file. Hopefully this makes both GCC14 users and Mac users happy. (Related to commit 779606e. Based on PR #793.)
rogerman
2024-06-07 17:16:53 -0700
779606ec2flibretro: Fix building on Mach-based operating systems, otherwise known as Mac OS X and modern macOS (regression from commit 90d0abd). Based on PR #793.
rogerman
2024-06-07 16:33:13 -0700
ff6c33a8d6winport - reduce joystick digitalization threshold from 60% to a more normal 50%. With a too-high threshold, it's impossible to specify diagonals. This is preferable for games without diagonals (else you accidentally crouch when you just meant to walk to the side) instead of 8-way games, so we have to be pretty aggressive about the threshold. But 50 is the more normal choice.
zeromus
2024-06-07 00:18:02 -0400
6f64f9a3bclibretro-common: get strlcpy declarations on macOS
Adam Sampson
2024-05-13 14:43:58 +0100
Merge pull request #792 from atsampson/xopen-strdup
zeromus
2024-05-13 07:59:48 -0500
738298a9e8libretro-common: fix implicit declarations
Adam Sampson
2024-05-13 12:47:10 +0100
4a53a30b91winport - fix bug where desmume would create working directory using some wrong locale encoding and produce a Pok魯n directory instead of using the Pokémon that was already there (fixes#791)
zeromus
2024-05-12 21:33:33 -0400
add an issue template for github (#784)
rofl0r
2024-04-12 21:39:12 +0200
db3c4512c0add an issue template for github
rofl0r
2024-04-09 11:04:41 +0000
bae67e2d0cGPU: Implement the DISPCNT register's ForceBlank bit by clearing the line to white if the ForceBlank bit is set. (Fixes #775.)
rogerman
2024-03-02 15:18:51 -0800
GTK: make OSD scalable (#769)
Max Fedotov
2024-02-14 11:20:57 +0300
7529f6bc9fDifferent pixel formats are handled by different draw target implementations
thesource
2024-02-14 10:33:08 +0300
21cceaffe3Detect screen bytes per pixel instead of hardcoding it, define AGG2D_USE_VECTORFONTS if fontconfig is found.
thesource
2024-02-13 18:34:33 +0300