summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2019-11-23Restructure depth_internalformat code to work on mobileclayjohn
This changes the code path so that `glRenderBufferStorage*` always uses values appropriate for renderbuffers and `glTexImage2D` never uses an internalformat meant for buffers. Fixes #33825.
2019-11-23glTexImage2D: Fix confusion between format and internal formatRémi Verschelde
The `format` parameter is similar to `internalFormat` but takes different values, and especially only `GL_DEPTH_COMPONENT` for depth, without size specifier. Cf. https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glTexImage2D.xhtml Fixes a regression from #33278 and another occurrence.
2019-11-21Fix GL error by properly using float uniformclayjohn
2019-11-20Fix bugs introduced by IBL fixesclayjohn
2019-11-20Merge pull request #33583 from qarmin/fix_overflows_unitializedRémi Verschelde
Fix some overflows and unitialized variables
2019-11-20Fix some overflows and unitialized variablesRafał Mikrut
2019-11-20Merge pull request #33668 from clayjohn/Fix_environment_mapping_issuesRémi Verschelde
Fix issues with environment mapping
2019-11-19Fix issues with environment mappingclayjohn
2019-11-19Merge pull request #33720 from BastiaanOlij/fix_gles2_rgb8Rémi Verschelde
Need to use GL_RGB8 and GL_RGBA8 as the internal format for GLES2
2019-11-19Need to use GL_RGB8 and GL_RGBA8 as the internal format for GLES2Bastiaan Olij
2019-11-19Merge pull request #33527 from clayjohn/GLES2-bufferdata_optimizationRémi Verschelde
Improve glBufferSubData usage where safe
2019-11-17Fix negative light flickeringclayjohn
2019-11-11Improve glBufferSubData usage where safeclayjohn
2019-11-11Merge pull request #33517 from madmiraal/fix-_MSG-macrosRémi Verschelde
Send *_MSG macros' explanations directly to the _err_print_error().
2019-11-11Merge pull request #33518 from BastiaanOlij/msaa_ext_modesRémi Verschelde
Add MSAA mode for Quest
2019-11-11Add special external MSAA modes for GLES2 Rift S/Quest and OpenXR optimisationBastiaan Olij
2019-11-11Remove all uses of ERR_EXPLAIN macros.Marcel Admiraal
2019-11-10Handle missing file properly when checking for case mismatchPouleyKetchoupp
This was causing false alarms to be randomly reported on Windows for files that didn't exist.
2019-11-08Make MSAA work with external textureBastiaan Olij
2019-11-08Revert "fix #33188 MSAA depth buffer not used for external texture"Bastiaan Olij
This reverts commit 418b035ddaaf9b40892ba88632c3aa6f3bf128b5.
2019-11-08Merge pull request #33291 from NeoSpark314/fix_#33188Rémi Verschelde
fix #33188 MSAA depth buffer not used for external texture
2019-11-07Partial revert of #32657, undoing line shifting by 0.5Rémi Verschelde
As discussed in #32657, this can't be done here as lines can be used with a canvas scale, and this breaks them. A suggestion is to do the pixel shifting at matrix level instead. Fixes #33393. Fixes #33421.
2019-11-04fix #33188 MSAA depth buffer not used for external textureHolger Dammertz
When rendering to an external texture and MSAA was active (as happened in the Oculus Mobile ARVR plugin) no MSAA was rendered as the correct depth buffer and multisample texture target was not used. This also fixes https://github.com/GodotVR/godot_oculus_mobile/issues/54
2019-11-03Merge pull request #33278 from clayjohn/GLES2-depth-formatRémi Verschelde
Fix depth format on Android in GLES2
2019-11-02Fix depth format on Android in GLES2clayjohn
2019-11-02Merge pull request #33259 from Chaosus/remove_gles2_switch_opRémi Verschelde
Removed switch operator from GLES2 shader back-end
2019-11-02Removed switch operator from GLES2 shader back-endYuri Roubinsky
2019-11-01Fix some crashes, overflows and using variables without valuesRafał Mikrut
2019-10-30When framebuffer allocation fails for MSAA in GLES2 revert to normal without ↵clayjohn
ERR_FAIL
2019-10-28Merge pull request #33104 from qarmin/fix_some_crashesRémi Verschelde
Fix some crashes and using null pointers
2019-10-28Merge pull request #33097 from clayjohn/GLES2-HTML-sampler_limitRémi Verschelde
Fixed using compressed textures and add work around for firefox webgl mesa sampler limit
2019-10-28Fix some crashes and using null pointersRafał Mikrut
2019-10-27Fixed using compressed textures and add work around for firefox webgl mesa ↵clayjohn
sampler limit
2019-10-27use proper texture in Android MSAAclayjohn
2019-10-26Merge pull request #32617 from Faless/fix/fopen_close_execRémi Verschelde
Disable file descriptor sharing with subprocs.
2019-10-26Merge pull request #32657 from ptrojahn/linesRémi Verschelde
Fix draw_rect
2019-10-26Merge pull request #33093 from clayjohn/GLES2-HTML-shadowsRémi Verschelde
Fix shadow mapping with RGBA textures on html
2019-10-26Fix shadow mapping with RGBA textures on htmlclayjohn
2019-10-26Merge pull request #33059 from akien-mga/webgl2-resize-non-po2Rémi Verschelde
WebGL 2.0: Force decompressing non power-of-2 textures with repeat/mipmap
2019-10-25Use WSAConnect instead of connect on Windows.Fabio Alessandrelli
The misterious windows networking stack... Using connect instead of WSAConnect causes socket error 10022 under certain conditions. See: https://github.com/godotengine/webrtc-native/ (issue 6) Having to guess, code path for connect is different then WSAConnect with NULL extra parameters. The only reference about weird error with this code mentions something called "Windows Filtering Platform" but windows internals are, as always, obscure. This might be something to try and report to Microsoft if anyone has the time to spare with the likely outcome of being ignored.
2019-10-25WebGL 2.0: Force decompressing non power-of-2 textures with repeat/mipmapRémi Verschelde
While OpenGL ES 3.0 and WebGL 2.0 both support non power-of-2 (NPOT) textures in their specification, the situation seems to be less clear about *compressed* NPOT textures using repeat or mipmap flags. At least Chrome on Linux doesn't seem to support this combination, and a variety of mobile hardware have similar limitations. As a workaround, we force decompressing such textures when running on WebGL 2.0, at the cost of loading time and memory usage. Fixes #33058.
2019-10-24Fix compilation warnings in macOS build, enable `warnings=extra werror=yes` ↵bruvzg
for macOS CI.
2019-10-11only render depth with alpha prepass on prepassclayjohn
2019-10-11Fix draw_rectPaul Trojahn
OpenGL uses the diamond exit rule to rasterize lines. If we don't shift the points down and to the right by 0.5, the line can sometimes miss a pixel when it shouldn't. The final fragment of a line isn't drawn. By drawing the lines clockwise, we can avoid a missing pixel in the rectangle. See section 3.4.1 in the OpenGL 1.5 specification. Fixes #32279
2019-10-09Merge pull request #32170 from puthre/ninepatch-fixRémi Verschelde
GLES2 & GLES3 Fixes ninepatch margins for high resolution textures.
2019-10-08Merge pull request #32616 from Faless/net/fix_close_execRémi Verschelde
Disable socket descriptor sharing with subprocs.
2019-10-08Merge pull request #32454 from jeronimo-schreyer/disable_unix_socketRémi Verschelde
Optional Unix Socket disable for devices that do not support it
2019-10-07GLES3 Fixes for ninepatch margins when patch size is smaller than the patch ↵Valentin Zagura
texture resolution Scaled ninepatch margins in screen space to be relative of the ninepatch size when the patch size is smaller than the patch texture resolution.
2019-10-07Disable file descriptor sharing with subprocs.Fabio Alessandrelli
On Unix systems, file descriptors are usually shared among child processes. This means, that if we spawn a subprocess (or we fork) like we do in the editor any open file descriptor will leak to the new process. This PR sets the close-on-exec flag when opening a file, which causes the file descriptor to not be shared with the child process.
2019-10-07Disable socket descriptor sharing with subprocs.Fabio Alessandrelli
On Unix systems, sockets are like file descriptors, and file descriptors are usually shared among child processes. This means, that if we spawn a subprocess (or we fork) like we do in the editor, open file descriptors will leak to the new process. This causes issue with sockets as they might remain open and bound (listening) when the original process closes.