summaryrefslogtreecommitdiff
path: root/drivers/gles2/rasterizer_storage_gles2.cpp
AgeCommit message (Collapse)Author
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 #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-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-06fix current issues with post-processingclayjohn
2019-10-02remove glViewport call as it wasnt needed and caused crashclayjohn
2019-10-02Removed unnecessary shader error log messagesYuri Roubinsky
2019-09-30Implement DOF blur, Glow, and BCS in GLES2clayjohn
2019-09-23Merge pull request #32275 from godotengine/skin_supportRémi Verschelde
Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
2019-09-22Fix GLES2 skinning where VERTEX_TEXTURE not supportedlawnjelly
Although the backup USE_SKELETON_SOFTWARE skinning path is currently used when float texture is not supported, the default skinning path still fails when float texture is supported but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0, i.e. the device cannot read from texture during vertex shader. This PR adds the logic to activate the SKELETON_SOFTWARE path if either of these cases occur, preventing crashes on devices which have this combination of features.
2019-09-18Added skin support and simplified APIs to override bone position.Juan Linietsky
2019-08-25Fix hint range step for integer in shadersYuri Roubinski
2019-08-18check if skeleton texture is already allocated before reallocatingclayjohn
2019-08-17Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'Braden Bodily
Condensed some if and ERR statements. Added dots to end of error messages Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?), core/os/memory.cpp, drivers/png/png_driver_common.cpp, drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-10check for unsigned_short support for gles2 depth buffer allocationclayjohn
2019-07-20Changed some code showed in LGTM and Coverageqarmin
2019-07-06Added release function to PoolVector::Access.Ibrahn Sahir
For clarity, assign-to-release idiom for PoolVector::Read/Write replaced with a function call. Existing uses replaced (or removed if already handled by scope)
2019-06-26Some code changed with Clang-Tidyqarmin
2019-06-20Merge pull request #29283 from qarmin/fix_some_always_same_valuesRémi Verschelde
Remove always true/false values
2019-06-20Fix always true/false valuesqarmin
2019-06-18Merge pull request #29751 from lawnjelly/skin-fixRémi Verschelde
Fixes crash with rigged meshes on some OpenGLES2 devices
2019-06-18Fixes crash with rigged meshes on some OpenGLES2 deviceslawnjelly
Non-tools OpenGLES2 devices that use the USE_SKELETON_SOFTWARE path (i.e. do not support float texture) depend on surface->data being set containing the bone IDs and weights (rasterizer_scene_gles2.cpp, line 1456, RasterizerSceneGLES2::_setup_geometry). However currently if TOOLS_ENABLED is not defined, surface->data is not stored in main memory in rasterizer_storage_gles2.cpp. This causes a crash in rasterizer_scene_gles2.cpp when a rigged object comes into view. This fix addresses the specific case of skinned objects when USE_SKELETON_SOFTWARE is active, and stores a copy of the bone data, as is done when TOOLS_ENABLED is defined. This fixes the crash by allowing the same mechanism as on desktop, without adding the memory overhead of storing all vertex data where not required. Fixes #28298
2019-06-15Adding a new Camera Server implementation to Godot.BastiaanOlij
This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server. Other parts of Godot can interact with this to obtain images from the camera as textures. This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
2019-06-14Fix HTML5 build failed due to undefined symbolFabio Alessandrelli
2019-06-04use def ANDROID_ENABLED so android features are not included in javascript ↵clayjohn
builds
2019-05-13Implement ability to render viewports directly to screenclayjohn
2019-05-13Merge pull request #28518 from clayjohn/GLES2-MSAARémi Verschelde
Added MSAA to GLES2 backend
2019-05-08Fix texture resource reload bugDaniel Rakos
If a non-imported texture resource file (e.g. DDS) gets updated the editor doesn't reload it. The cause of the problem is two-fold: First, the code of ImageTexture assumes that textures are always imported from an image, but that's not the case for e.g. DDS. This change thus adds code to issue a resource reload in case an image reload is not possible (which is the case for non-imported texture resources). Second, the code is filled with bogus calls to Image::get_image_data_size() to determine the mipmap offset when that should be done using Image::get_image_mipmap_offset(). Previous code literally passed the integer mip level value to Image::get_image_data_size() where that actually expects a boolean. Thus this part of the change might actually solve some other issues as well. To be pedantic, the texture_get_data() funciton of the rasterizer drivers is still quite a mess, as it only ever returns the whole mipchain when GLES_OVER_GL is set (practically only on desktop builds) but this change does not attempt to resolve that.
2019-05-02added MSAA to GLES backendclayjohn
2019-04-30Merge pull request #25670 from aqnuep/bake_mode_affect_gi_proveRémi Verschelde
Disable GI probe capturing lights with bake mode disabled
2019-04-23Disable GI probe capturing lights with bake mode disabledDaniel Rakos
The bake mode property of lights previously didn't affect GI probes. This change makes the GI probe ignore lights that have their bake mode set to disabled.
2019-04-08Fix hint_range for GLES2 shader uniformsJFonS
2019-04-06Add option to have viewport render into supplied textureBastiaan Olij
2019-04-05Merge pull request #27411 from KidRigger/raster_storeRémi Verschelde
Added GLES2 RenderStorage Info calculations.
2019-04-02Enable warnings=extra on clang and GCC testers.marxin
And remove 2 warnings from warnings=extra.
2019-03-25Added GLES2 RenderStorage Info calculations.Anish Bhobe
Proper counting code has been added to update info struct. Extra: Added the render_info_capture calculations. Fixes: #27273
2019-03-12GLES2: Convert unsupported float texture types to 8-bit typesRémi Verschelde
2019-03-11Enable seamless cubemap only if extension is present.Juan Linietsky
2019-03-10increase size of radiance map in gles2clayjohn
2019-03-09gles2 reallocate texture when transparent is setclayjohn
2019-03-07Use glCopyTexSubImage2D instead of glCopyTexImage2D, should be safer and faster.Juan Linietsky
May be a solution to #26500
2019-03-03Skeletons can now choose between using local or world coords for processing, ↵Juan Linietsky
fixes #26468
2019-03-01Fixed RGTC (and other compressed) texture supports in GLES2. Fixes #26414 an ↵Juan Linietsky
probably others.
2019-03-01Skeleton was not providing prober AABB in GLES2, fixed.Juan Linietsky
2019-03-01Fixed some crashers, closes #26393Juan Linietsky
2019-03-01Remove unused include from previous commitRémi Verschelde