Просмотр исходного кода

resource: fix missing return value check

Daniele Bartolini 2 лет назад
Родитель
Сommit
f512f54798
2 измененных файлов с 8 добавлено и 1 удалено
  1. 4 0
      docs/changelog.rst
  2. 4 1
      src/resource/shader_resource.cpp

+ 4 - 0
docs/changelog.rst

@@ -4,6 +4,10 @@ Changelog
 0.50.0 --- DD MMM YYYY
 ----------------------
 
+**Data Compiler**
+
+* Fixed existence/redefinition checks for samplers.
+
 **Tools**
 
 * Added an option to use the debug keystore when deploying APKs for Android.

+ 4 - 1
src/resource/shader_resource.cpp

@@ -965,6 +965,7 @@ namespace shader_resource_internal
 				JsonObject shader(ta);
 				sjson::parse_object(shader, cur->second);
 
+				s32 err = 0;
 				BgfxShader bgfxshader(default_allocator());
 				if (json_object::has(shader, "includes"))
 					sjson::parse_string(bgfxshader._includes, shader["includes"]);
@@ -981,7 +982,9 @@ namespace shader_resource_internal
 				if (json_object::has(shader, "fs_input_output"))
 					sjson::parse_verbatim(bgfxshader._fs_input_output, shader["fs_input_output"]);
 				if (json_object::has(shader, "samplers"))
-					parse_bgfx_samplers(bgfxshader, shader["samplers"]);
+					err = parse_bgfx_samplers(bgfxshader, shader["samplers"]);
+
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 
 				DynamicString key(ta);
 				key = cur->first;