Henrik Rydgård
10a5d2f810
OpenGL: Improve checks for fragment shader float precision.
...
Fixes #22001 (although there may be other artifacts).
2026-07-30 10:03:15 +02:00
Henrik Rydgård
dd125b2e4d
Delete obsolete (and non-working) support for GPUs without non-pow-2 textures.
2026-05-24 14:15:34 +02:00
Henrik Rydgård
2a745bc98d
Apple buildfix
2026-05-21 16:36:32 +02:00
Henrik Rydgård
4a420c95c2
Remove some redundant device caps, show clip/cull/depth-clamp in system info
2026-05-21 11:59:26 +02:00
Chris Healy
856e6ed49b
OpenGL: Add timer query extension detection
...
Add detection for GL_EXT_disjoint_timer_query (OpenGL ES) and
GL_ARB_timer_query (desktop GL) extensions. These extensions provide
GPU timestamp queries for profiling render pass durations.
Also adds function pointer declarations for glQueryCounter,
glGetQueryObjecti64v, and glGetQueryObjectui64v.
Signed-off-by: Chris Healy <cphealy@gmail.com >
2026-03-18 09:52:42 -07:00
Chris Healy
7ea1260ef0
OpenGL: Fix GLES3 detection for Mesa/Panfrost Mali drivers
...
The original code checked for "Mali" in GL_RENDERER and disabled GLES3
for all Mali GPUs, which was a workaround for bugs in ARM's proprietary
Mali driver. However, Mesa/Panfrost (open-source Mali driver) does not
have these bugs and should be allowed to use GLES3.
This patch:
- Adds GPU_VENDOR_MESA for identifying Mesa drivers via GL_VENDOR
- Changes the GLES3 ban to only apply when GL_VENDOR="ARM" (proprietary)
- Allows Mesa/Panfrost Mali GPUs to use GLES3 features
Expected behavior:
- ARM proprietary driver (GL_VENDOR="ARM"): GLES3 disabled (preserved)
- Mesa/Panfrost (GL_VENDOR="Mesa"): GLES3 enabled
- Other Mesa drivers: Unaffected
Related issues: #4078 , #15413
Signed-off-by: Chris Healy <cphealy@gmail.com >
2026-03-08 21:41:20 -07:00
Henrik Rydgård
1cc2b7233a
Fix some minor visual UI issues
...
See #21223
2026-02-15 19:57:56 +01:00
Henrik Rydgård
d6ebfed432
Fix some bugs and warnings from a pass of static analysis
2026-01-29 17:41:54 +01:00
Henrik Rydgård
1efcaafd5a
Add query for max texture size
2025-11-15 15:26:02 +01:00
Henrik Rydgård
d43b1d4618
String function cleanup
2025-08-31 14:45:41 +02:00
Henrik Rydgård
ed8f0c560a
Merge branch 'master' into fix-core-gpu-always-true
2024-09-17 13:03:26 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Herman Semenov
c901e8c9bb
[Core/GPU] Fixed condition blocks where result always true
2024-04-11 16:05:11 +03:00
Henrik Rydgård
e3177ac870
Make some global string pointers const, not just the strings.
...
Minor cleanup.
2023-12-29 14:09:45 +01:00
Jools Wills
82ce83185e
Fix building on OpenGL ES 2.0 (RPI VideoCore IV)
...
GL_COMPRESSED_RGBA_ASTC_4x4_KHR is not defined and looks to be an OpenGL ES 3.0 extension.
This fixes building on the Raspberry Pi 1-3 using VideoCore IV OpenGL ES 2.0 headers.
2023-11-21 20:16:09 +00:00
Henrik Rydgård
27b8d27efc
Add a different assert to SetGLCoreContext.
2023-06-03 11:57:08 +02:00
Henrik Rydgård
d167a11b1c
SDL: Add a way to reset OpenGL graphics by pressing F7.
2023-05-29 11:48:03 +02:00
Henrik Rydgård
c6e0027604
OpenGL: Try a different way to exclude desktop compression formats in build
...
May fix #17110
2023-03-14 16:09:40 +01:00
Henrik Rydgård
a4b5641f11
Add compressed texture format support checks
2023-03-12 16:18:46 +01:00
Henrik Rydgård
25fbfd7a89
Finish up OpenGL compressed texture format checks. Show in dev screen
2023-03-12 12:20:10 +01:00
Unknown W. Brackets
a37ed84b31
GLES: Avoid clip distance error in ANGLE.
2023-01-08 22:50:39 -08:00
Henrik Rydgård
10c0b3f2ae
Comment improvements
2022-12-29 00:39:59 +01:00
Henrik Rydgård
463d703feb
More assorted cleanup
2022-12-29 00:39:59 +01:00
Unknown W. Brackets
f6c26ecac0
Headless: Prevent crash on errors in graphics init.
2022-12-24 17:43:32 +00:00
Unknown W. Brackets
b33662550f
Vulkan: Use stencil export when available.
...
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Unknown W. Brackets
fc68cd9457
GLES: Add debug readback of stencil data.
...
This allows the existing gpu.buffer.renderStencil to snapshot the state.
2022-10-10 17:09:14 -07:00
Unknown W. Brackets
179c1e4a3b
GLES: Enable EXT_depth_clamp where supported.
...
Seems like Freedreno may support this.
2022-10-10 00:54:29 -07:00
lainon
3cdf72b68b
Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back'
2022-09-30 12:35:28 +03:00
Unknown W. Brackets
20c2ec1392
GPU: Skip alpha stencil upload when safe.
...
Otherwise, let's not do things that give different behavior at 1x or are
inconsistent.
2022-08-06 21:12:59 -07:00
Henrik Rydgård
77535c8132
Fix feature check for wrapping of non-pow-2 textures
...
May fix some problems with using 3x/5x upscaling or 3x/5x resolution on some
hardware.
2022-08-06 23:54:03 +02:00
Henrik Rydgård
46d6b43618
Support 3D textures in OpenGL ES, add feature check
2022-07-31 10:43:48 +02:00
Unknown W. Brackets
c20f352be2
GLES: Add asserts for correct blend usage.
...
Also make sure we don't try to use ARB blending on GLES.
2022-02-21 08:57:21 -08:00
Unknown W. Brackets
275baccc5b
GLES: Support GL_APPLE_clip_distance too.
...
Seems modern Apple mobile chips only support clip.
2021-10-12 20:34:44 -07:00
iota97
4ac7e28726
log fix
2021-07-22 11:31:03 +02:00
Henrik Rydgård
e3c748cc97
OpenGL: Accept "AMD" as a vendor string for, well, AMD.
...
Seen with the open source driver by archanox
2021-07-22 08:59:48 +02:00
Unknown W. Brackets
5119d79082
Build: Remove IOS define.
2021-03-02 21:04:03 -08:00
Henrik Rydgård
1eeebccd04
Fix Apple gpu detection
2021-01-30 18:31:39 +01:00
Henrik Rydgård
ca50077341
More GPU test improvements
...
* Fix the flat test. Unfortunately doesn't repro the bug :(
2021-01-17 18:04:00 +01:00
Henrik Rydgård
7de7680416
Apple driver bug workaround. See issue #13451
2020-12-16 14:39:08 +01:00
Henrik Rydgård
2dcfa63498
GL: Detect Apple GPUs as a category
2020-12-14 22:10:18 +01:00
Henrik Rydgård
32c9728c0c
Some cleanups in GL feature and shader language detection.
...
Gets rid of many wrong or bad checks for IsCoreContext.
2020-12-14 19:46:11 +01:00
Henrik Rydgård
3c2733d8eb
Adreno/OpenGL: Limit shader depal to 6xx series GPUs. Should help #13668 .
...
Also make a function static.
2020-11-22 18:00:07 +01:00
Henrik Rydgård
29b2f2c4ef
Better GLSL version handling. Now specify the latest version supported by the device.
...
Correct the version check for our own implementations of packUnorm4x8 etc.
2020-11-16 23:30:07 +01:00
Henrik Rydgård
e14437cb3f
OpenGL: Assorted shader-depal bugfixes and regression fixes.
...
Fixes #13517
2020-11-11 23:09:48 +01:00
Henrik Rydgård
a3d06e366f
OpenGL: Detect Adreno model number
2020-11-11 22:46:25 +01:00
Henrik Rydgård
9f33a82b49
Merge pull request #13646 from hrydgard/framebuffer-fetch-fixes
...
Framebuffer fetch fixes
2020-11-09 19:30:35 +01:00
Henrik Rydgård
2384b7a17d
Remove support for NV_shader_framebuffer_fetch extension, very old and rare.
...
Minor refactor.
2020-11-09 13:31:39 +01:00
Henrik Rydgård
864cc54aa4
Remove ForceGL2 flag. Add comments... hm.
2020-11-09 11:18:43 +01:00
Henrik Rydgård
207b76da6e
Show an error on screen if a shader fails to compile.
...
Part of #1 investigation of #13541
2020-11-05 08:27:13 +01:00
Henrik Rydgård
3d4fc7c696
Check for a couple additional GL extensions
2020-10-31 18:32:43 +01:00