Defold 1.2.180 has been released

Fix. Can you add some good way to disable that check.
For example something like in luacheck.

-- luacheck: push ignore foo
foo() -- No warning.
-- luacheck: pop
foo() -- Warning is emitted.

Fixed error when bundle :slight_smile:

local requiref = require
local lfs_name = "lfs"
local cjson_name = "cjson"
local lfs = requiref(lfs_name)
local cjson = requiref(cjson_name)
2 Likes

I’m thinking that maybe we should stop treating a missing module as an error when bundling. There are just too many examples such as yours where our approach is more of a problem than a help.

2 Likes
2 Likes

Will ETC1S be supported?

Probably the most important concept to understand about Basis Universal before using it: The system supports two very different universal texture modes: The original “ETC1S” mode is low/medium quality, but the resulting file sizes are very small because the system has built-in compression for ETC1S texture format files. This is the command line encoding tool’s default mode. ETC1S textures work best on images, photos, map data, or albedo/specular/etc. textures, but don’t work as well on normal maps. There’s the second “UASTC” mode, which is significantly higher quality (near-BC7 grade), and is usable on all texture types including complex normal maps. UASTC mode purposely does not have built-in file compression like ETC1S mode does, so the resulting files are quite large (8-bits/texel - same as BC7) compared to ETC1S mode. The UASTC encoder has an optional Rate Distortion Optimization (RDO) encoding mode (implemented as a post-process over the encoded UASTC texture data), which lowers the output data’s entropy in a way that results in better compression when UASTC .basis files are compressed with Deflate/Zstd, etc. In UASTC mode, you must losslessly compress the file yourself.

1 Like

Perhaps.
We’ll see if it’s needed after trying out the optimization parameters for UASTC.

Note that the ETC1S will require you to ship either different archives for certain devices/platforms, or bundle several variations per texture.

1 Like

Hi guys, I found a new issue
I switched to MacBook Pro M1 and I can build and run an example project without issues.
I’m using GLSL #version 300 es in my shaders but it doesn’t work anymore.

WARNING:GRAPHICS: ERROR: 0:1: '' :  version '300' is not supported
ERROR: 0:1: '' : syntax error: #version
ERROR: 0:2: '' :  #version required and missing.

When I remove es attribute it works fine on MacBook but cannot run on android.
I have no issues running the same code on Linux using Defold 1.2.179
Where can I found the link to Defold 1.2.179 for mac to test it? How can I use the 300 version in my project?

I tried to switch to 100 version, removed version section from my shaders and changed in/out to attribute/varying, it works on Mac, but I still cannot build it on android.

WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.vpc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.materialc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /main/render.renderc: OUT_OF_RESOURCES
ERROR:ENGINE: Unable to load bootstrap data.

The same error when building example mobile project

wow, thank you, pretty obvious. why it’s not listed here https://d.defold.com/stable/?

It’s been that way for a while, the page could be improved to add the editor links inside of the version list too for each version.

Anyone want to contribute the changes necessary? :slight_smile:

https://github.com/defold/defold/blob/dev/scripts/resources/downloads.html
https://github.com/defold/defold/blob/dev/scripts/build.py#L1388

The next realease will show the editor releases. E.g. http://d.defold.com/beta shows the new links.

3 Likes

”es” is for OpenGLES which is for mobile and WebGL.
Since you specify ”#version”, we keep that.
However, if you remove the ”#version” from the shader, we’ll add the correct version per platform automatically.

Results using Defold 1.2.179:

I can build the app for android with specified #version 300 es without issues, but got the error building on Mac (I tried with and without es attribute)

WARNING:GRAPHICS: ERROR: 0:1: ‘’ : version ‘300’ is not supported

WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.vpc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /assets/materials/shadow.materialc: FORMAT_ERROR
WARNING:RESOURCE: Unable to create resource: /main/render.renderc: OUT_OF_RESOURCES
ERROR:ENGINE: Unable to load bootstrap data.

If I remove the version, I got an error regarding syntax

WARNING:GRAPHICS: ERROR: 0:1: Invalid storage qualifiers 'in' in global variable context
ERROR: 0:8: Use of undeclared identifier 'position'