Post

Replies

Boosts

Views

Activity

Reply to Why is there no UTI for gltf/glb/metallib files?
Also when I specify pasteboardOptions, then folder drops stop working. I need to be able to drop files and folders. Are there any modern samples of using the clipboard? The docs Apple publishes on clipboard handling are from 2010. NSArray<NSString *>* pasteboardTypes = @[   // don't really want generic urls, but need folders to drop   //NSPasteboardTypeURL       // this is preventing folder drops ?   NSPasteboardTypeFileURL ];  // added for drag-drop support   [self registerForDraggedTypes:pasteboardTypes]; // ktx, ktx2, png, and dds for images // zip, metallib // gltf, glb files for models NSArray<NSString*>* utis = @[  [UTType typeWithFilenameExtension: @"png"].identifier,  [UTType typeWithFilenameExtension: @"ktx"].identifier,  [UTType typeWithFilenameExtension: @"ktx2"].identifier,  [UTType typeWithFilenameExtension: @"dds"].identifier,     [UTType typeWithFilenameExtension: @"zip"].identifier,  [UTType typeWithFilenameExtension: @"metallib"].identifier,    #if USE_GLTF  [UTType typeWithFilenameExtension: @"gltf"].identifier,  [UTType typeWithFilenameExtension: @"glb"].identifier  //@"model/gltf+json",  //@"model/gltf+binary" #endif ]; NSDictionary* pasteboardOptions = @{   // This means only these uti can be droped.   NSPasteboardURLReadingContentsConformToTypesKey: utis       // Don't use this it prevents folder urls ?   //, NSPasteboardURLReadingFileURLsOnlyKey: @YES }; - (NSDragOperation)draggingEntered:(id)sender {   if (([sender draggingSourceOperationMask] & NSDragOperationGeneric) ==     NSDragOperationGeneric) {     NSPasteboard* pasteboard = [sender draggingPasteboard];           bool canReadPasteboardObjects =       [pasteboard canReadObjectForClasses:@[ [NSURL class] ]                     options:pasteboardOptions];     // when this fails, toss the pasteboardOptions     // like when I drag folders     if (!canReadPasteboardObjects) {       canReadPasteboardObjects =         [pasteboard canReadObjectForClasses:@[ [NSURL class] ]                     options:@{}];     }     // don't copy dropped item, want to alias large files on disk without that     if (canReadPasteboardObjects) {       return NSDragOperationGeneric;     }   }   // not a drag we can use   return NSDragOperationNone; }
Oct ’22
Reply to BC7 Mipmap Problems in Catalina and Mojave
I use BC7 textures fine on Intel and M1 systems. But these are 2018 MBP with AMD and Intel parts. One problem with KTX files is that each mip level has a 4 byte length. This messes up the upload of data, and Metal typically wants 16B alignment of each mip level. Metal validation should flag that. If you are doing a memcpy then that may not be the issue. I was originally trying to mmap uncompressed ktx files when I hit this issue.
Oct ’22
Reply to How to setup precompiled headers in Xcode for C++?
So I renamed the file to AppPrefix.h, designated that as the both GCC_/CPP_PREFIX_HEADER. Removed all explicit includes of AppPrefix.h in the sources. And that file is getting prepended onto every compile. It's just not being precompiled. I can see the same files parsed over and over. Is it that stl type template headers must be re-parsed regardless of the pch setting? Seems like on arm64 builds all Xcode does is prepend the file to each file, and doesn't bother to do the precompile. Does clang not support pch. I even renamed the file to AppPrefix.pch which still works, but with no precompile.
Aug ’22
Reply to How to setup precompiled headers in Xcode for C++?
Also how do CPP_PREFIX_HEADER and GCC_PREFIX_HEADER differ? This is a C++ project, so I tried setting both. But I don't see any output lines with my App.pch file. I even renamed it to AppPrefix.pch, and still don't see that text in the output. Even putting garbage into the .pch file still succeeds on the build. This is latest Xcode on an M1. Is Xcode just ignoring these directives?
Aug ’22