From 45ddbbd7383eca59e487cf1eec010456c1a97d02 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Fri, 11 Aug 2017 19:13:17 +0200 Subject: Fix icon loading error a boot --- main/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/main/main.cpp b/main/main.cpp index 9376d83204..c640129565 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1464,6 +1464,7 @@ bool Main::start() { String iconpath = GLOBAL_DEF("application/config/icon", "Variant()"); if (iconpath != "") { Ref icon; + icon.instance(); if (icon->load(iconpath) == OK) OS::get_singleton()->set_icon(icon); } -- cgit v1.2.3 From f863c0ca14111d4bab06604fb4e2bf42fc83f0da Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Fri, 11 Aug 2017 19:12:39 +0200 Subject: Explicitily unsed AI_NUMERICHOST flag to fix HTML5 --- drivers/unix/ip_unix.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index 30d2377a04..f55b75c1d9 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -100,6 +100,7 @@ IP_Address IP_Unix::_resolve_hostname(const String &p_hostname, Type p_type) { hints.ai_family = AF_UNSPEC; hints.ai_flags = AI_ADDRCONFIG; }; + hints.ai_flags &= !AI_NUMERICHOST; int s = getaddrinfo(p_hostname.utf8().get_data(), NULL, &hints, &result); if (s != 0) { -- cgit v1.2.3 From 9b9a723c771a0146cb16e23c3dac744af312bad7 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Fri, 11 Aug 2017 19:09:55 +0200 Subject: Some fixes for shaders and WebGL2 Add padding to UBO data to be multiple of 16 bytes Add precision definition for samplers Replace texture2D (deprecated) with texture in shaders --- drivers/gles3/rasterizer_canvas_gles3.h | 2 ++ drivers/gles3/rasterizer_scene_gles3.h | 2 ++ drivers/gles3/shader_gles3.cpp | 6 ++++++ drivers/gles3/shaders/canvas.glsl | 4 ++-- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/gles3/rasterizer_canvas_gles3.h b/drivers/gles3/rasterizer_canvas_gles3.h index 26003f543f..29f889cc88 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.h +++ b/drivers/gles3/rasterizer_canvas_gles3.h @@ -42,6 +42,7 @@ public: float projection_matrix[16]; float time; + uint8_t padding[12]; }; RasterizerSceneGLES3 *scene_render; @@ -102,6 +103,7 @@ public: float light_height; float light_outside_alpha; float shadow_distance_mult; + uint8_t padding[4]; } ubo_data; GLuint ubo; diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h index f6509e0041..0cdaef44a9 100644 --- a/drivers/gles3/rasterizer_scene_gles3.h +++ b/drivers/gles3/rasterizer_scene_gles3.h @@ -141,6 +141,7 @@ public: float fog_height_min; float fog_height_max; float fog_height_curve; + uint8_t padding[8]; } ubo_data; @@ -150,6 +151,7 @@ public: float transform[16]; float ambient_contribution; + uint8_t padding[12]; } env_radiance_data; diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp index f1077e2d20..77e257dfc8 100644 --- a/drivers/gles3/shader_gles3.cpp +++ b/drivers/gles3/shader_gles3.cpp @@ -273,6 +273,9 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() { //vertex precision is high strings.push_back("precision highp float;\n"); strings.push_back("precision highp int;\n"); + strings.push_back("precision highp sampler2D;\n"); + strings.push_back("precision highp samplerCube;\n"); + strings.push_back("precision highp sampler2DArray;\n"); #if 0 if (cc) { @@ -371,6 +374,9 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() { //fragment precision is medium strings.push_back("precision highp float;\n"); strings.push_back("precision highp int;\n"); + strings.push_back("precision highp sampler2D;\n"); + strings.push_back("precision highp samplerCube;\n"); + strings.push_back("precision highp sampler2DArray;\n"); #if 0 if (cc) { diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 1c950c82d9..f0dc14c35a 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -532,11 +532,11 @@ FRAGMENT_SHADER_CODE #ifdef USE_RGBA_SHADOWS -#define SHADOW_DEPTH(m_tex,m_uv) dot(texture2D((m_tex),(m_uv)),vec4(1.0 / (256.0 * 256.0 * 256.0),1.0 / (256.0 * 256.0),1.0 / 256.0,1) ) +#define SHADOW_DEPTH(m_tex,m_uv) dot(texture((m_tex),(m_uv)),vec4(1.0 / (256.0 * 256.0 * 256.0),1.0 / (256.0 * 256.0),1.0 / 256.0,1) ) #else -#define SHADOW_DEPTH(m_tex,m_uv) (texture2D((m_tex),(m_uv)).r) +#define SHADOW_DEPTH(m_tex,m_uv) (texture((m_tex),(m_uv)).r) #endif -- cgit v1.2.3