Rémi Verschelde
13c50e8aa5
Merge pull request #25481 from hpvb/fix-ubsan-asan-reports
...
Fix many asan and ubsan reported issues
2019-02-12 12:21:01 +01:00
Rémi Verschelde
279bfb3503
Merge pull request #25557 from kaadmy/master
...
Allow usage of depth texture when contact shadows are disabled
2019-02-12 11:38:44 +01:00
Rémi Verschelde
6e43bd4e85
Merge pull request #25623 from clayjohn/multimesh_color_bug
...
[GLES2] Initialize color buffer to white in gles2 multimesh
2019-02-12 11:31:45 +01:00
Rémi Verschelde
204f9083f4
Merge pull request #25682 from JFonS/fix_light_canvas_gles2
...
Fix canvas light shaders on GLES2
2019-02-12 11:27:21 +01:00
Rémi Verschelde
48bc7aedaa
Merge pull request #25779 from JFonS/fix_25581
...
Make LIGHT_VEC affect 2D shadows again
2019-02-12 11:24:27 +01:00
Juan Linietsky
7713ec8637
Merge pull request #25134 from staddy/master
...
Check for null pointer in RasterizerSceneGLES2::render_shadow
2019-02-12 07:04:12 -03:00
JFonS
076a342a4e
Make LIGHT_VEC affect 2D shadows again
2019-02-10 21:14:32 +01:00
JFonS
5186d4f3ad
Fix canvas light shaders on GLES2
2019-02-07 15:58:36 +01:00
clayjohn
f752aaf970
initialize color buffer to white in gles2 multimesh
2019-02-04 20:08:35 -08:00
Ignacio Etcheverry
9bd9d21358
Fix OS_Unix::set_environment
2019-02-04 00:44:37 +01:00
Ignacio Etcheverry
4e4e889c75
Merge pull request #25478 from neikeq/rr
...
Mono: Fix MonoPosixHelper not being found
2019-02-03 06:31:52 +01:00
Ignacio Etcheverry
41873ffa88
Added set_environment to OS class
2019-02-03 05:38:47 +01:00
KaadmY
d116705538
Allow usage of depth texture when contact shadows are disabled
2019-02-01 12:46:43 -08:00
Hein-Pieter van Braam
d308eb091a
Fix many asan and ubsan reported issues
...
This allows most demos to run without any ubsan or asan errors. There
are still some things in thirdpart/ and some things in AudioServer that
needs a look but this fixes a lot of issues. This should help debug less
obvious issues, hopefully.
This fixes #25217 and fixes #25218
2019-01-30 06:43:56 +01:00
Rémi Verschelde
b77b536582
Cleanup and identify ShaderCompilerGLES[23] differences
2019-01-28 19:28:00 +01:00
Rémi Verschelde
1148a33b20
GLES2: Define LIGHT Spatial shader builtin
...
Fixes #25421 .
2019-01-28 17:27:20 +01:00
Leon Krause
bd55ac8964
Merge pull request #25397 from lethiandev/fix-gles2-polygon-drawing
...
Fix polygon drawing on WebGL1
2019-01-28 04:02:25 +01:00
Juan Linietsky
2e5ede7a4e
Properly discard fragments during depth prepass opaque pass, fixes #23321
2019-01-27 20:20:07 -03:00
Konrad Nowakowski
a0bdd9605a
Fix polygon drawing on WebGL1
2019-01-27 23:09:18 +00:00
Juan Linietsky
0c60d4c682
Properly get proxy texture size for canvas light, fixes #17067
2019-01-27 16:57:05 -03:00
Juan Linietsky
953cd03ea6
Use transparent framebuffer only when set to transparent, closes #21827
2019-01-27 15:47:17 -03:00
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
Stanislav
dc7d9f8868
Check for null pointer in RasterizerSceneGLES2::render_shadow
...
Fixes #25131
2019-01-19 16:48:43 +03: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
Juan Linietsky
b3dc02b5df
Was not properly re-setting light uniforms, fixes #24976
2019-01-14 12:04:26 -03:00
Juan Linietsky
6d8083ea65
Do not use the workaround for desktop nvidia on mobile and html5.
2019-01-14 11:24:00 -03:00
Rémi Verschelde
1185f4c4ac
GLES2: Clarify why we exclude debug code on iOS
...
Supersedes and closes #24873 .
2019-01-11 20:04:13 +01:00
Rémi Verschelde
e5f1d19352
Consistency in resource format saver/loader de-registration
...
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()',
and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already
(which shouldn't happen since we're only unregistering things that we previously
registered.
Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative,
missed in #20552 which was last amended before #19501 was merged.
2019-01-10 12:45:57 +01:00
Rémi Verschelde
e4b02513fe
Merge pull request #24301 from marcelofg55/default_device_pulseaudio
...
PulseAudio driver will now change the device if the default system device changes
2019-01-07 20:10:50 +01:00
Juan Linietsky
a3a537c2cf
Fix background color rendering on GLES2 (linear should not be used)
2019-01-07 10:52:24 -03:00
Daeil Kim
ecf520b70e
Change blend equation for canvasitems
2019-01-06 00:57:52 +09:00
Rémi Verschelde
d8f0087dc8
Merge pull request #24568 from Shinryuuji/fix-wrong-texture-array-target
...
Fix wrong default target for sampler2DArray
2019-01-04 16:14:29 +01:00
Rémi Verschelde
1504c96112
Merge pull request #24539 from BastiaanOlij/override_gl_position
...
Override GL_position
2019-01-04 15:40:05 +01:00
Rémi Verschelde
99c4faf837
Merge pull request #24575 from nekomatata/android-curve-texture
...
Fixed CurveTexture with GLES3 on Android
2019-01-04 15:31:08 +01:00
Marcin Zawiejski
4e73274837
Fix negative size rectangle drawing
...
Fixes rectangle being drawn as it was a non-negative size in case it actually is. This can be observed e.g. when drawing a negative size selection rectangle (i.e. press mouse button and move cursor up and left).
2019-01-02 14:47:28 +01:00
Rémi Verschelde
c7c87a0624
Merge pull request #24687 from DavidSichma/draw-rect-rot
...
fix draw_rect rotation
2019-01-01 19:01:18 +01:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
d1f3b622f0
Fix missing/malformed license headers
2019-01-01 12:46:36 +01:00
David Sichma
9ba6849cf4
fix draw_rect rotation
2018-12-31 20:56:10 +01:00
PouleyKetchoupp
a1160ff8e7
Fixed CurveTexture with GLES3 on Android
2018-12-30 19:49:55 +01:00
Rémi Verschelde
6a07d7f83f
Merge pull request #24661 from humblers/fix-unshaded-gles2
...
Fix unshaded light mode on GLES2
2018-12-30 13:48:01 +01:00
Rémi Verschelde
6c67ca3f5b
Merge pull request #24653 from avril-gh/fixes-syntax-error-in-scene-glsl
...
fixes glsl syntax error
2018-12-30 13:07:12 +01:00
Daeil Kim
8c99b6fb2f
Change unshaded logic to match with GLES3
2018-12-30 02:02:37 +09:00
Avril
971c05dc5e
fixes glsl syntax error
2018-12-29 15:37:50 +01:00
Bastiaan Olij
9f266cf7e5
Override GL_position
2018-12-29 23:56:50 +11:00
Bastiaan Olij
9055386de9
Fix texture type not being initialised
2018-12-29 23:44:28 +11:00
Juan Linietsky
a366d45856
-Implented 2D Mesh support for GLES2
...
-Implemented 2D Skeleton deform for GLES2
-Implement Multimesh support for GLES2, closes #20524 , closes #21839
2018-12-27 20:41:04 -03:00
Shinryuuji
7bfddbec3a
Fix wrong default target for sampler2DArray
2018-12-23 15:25:46 +01:00
PouleyKetchoupp
ab7759dbd1
Fixed fragment shader compilation error on android (S0001: Cannot compare 'float' with 'int')
2018-12-21 20:31:10 +01:00
Rémi Verschelde
57416bfbce
GLES2: Define 'lowp' for OpenGL 2.1
...
Precision qualifiers are only used on OpenGL ES 2.0 and 3.0,
and while OpenGL 3.3 defines them for compatibility (but without
practical effect), they're missing from OpenGL 2.1, so we define
them to prevent compilation errors.
Fixes #24521 .
2018-12-21 15:14:58 +01:00
Juan Linietsky
7b1cbe9874
Reverse RGBA shadow test on GLES2
2018-12-21 10:02:43 -03:00
Juan Linietsky
7535c5a56a
Further GLES2 fixes
2018-12-21 10:01:16 -03:00