Posts

Post not yet marked as solved
2 Replies
172 Views
Is there a way to know if there are remaining compute kernels in the background, and in the affirmative to remove them (due to an infinite loop for example), after quitting an application? I fall in this situation sometime, and suspect that the ghost kernels continue to work because, even if I resume control, it seems that I loss GPU resources and that the computer become hot. At the moment, the only way I found to retrieve the entire resources of the computer, is to restart it.
Posted
by iPerKard.
Last updated
.
Post not yet marked as solved
1 Replies
197 Views
Could someone please confirm that NSImageView does not support the EDR environment for HDR contents? All my attempts failed... And as far as I know, there is no way to set maximumExtendedDynamicRangeColorComponentValue on NSImageView. Thanks!
Posted
by iPerKard.
Last updated
.
Post not yet marked as solved
2 Replies
275 Views
Hi, I got a bitmapData full of zeros after creating a NSImage with initWithContentsOfURL on a HEIF RGB image with 10 bits per component (bitsPerPixel is 40). The image is correctly displayed by the Finder and Preview. If I convert the bitmap representation with: CGImageRef cgImage = imageRep.CGImage; CGDataProviderRef provider = CGImageGetDataProvider(cgImage); CFDataRef data = CGDataProviderCopyData(provider); ... the subsequent CFData contains non-zero bytes. The call to CGDataProviderCopyData is not free and takes some time, as if there is some kind of unpacking process. I do not have such a null content with any other kind of image. Is there something I forgot before calling bitmapData? Thanks.
Posted
by iPerKard.
Last updated
.
Post not yet marked as solved
0 Replies
214 Views
I'm trying to set a complete pipeline that conforms to the EDR environment. Currently, I am able to generate a half-float buffer that contains my renderings after using my own tone mapping (and of course, with values that can be greater than 1).  Firstly, I have to say that this produces really awesome outputs on the new M1 XDR screen! But now, I would like to keep this extended buffer into an image file... I found no clear answer in the excellent WWDC presentation video (WWDC 2021 10161).  ken Greenebaum talks about creating CGImage or texture from HDR resources, but I found nothing about the reverse operation.  So what are Apple’s recommendations and required formats for such an image with float channels? HEIC? PNG? JPEG 2000? OpenEXR? With what kind of extended range color space? Extended linear display P3? Is the resultant image viewable in HDR in macOS. How can I complement the pipeline? I can use OpenEXR, but I have no clue on how this will be rendered by macOS, the finder and Preview (is 111 reference white? Can I attach a color space to OpenEXR? ...) At the moment, I had no success with the HEIC format which I thought was the predestined format for this kind of task, but which I failed to generate beyond 8 bits by using the standard CGImage API. By advance, thanks  for your help!
Posted
by iPerKard.
Last updated
.
Post not yet marked as solved
0 Replies
251 Views
Hi, Does the bitmapImageRepForCachingDisplayInRect function support EDR environment on an display with XDR capabilities, and in particular the wantsExtendedDynamicRangeContent flag? And in this case, is the created bitmap 16 or 32 bits? With float or integer channels? Is its associated color space a P3 one ?
Posted
by iPerKard.
Last updated
.
Post not yet marked as solved
0 Replies
460 Views
Hi,Is there any rule concerning concurrent writes in the Metal compute shaders, from different threads, of the exact same value in the exact same place of a device buffer ?With CUDA, for exemple, it seems that at least one write is guaranteed, involving that the buffer will be correctly updated...What is the status of such a behavior with Metal ?Cyril.
Posted
by iPerKard.
Last updated
.
Post marked as solved
4 Replies
1.4k Views
Now that Apple is offering ray tracing in its Metal Performance Shaders, and that OpenCL is deprecated, I'm quite surprised that such fundamental tools as Reduce, Scan or even Radix sort are not proposed by default in this toolbox.These elemental bricks are so dependent on the GPU on wich they run, that Apple is clearly best placed to provide optimized versions.Today, we implement our own poorly optimized algorithms, but this is quite time consuming.Could we know why Reduce, Scan and Sorting shaders are missing from Metal Performance Shaders ?
Posted
by iPerKard.
Last updated
.
Post marked as solved
2 Replies
1.8k Views
Is anybody able to correctly manage plug-in and unplug of eGPU on Metal with High Sierra 10.13.4 ?I am able to manage plugin, but I've got a notification that my application requires to terminate (and XCode) when I unplug the eGPU.In my application, I received a notification from the system (by using MTLCopyAllDevicesWithObserver), and even when I tried to release all the previously allocated resources on the eGPU, the system asks me to quit my application.
Posted
by iPerKard.
Last updated
.
Post not yet marked as solved
1 Replies
556 Views
Is there any chance to see on macOS the same complete tools for analyzing and profiling Metal as it exists on iOS ?Some missing features we'd like to see on macOS :- Remarks- Profiling at an instruction level into the kernels- GPU Counter Profiling
Posted
by iPerKard.
Last updated
.
Post marked as solved
2 Replies
645 Views
Hi,Certainly a naive question, sorry...Is a receipt updated with the bundle version when a user update an application ?To be valid a receipt should contain the same bundle version than the associated application... Considering, for example, an in-App purchase that contains a product to unlock specific features of an application... How can we manage the validity of the in-App purchase according to the receipt ?Say, that I want an inApp purchase to be valid for the major version 1 of my application, and to need a new purchase for the second major version, and so on. Could you tell me what is the correct process for such a model ?Thanks !Cyril.
Posted
by iPerKard.
Last updated
.