Post

Replies

Boosts

Views

Activity

Reply to Updating of a Metal texture in every frame
We call replaceRegion:mipmapLevel:withBytes:bytesPerRow: Documentation: "This method immediately copies the pixel data into the texture. It does not synchronize against any GPU accesses to this texture. For example, if a command buffer includes read or write operations on a given texture, you must ensure that these operations complete before calling the replaceRegion:mipmapLevel:withBytes:bytesPerRow: method on the given texture. You can use the addCompletedHandler: method, waitUntilCompleted method, or custom semaphores to signal that a command buffer has completed execution." According Apple's documentation, this function is synchronous. In a current frame we don't have anothr command buffer which has other operations with the same texture. But we have previous frames which still may be in a queue for rendering and this texture can be busy (potentially). But how we should guess that this texture is "busy"?
Sep ’20
Reply to Updating of a Metal texture in every frame
Hi Ceylo, darknoon, Thanks for your replies! I think that double/tripple buffering could be a real explanation of this issue. Also an article "Synchronizing Events Between a GPU and the CPU" also is a good idea. It's difficult to understand if we really should use these sync. events. I need to think more. Right now, our app works fine with 3 textures in a series.
Nov ’20
Reply to svn can not be used in MacOS Big Sur 11.0.1 (20B29).
On Intel Mac with Big Sur you can install SVN using homebrew: brew install svn 2. I found a solution for Mac with Apple M1. Copy SVN binaries and dylibs from Intel Mac (SVN exists in Command Line Tools - install them firstly): mkdir svn_backup cd svn_backup mkdir bin mkdir lib cd .. scp /Library/Developer/CommandLineTools/usr/bin/svn* svn_backup/bin scp /Library/Developer/CommandLineTools/usr/lib/libsvn_*.dylib svn_backup/lib scp /Library/Developer/CommandLineTools/usr/lib/libserf*.dylib svn_backup/lib then copy executables to /usr/local/bin and dylibs to /usr/local/lib accordingly. SVN will work via Rosetta 2 emulation on M1 chip. I tested today, SVN works fine.
Nov ’20
Reply to Loosing my svn
It was a big mistake to delete SVN from Xcode. Nightmare for many developers. On Intel Macs SVN still available in Command Line Tools for Big Sur: /Library/Developer/CommandLineTools/usr/bin/svn Create a symlink to use "svn" command as usually: ln -s /Library/Developer/CommandLineTools/usr/bin/svn svn Alternate solution: brew install svn (install homebrew package firstly). 2. I found a solution for Mac with Apple M1. Copy SVN binaries and dylibs from Intel Mac. mkdir svn_backup cd svn_backup mkdir bin mkdir lib cd .. scp /Library/Developer/CommandLineTools/usr/bin/svn* svn_backup/bin scp /Library/Developer/CommandLineTools/usr/lib/libsvn_*.dylib svn_backup/lib scp /Library/Developer/CommandLineTools/usr/lib/libserf*.dylib svn_backup/lib then copy executables to /usr/local/bin and copy dylibs to /usr/local/lib on Mac on Apple M1 chip. SVN will work via Rosetta 2 emulation. Make a backup of these files to use it in future macOS versions.
Nov ’20
Reply to Localization problem in NSOpenPanel
All internal localization in my cross-platform app are stored in other files. I tried to add an empty fr.lproj folder in /Resources - no result. I checked VLC app with a correct NSOpenPanel. It contais fr.lproj in /Resources/ > InfoPlist.strings: CFBundleName = "VLC"; CFBundleDisplayName = "VLC"; CFBundleShortVersionString = "3.0.11.1"; CFBundleGetInfoString = "Copyright © 1996-2020 the VideoLAN team"; NSHumanReadableCopyright = "Copyright (c) 1996-2020 VLC authors and VideoLAN"; I added the same InfoPlist.strings file to my fr.lproj - the same result - everything in NSOpenPanel on English
Jan ’21
Reply to Localization problem in NSOpenPanel
Thanks for your all replies. I found a solution: Localization doesn't work if I use a symbolic link to an executable file. The cross-platform compiler (Freepascal) created an executable outside APP bundle, and a symbolic link inside /MacOS folder. It seems to be a bug in macOS, because I run APP bundle and localization must work. So I copied manually real executable to /MacOS folder (as for a release version) and now everything works fine. 2. Also I discovered that I can use one of two options: A. Add CFBundleLocalizations records for each supported language. B. Or add an empty folder for each language in /Contents/Resources - fr.lproj , de.lproj , etc. Any of these variants for to use OS language in NSOpenPanel and NSSavePanel. I hope that this info will be useful for for somebody else.
Jan ’21