| 1247 | } |
| 1248 | |
| 1249 | uint32_t CountShaderResourceLeafMembers(const dmArray<ShaderResourceTypeInfo>& type_infos, ShaderResourceType type, uint32_t count) |
| 1250 | { |
| 1251 | if (!type.m_UseTypeIndex) |
| 1252 | { |
| 1253 | return 1; |
| 1254 | } |
| 1255 | |
| 1256 | const ShaderResourceTypeInfo& type_info = type_infos[type.m_TypeIndex]; |
| 1257 | for (int i = 0; i < type_info.m_MemberCount; ++i) |
| 1258 | { |
| 1259 | const ShaderResourceMember& member = type_info.m_Members[i]; |
| 1260 | count += CountShaderResourceLeafMembers(type_infos, member.m_Type, count); |
| 1261 | } |
| 1262 | return count; |
| 1263 | } |
| 1264 | |
| 1265 | static void CreateUniformLeafMembersCallback(const CreateUniformLeafMembersCallbackParams& params, void* user_data) |
| 1266 | { |