MTLUtil.cs 575 B

123456789101112131415161718192021222324
  1. using System.Text;
  2. namespace Veldrid.MetalBindings
  3. {
  4. public static class MTLUtil
  5. {
  6. public static unsafe string GetUtf8String(byte* stringStart)
  7. {
  8. int characters = 0;
  9. while (stringStart[characters] != 0)
  10. {
  11. characters++;
  12. }
  13. return Encoding.UTF8.GetString(stringStart, characters);
  14. }
  15. public static T AllocInit<T>(string typeName) where T : struct
  16. {
  17. var cls = new ObjCClass(typeName);
  18. return cls.AllocInit<T>();
  19. }
  20. }
  21. }