Rémi Verschelde
e321004098
Merge pull request #25356 from muiroc/bug_web_comp_tex
...
Fix S3TC texture loading for WebGL
2019-01-27 09:41:50 +01:00
Rémi Verschelde
c3b0ee5941
Fix code style issues
2019-01-26 22:35:31 +01:00
muiroc
d1e399a971
fix s3tc support detection for webgl
2019-01-26 22:25:03 +01:00
Rémi Verschelde
d355469c1f
Merge pull request #25300 from neikeq/improve-thread-id
...
Improve custom thread numbering for POSIX
2019-01-26 20:33:18 +01:00
Hein-Pieter van Braam
a8510331c0
Fix compilation on UWP
...
It appears that MSVC and Mingw disagree about what conversions are legal
here. We just use the 'wide' version of the call and use our native
CharType instead of TCHAR.
2019-01-26 16:27:10 +01:00
Juan Linietsky
18c3ed245a
Further fixes to avoid memory corruption, closes #25336
2019-01-26 10:47:04 -03:00
Juan Linietsky
973b68f396
Properly dispose of custom shaders, closes #19300
2019-01-25 19:28:27 -03:00
Juan Linietsky
6d4d55cd42
Do not use depth prepass if effects are disabled, fixes #25267
2019-01-25 15:58:07 -03:00
Bastiaan Olij
fe72e69c79
Revert "Fix GLES3 error 502 on iOS"
2019-01-26 01:51:41 +11:00
Juan Linietsky
677d4400de
Ensure contact shadows are only used when lights use them.
2019-01-25 11:41:25 -03:00
Bastiaan Olij
da7f9e1ed1
Fix GLES3 error 502 on iOS
2019-01-26 00:52:54 +11:00
Juan Linietsky
5b5db08a51
Fix depth prepass in GLES2, closes #23321
2019-01-25 09:41:25 -03:00
Ignacio Etcheverry
6de04cf04c
Improve custom thread numbering for POSIX
...
We lazily assign new IDs to threads that do not have one. This is the case for threads not created by the Godot API.
2019-01-25 00:59:07 +01:00
Juan Linietsky
b32298a660
Ensure WebGL uses highp by default, and fix some wrong mediump usages. Fixes #22962 .
2019-01-24 18:58:42 -03:00
Juan Linietsky
fb7c526ec4
Fix crash with cube shadows in gles2, closes #22635
2019-01-24 17:51:49 -03:00
Juan Linietsky
42764ed252
Revert "Fix errors on iOS"
2019-01-24 17:15:52 -03:00
Juan Linietsky
7fa41f17a6
Makes screen texture work in GLES2 (2D for now), fixes #23604
2019-01-24 17:00:33 -03:00
Rémi Verschelde
148e62102b
Merge pull request #25257 from karroffel/tex3d-get-data-fix
...
implemented texture_get_data() for TextureLayered
2019-01-24 16:19:21 +01:00
Juan Linietsky
2d57ec2460
Fix problem with texture2Dlod, closes #25263
2019-01-23 17:06:37 -03:00
thomas.herzog
dddfe9a2df
implemented texture_get_data() for TextureLayered
2019-01-23 16:12:29 +01:00
Rémi Verschelde
d747e30140
Merge pull request #25242 from BastiaanOlij/fix_ios_issues
...
Fix errors on iOS
2019-01-23 11:14:09 +01:00
Rémi Verschelde
2a45b298c1
Remove unused method in RasterizerStorageGLES2
...
Added in 4f4e46edd5
but not used in the end.
2019-01-23 10:31:05 +01:00
Bastiaan Olij
cab45f2f26
Fix errors on iOS
2019-01-23 13:38:19 +11:00
Juan Linietsky
4f4e46edd5
Implement unpacking for compressed vertex formats on GLES2 when not supported, fixes #22957
2019-01-22 21:57:09 -03:00
Juan Linietsky
4333a68ca0
Do not use shadow cubemaps if depth write is not supported to avoid errors, closes #25219
2019-01-22 11:07:26 -03:00
Juan Linietsky
46af4b0a4b
Changes to GLES2 renderer to not use cube shadows if not available, fixes #25132
2019-01-22 10:05:23 -03:00
santouits
3c1cd2873b
WebGL1 some changes
...
glRenderBufferStorage doesn't accept the _DEPTH_COMPONENT24_OES so I changed it to GL_DEPTH_COMPONENT16
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/renderbufferStorage
https://www.khronos.org/registry/webgl/extensions/rejected/OES_depth24/
Enabled ext_shader_texture_lod extension. I guess it does the same like the GL_ARB_shader_texture_lod extension, but in WebGL1
https://www.khronos.org/registry/webgl/extensions/EXT_shader_texture_lod/
And last WebGL1 doesn't allow indexes not constant, so I changed it into a loop reading this:
https://stackoverflow.com/questions/19529690/index-expression-must-be-constant-webgl-glsl-error
2019-01-22 13:40:28 +02:00
Rémi Verschelde
3548b6b6b2
Merge pull request #25196 from santouits/webgl-backslashes
...
webgl1 in firefox doesn't like backslashes in #define directive
2019-01-21 23:02:32 +01:00
Juan Linietsky
6fa632b821
Add function to obtain filesystem type from DirAccess.
...
Change EditorFileSystem to not use directory modification times on FAT32, fixes #20946
2019-01-21 18:06:14 -03:00
santouits
e7e9a7cc6c
webgl1 doesn't like backslashes in #define
...
According to
https://www.khronos.org/registry/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf
, backslashes aren't necessary supported as line continuation characters
in preprocessor directives
2019-01-21 21:41:39 +02:00
Rémi Verschelde
d4ab9d1d6e
Merge pull request #25115 from marxin/fix-19633-proper
...
Fix #19633 by proper store to &ubo_data.shadow_matrix[1234].
2019-01-21 17:40:56 +01:00
Rémi Verschelde
ad633b6c9c
Merge pull request #25117 from dragmz/patch-6
...
Replace CreateThread with QueueUserWorkItem
2019-01-21 16:18:58 +01:00
Rémi Verschelde
769341e180
Cleanup after @reduz :)
...
Fixes #25172 .
2019-01-21 11:12:55 +01:00
marxin
d9eb6a5b20
Fix #19633 by proper store to &ubo_data.shadow_matrix[1234].
...
It is not valid in C++ to store into shadow_matrix1[16] with shadow_matrix1[16 * j]
(for j > 0). Even though there's a valid space in a struct after shadow_matrix1.
Knowing that GCC performs aggressive optimizations that eventually lead
to a wrong code. Code has been changed into union where one can either
use shadow_matrix[4 * 16], or individual shadow_matrix1, shadow_matrix2, etc. GCC pragma
is not needed any longer.
2019-01-19 10:25:01 +01:00
Rémi Verschelde
50c8019dcd
Fix excluding GCC pragmas from Clang
...
Why the heck does Clang define __GNUC__...
2019-01-19 08:17:32 +01:00
Rémi Verschelde
a9fcd574f4
Only define GCC pragmas for GCC
2019-01-19 08:00:17 +01:00
Marcin Zawiejski
e65bce3083
Replace CreateThread with QueueUserWorkItem
...
Fixes #24869 stuttering on Windows by reusing long running threadpool threads instead of creating a new thread on each call to Thread::start.
2019-01-19 00:31:10 +01:00
Juan Linietsky
682fdf0f74
Use 16 bit indices on phones that dont support 32, fixes #19797
2019-01-18 17:30:12 -03:00
Juan Linietsky
e3ef52a270
Merge pull request #25101 from hpvb/fix-19633
...
Work around a GCC optimizer bug at -O3
2019-01-18 12:32:30 -03:00
Hein-Pieter van Braam
6793908a3f
Work around a GCC optimizer bug at -O3
...
This bug has been reported upstream, once it gets fixed we'll add some
version guards to only disable this for specific GCC versions.
This fixes #19633
2019-01-18 16:31:37 +01:00
Rémi Verschelde
6384dd8f2c
Merge pull request #25070 from RedMser/shader_errors_linefix
...
Fix shader compile error line numbers starting at 0
2019-01-18 11:15:44 +01:00
Emanuele Fornara
e1be09d8fd
Fix enum scope
2019-01-17 20:29:01 +01:00
RedMser
a285a1cfdf
Fix shader compile error line numbers starting at 0.
2019-01-17 19:25:08 +01:00
Juan Linietsky
7478f468b2
Fixes to 2D lights, closes #24750
2019-01-17 10:40:36 -03:00
Juan Linietsky
ffcb5cd18c
Ensure texture hints are obeyed, fixes #24875
2019-01-16 00:37:00 -03:00
Juan Linietsky
ca03d7e0d7
Ensure canvas copy texscreen will not crash if render target is configured without copy buffers. Closes #24749 .
2019-01-15 15:14:43 -03:00
Rémi Verschelde
72f501de13
GLES2: Fix typo in project setting
...
It used a different name than the equivalent GLES3 parameter.
2019-01-15 13:26:54 +01:00
Juan Linietsky
9ed34d4423
Use GLES2 approach to vertex shading in GLES3, which has been more developed. Fixes #21852
2019-01-14 20:41:12 -03:00
Juan Linietsky
ee3eadf345
Implement black margins in GLES2, which was missing, fixes #24556
2019-01-14 19:00:36 -03:00
Rémi Verschelde
02ffc59270
GLES2: Make Nvidia flicker workaround opt-in
...
It has a big impact on 2D and text rendering performance (cf. #24466 )
so the solution seems worse than the bug it aims to work around.
It's now opt-in via "rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround"
for those who need it and have a simple enough game for the performance
drop not to be an issue.
Fixes #24466 .
2019-01-14 19:02:07 +01:00