summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2023-02-25 16:24:41 -0800
committerclayjohn <claynjohn@gmail.com>2023-02-26 12:28:02 -0800
commitc69b14e96e3191622c06aa1e98c7f15f1fc895d4 (patch)
tree59ea6fe8dd90524515103038b117cf1c2a0902c5 /drivers
parent84a80721c5308df36c7295949c76a622c5e0edb9 (diff)
Add warnings for unsupported features in mobile and gl_compatibility backends
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gles3/storage/material_storage.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/gles3/storage/material_storage.cpp b/drivers/gles3/storage/material_storage.cpp
index c585895f4b..99ec1e1ed8 100644
--- a/drivers/gles3/storage/material_storage.cpp
+++ b/drivers/gles3/storage/material_storage.cpp
@@ -3373,6 +3373,32 @@ void SceneShaderData::set_code(const String &p_code) {
uses_vertex_time = gen_code.uses_vertex_time;
uses_fragment_time = gen_code.uses_fragment_time;
+#ifdef DEBUG_ENABLED
+ if (uses_particle_trails) {
+ WARN_PRINT_ONCE_ED("Particle trails are only available when using the Forward+ or Mobile rendering backends.");
+ }
+
+ if (uses_sss) {
+ WARN_PRINT_ONCE_ED("Sub-surface scattering is only available when using the Forward+ rendering backend.");
+ }
+
+ if (uses_transmittance) {
+ WARN_PRINT_ONCE_ED("Transmittance is only available when using the Forward+ rendering backend.");
+ }
+
+ if (uses_screen_texture) {
+ WARN_PRINT_ONCE_ED("Reading from the screen texture is not supported when using the GL Compatibility backend yet. Support will be added in a future release.");
+ }
+
+ if (uses_depth_texture) {
+ WARN_PRINT_ONCE_ED("Reading from the depth texture is not supported when using the GL Compatibility backend yet. Support will be added in a future release.");
+ }
+
+ if (uses_normal_texture) {
+ WARN_PRINT_ONCE_ED("Reading from the normal-roughness texture is only available when using the Forward+ or Mobile rendering backends.");
+ }
+#endif
+
#if 0
print_line("**compiling shader:");
print_line("**defines:\n");