unsigned int UniformHLSL::assignSamplerInStructUniformRegister(const TType &type, const TString &name, unsigned int *outRegisterCount) { // Sampler that is a field of a uniform structure. ASSERT(IsSampler(type.getBasicType())); unsigned int registerIndex = mSamplerRegister; mUniformRegisterMap[std::string(name.c_str())] = registerIndex; unsigned int registerCount = type.isArray() ? type.getArraySizeProduct() : 1u; mSamplerRegister += registerCount; if (outRegisterCount) { *outRegisterCount = registerCount; } return registerIndex; }