Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default project setting value for rendering/limits/global_shader_variables/buffer_size exceeds maximum on Safari #91836

Closed
adamscott opened this issue May 11, 2024 · 2 comments

Comments

@adamscott
Copy link
Member

Tested versions

  • Reproducible in 4.2.2.stable

System information

Godot v4.3.dev (0712ce3) - macOS 14.4.1 - Vulkan (Forward+) - integrated Apple M2 - Apple M2 (8 Threads)

Issue description

Running a project on Safari shows this error:

Capture d’écran, le 2024-05-11 à 10 43 03

[Error] USER WARNING: Project setting "rendering/limits/global_shader_variables/buffer_size" exceeds maximum uniform buffer size of: 16384
	onPrintError (index.js:15928)
	put_char (index.js:1455)
	write (index.js:1401)
	write (index.js:3477)
	doWritev (index.js:7816)
	_fd_write (index.js:7830)
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[__stdio_write]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[__vfprintf_internal]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[vfprintf]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[StdLogger::logv(char const*, void*, bool)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Logger::logf_error(char const*, ...)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Logger::log_error(char const*, char const*, int, char const*, char const*, bool, Logger::ErrorType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[CompositeLogger::log_error(char const*, char const*, int, char const*, char const*, bool, Logger::ErrorType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[OS::print_error(char const*, char const*, int, char const*, char const*, bool, Logger::ErrorType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[_err_print_error(char const*, char const*, int, char const*, char const*, bool, ErrorHandlerType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[_err_print_error(char const*, char const*, int, String const&, bool, ErrorHandlerType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[GLES3::MaterialStorage::MaterialStorage()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RasterizerGLES3::RasterizerGLES3()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RasterizerGLES3::_create_current()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RendererCompositor::create()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RenderingServerDefault::RenderingServerDefault(bool)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Main::setup2()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Main::setup(char const*, int, char**, bool)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[godot_web_main(int, char**)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[main]
	(fonction anonyme) (index.js:663)
	callMain (index.js:15378)
	(fonction anonyme) (index.js:16257)
	Promise
	(fonction anonyme) (index.js:16252)
[Error]    at: MaterialStorage (drivers/gles3/storage/material_storage.cpp:1114)
	onPrintError (index.js:15928)
	put_char (index.js:1455)
	write (index.js:1401)
	write (index.js:3477)
	doWritev (index.js:7816)
	_fd_write (index.js:7830)
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[__stdio_write]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[__vfprintf_internal]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[vfprintf]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[StdLogger::logv(char const*, void*, bool)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Logger::logf_error(char const*, ...)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Logger::log_error(char const*, char const*, int, char const*, char const*, bool, Logger::ErrorType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[CompositeLogger::log_error(char const*, char const*, int, char const*, char const*, bool, Logger::ErrorType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[OS::print_error(char const*, char const*, int, char const*, char const*, bool, Logger::ErrorType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[_err_print_error(char const*, char const*, int, char const*, char const*, bool, ErrorHandlerType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[_err_print_error(char const*, char const*, int, String const&, bool, ErrorHandlerType)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[GLES3::MaterialStorage::MaterialStorage()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RasterizerGLES3::RasterizerGLES3()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RasterizerGLES3::_create_current()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RendererCompositor::create()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[RenderingServerDefault::RenderingServerDefault(bool)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Main::setup2()]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[Main::setup(char const*, int, char**, bool)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[godot_web_main(int, char**)]
	godot.web.template_release.dev.wasm32.nothreads.wasm.wasm-function[main]
	(fonction anonyme) (index.js:663)
	callMain (index.js:15378)
	(fonction anonyme) (index.js:16257)
	Promise
	(fonction anonyme) (index.js:16252)

Running that same project on Firefox doesn't error out, as the WebGL 2 Max Uniform Block Size is of 65536.

Steps to reproduce

  1. Create a project with default values
  2. Export a Web build
  3. Open the Web build with Safari
  4. See the error.

If you set rendering/limits/global_shader_variables/buffer_size.web to 16384, it doesn't error out.

Minimal reproduction project (MRP)

n/a

@clayjohn
Copy link
Member

Duplicate of #85374

@clayjohn clayjohn marked this as a duplicate of #85374 May 11, 2024
@adamscott
Copy link
Member Author

Closed as duplicate of #85374.

@adamscott adamscott closed this as not planned Won't fix, can't repro, duplicate, stale May 11, 2024
@akien-mga akien-mga removed this from the 4.3 milestone May 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants