Esempio n. 1
0
int load_value (FILE *f, value *v, string *lnames)
{ value nv;
  int tag;
  if (!load_int (f, &tag)) return (0);
  nv = new_value (tag);
  nv -> dptr = (void *) lnames;
  switch (tag)
    { case string_value:
	if (!load_string (f, &nv -> u.str)) return (0);
	break;
      case integer_value:
	if (!load_int (f, &nv -> u.inum)) return (0);
	break;
      case real_value:
	if (!load_real(f, &nv -> u.rnum)) return (0);
	break;
      case tuple_value:
	if (!load_value_list (f, &nv -> u.tuple, lnames)) return (0);
	break;
      case small_lattice_value:
	if (!load_int (f, &nv -> u.slat)) return (0);
	break;
      case large_lattice_value:
	if (!load_int_list (f, &nv -> u.elat)) return (0);
	break;
      default:
	bad_tag (tag, "load_value");
    };
  *v = nv;
  return (1);
};
Esempio n. 2
0
// create default pool objects
bool zz_texture::restore_device_objects ()
{
	if (!res.is_restore_device_objects()) { // skip managed, systemmem, scratch
		return true;
	}

	if (res.get_updated())
		return true;

	if (!load_real(this))
		return false;

	res.make_updated();

	return true;
}
Esempio n. 3
0
// create managed/systemmem/scratch pool objects
bool zz_texture::init_device_objects ()
{
	if (!res.is_init_device_objects()) { // skip default
		return true;
	}

	if (res.get_updated())
		return true;

	if (!load_real(this))
		return false;

	res.make_updated();

	return true;
}