Core Image fails to render RAW images with Metal (CIRawFilter, Mac)
| Originator: | raphael | ||
| Number: | rdar://25256765 | Date Originated: | 19-Mar-2016 06:20 PM |
| Status: | Open | Resolved: | |
| Product: | OS X SDK | Product Version: | 10.11.4 Beta (15E64a) |
| Classification: | Serious Bug | Reproducible: | Always |
Summary: Core Image fails to render RAW images with Metal (CIRawFilter, Mac) on first try, crashes on second. Steps to Reproduce: - load an image with CIRawFilter - render it to a Metal texture with the following API: [CIContext render:im toMTLTexture:texture commandBuffer:nil bounds:extent colorSpace:HYRenderContext.defaultWorkingColorSpace]; Expected Results: - image contents renders to the texture Actual Results: - first try, black image in the target texture + it outputs this to the console: "need a swizzler so that RGB16 can be read." - second try, it crashes with the following stack trace: #0 0x00007fff98987f3d in objc_retain () #1 0x000000010108dbce in -[MTLDebugComputeCommandEncoder setTexture:atIndex:] () #2 0x00007fff9343897f in CIMetalRenderToTexture () #3 0x00007fff9342a107 in CI::MetalContext::quad(void const*, dispatch_group_s*, void const*) () #4 0x00007fff9342b3f0 in CI::MetalContext::render_node(CI::ProgramNode*, CGRect const&, CI::Texture, bool) () #5 0x00007fff9342ba32 in CI::MetalContext::render_intermediate_node(CI::ProgramNode*, CGRect const&, CI::intermediate_t*, void () block_pointer) () #6 0x00007fff933471f0 in CI::Context::recursive_render(CI::Node*, CGRect const&, CI::Node*) () #7 0x00007fff9334711b in CI::Context::recursive_render(CI::Node*, CGRect const&, CI::Node*) () #8 0x00007fff9334711b in CI::Context::recursive_render(CI::Node*, CGRect const&, CI::Node*) () #9 0x00007fff9334711b in CI::Context::recursive_render(CI::Node*, CGRect const&, CI::Node*) () #10 0x00007fff9334711b in CI::Context::recursive_render(CI::Node*, CGRect const&, CI::Node*) () #11 0x00007fff9334711b in CI::Context::recursive_render(CI::Node*, CGRect const&, CI::Node*) () #12 0x00007fff9335ee31 in ___ZN2CIL13_image_renderEPKcPNS_7ContextEPNS_5ImageE6CGRectP12CGColorSpaceNS_11PixelFormatEmRK7CGPointRKNS_12swizzle_infoE_block_invoke () #13 0x00007fff93359513 in CI::tile_node_graph(CI::Context*, char const*, CI::Node*, CGRect, void (CI::Node*, CGRect) block_pointer) () #14 0x00007fff9335901e in CI::tile_node_graph(CI::Context*, char const*, CI::Node*, CGRect, void (CI::Node*, CGRect) block_pointer) () #15 0x00007fff93355c55 in CI::_image_render(char const*, CI::Context*, CI::Image*, CGRect, CGColorSpace*, CI::PixelFormat, unsigned long, CGPoint const&, CI::swizzle_info const&) () #16 0x00007fff93356013 in CI::image_render_to_texture(CI::Context*, CI::Image*, CGRect, CGColorSpace*, CI::Texture, CI::PixelFormat, bool, void const*) () #17 0x00007fff9333bf77 in -[CIContext render:toMTLTexture:commandBuffer:bounds:colorSpace:] () #18 0x0000000100082da3 in __34-[HYMetalRenderContext loadImage:]_block_invoke at xxxx.m:112 Regression: Always occurs Notes: Multiple RAW formats were tried (Nikon .NEF, Canon .CR2, etc) with same results. I'm attaching a sample .NEF for reference.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!