Hlsl_use_resource_data backend option errors

Hi, I have noticed that activating the hlsl_use_resource_data option on an HLSL backend leads to internal errors:

Summary
[error] (MDL) <lambda expression>: J100 compiling LLVM code failed: Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_3_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %494 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %493, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %580 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %579, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %590 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %589, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_3_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %310 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %309, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_3_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %328 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %327, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %338 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %337, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %21 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %20)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %12 = call fast float @expr_lambda_8_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %17 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %16)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %497 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %496, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %583 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %582, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %593 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %592, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %14 = call fast float @expr_lambda_8_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %22 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %21)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_9_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_6_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %316 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %315, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %331 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %330, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %341 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %340, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_8_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %19 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %18)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %12 = call fast float @expr_lambda_8_.69(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %17 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %16)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_.70(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_.67(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %497 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %496, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %583 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %582, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %593 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %592, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_.70(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_.67(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %14 = call fast float @expr_lambda_8_.69(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %22 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %21)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_9_.70(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_6_.67(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %316 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %315, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %331 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %330, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %341 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %340, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_8_.69(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %19 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %18)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_3_.91(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %494 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %493, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %580 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %579, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %590 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %589, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %310 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %309, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_3_.91(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %328 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %327, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %338 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %337, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_3_.91(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)

[error] (Compiler Backend) <lambda expression>: J100 compiling LLVM code failed: Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_3_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %494 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %493, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %580 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %579, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %590 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %589, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_3_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %310 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %309, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_3_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %328 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %327, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %338 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %337, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %21 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %20)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %12 = call fast float @expr_lambda_8_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %17 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %16)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %497 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %496, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %583 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %582, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %593 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %592, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %14 = call fast float @expr_lambda_8_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %22 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %21)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_9_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_6_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %316 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %315, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %331 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %330, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %341 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %340, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_5_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_8_(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %19 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %18)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %12 = call fast float @expr_lambda_8_.69(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %17 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %16)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_.70(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_.67(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %497 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %496, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %583 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %582, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %593 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %592, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_9_.70(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %10 = call fast float @expr_lambda_6_.67(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %14 = call fast float @expr_lambda_8_.69(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %22 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %21)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_9_.70(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_6_.67(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %316 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %315, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %331 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %330, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %341 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %340, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_5_.66(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_7_.68(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %11 = call fast float @expr_lambda_8_.69(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %19 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %18)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %6 = call fast <3 x float> @expr_lambda_3_.91(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %16 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %15)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %494 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %493, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %580 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %579, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %590 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %589, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %4 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %310 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %309, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %8 = call fast <3 x float> @expr_lambda_3_.91(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %18 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %17)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %313 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %312, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %328 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %327, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %338 = call fast <3 x float> @tex_lookup_float3_3d(%struct.float3* %2, i32 0, <3 x float> %337, i32 0, i32 0, i32 0, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, <2 x float> <float 0.000000e+00, float 1.000000e+00>, float 0.000000e+00)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_2_.90(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %5 = call fast <3 x float> @expr_lambda_3_.91(%State_core* %1, %struct.float3* %2)
Call parameter type does not match function signature!
%struct.float3* %2
 %Res_data*  %15 = call fast <3 x float> @_ZN5state12adapt_normalERK6float3(%State_core* %1, %struct.float3* %2, <3 x float> %14)

I was expecting the code generation to work. Am I missing something in my setup?

Basically, I create a link unit

mi::base::Handle<mi::neuraylib::ILink_unit> linkUnit(m_backend->create_link_unit(m_transaction.get(), m_context.get()));

and register multiple target functions:

std::vector<mi::neuraylib::Target_function_description> genFunctions;
genFunctions.push_back(mi::neuraylib::Target_function_description("surface.scattering", scatteringFuncName.c_str()));
genFunctions.push_back(mi::neuraylib::Target_function_description("surface.emission.emission", emissionFuncName.c_str()));
genFunctions.push_back(mi::neuraylib::Target_function_description("surface.emission.intensity", emissionIntensityFuncName.c_str()));
genFunctions.push_back(mi::neuraylib::Target_function_description("thin_walled", thinWalledFuncName.c_str()));
genFunctions.push_back(mi::neuraylib::Target_function_description("geometry.cutout_opacity", opacityFuncName.c_str()));

mi::Sint32 result = linkUnit->add_material(
  compiledMaterial,
  genFunctions.data(),
  genFunctions.size(),
  m_context.get()
);

Furthermore, I noticed that there’s an undocumented glsl_use_resource_data backend option.

Is the documentation just missing or is this feature not officially supported?

Both options do basically the same, however, are not really supported in the current HLSL and GLSL backends, because there is no native pointer support there. Do not set them to true. Both option will be removed in a later version.

Thanks for the reply.