这是从一些真实代码中获取的示例。这不能在我的三星Galaxy Tab 2上编译:
#define some_macro(x_)
void some_function(vec4 some_arg some_macro(FOO))
{
}
这个想法是参数列表中的“some_macro(FOO)”片段应该扩展为空。相反,这会生成一个错误消息,如“错误:0:520:'(':语法错误”,我假设它是指宏调用中的左父。无参数宏(简单#define)在同一个地方工作正常
我并不十分担心必须重构我的代码以避免这种语法,但我想知道是否有人知道这些代码是否应根据GLSL ES规范工作。这在其他设备上很好地编译(如Galaxy Note II)。