Example #1
0
cg_texture_unit_t *
_cg_get_texture_unit(cg_device_t *dev, int index_)
{
    if (dev->texture_units->len < (index_ + 1)) {
        int i;
        int prev_len = dev->texture_units->len;
        dev->texture_units = c_array_set_size(dev->texture_units, index_ + 1);
        for (i = prev_len; i <= index_; i++) {
            cg_texture_unit_t *unit =
                &c_array_index(dev->texture_units, cg_texture_unit_t, i);

            texture_unit_init(dev, unit, i);
        }
    }

    return &c_array_index(dev->texture_units, cg_texture_unit_t, index_);
}
Example #2
0
CoglTextureUnit *
_cogl_get_texture_unit (int index_)
{
  _COGL_GET_CONTEXT (ctx, NULL);

  if (ctx->texture_units->len < (index_ + 1))
    {
      int i;
      int prev_len = ctx->texture_units->len;
      ctx->texture_units = g_array_set_size (ctx->texture_units, index_ + 1);
      for (i = prev_len; i <= index_; i++)
        {
          CoglTextureUnit *unit =
            &g_array_index (ctx->texture_units, CoglTextureUnit, i);

          texture_unit_init (ctx, unit, i);
        }
    }

  return &g_array_index (ctx->texture_units, CoglTextureUnit, index_);
}