Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[xcode14][coreimage] LabToRGBFilter and RGBtoLabFilter disabled in bindings #15662

Open
chamons opened this issue Aug 8, 2022 · 0 comments
Open

Comments

@chamons
Copy link
Contributor

chamons commented Aug 8, 2022

In Xcode 14 Beta 1, Apple introduced an unorthodox pair of CoreImage filters:

++ (CIFilter<CIConvertLab>*) convertLabToRGBFilter NS_AVAILABLE(13_0, 16_0);
++ (CIFilter<CIConvertLab>*) convertRGBtoLabFilter NS_AVAILABLE(13_0, 16_0);

These are two separate filters with the same exact type.

I tried binding them as two different types with:

    [CoreImageFilter]
    [iOS (16,0), TV (16,0), Mac (13,0), MacCatalyst (16,0)]
    [BaseType (typeof (CIFilter))]
    interface LabToRGBFilter : CIConvertLabProtocol
    {
    }

    [CoreImageFilter]
    [iOS (16,0), TV (16,0), Mac (13,0), MacCatalyst (16,0)]
    [BaseType (typeof (CIFilter))]
    interface RGBtoLabFilter : CIConvertLabProtocol
    {
    }

but that fails a number of introspection tests:

[FAIL] CoreImage.LabToRGBFilter : Handle
[FAIL] CoreImage.RGBtoLabFilter : Handle
	[FAIL] DefaultCtorAllowed :   2 potential errors found in 1668 default ctor validated:
[FAIL] Managed LabToRGBFilter was not part of the native filter list
[FAIL] Managed RGBtoLabFilter was not part of the native filter list
	[FAIL] Keys : System.ArgumentNullException : Value cannot be null. (Parameter 'array')
Tests run: 44 Passed: 42 Inconclusive: 0 Failed: 2 Ignored: 1
[FAIL] CoreImage.LabToRGBFilter : Handle
[FAIL] CoreImage.RGBtoLabFilter : Handle
	[FAIL] DefaultCtorAllowed :   2 potential errors found in 1672 default ctor validated:
[FAIL] Managed LabToRGBFilter was not part of the native filter list
[FAIL] Managed RGBtoLabFilter was not part of the native filter list
	[FAIL] Keys : System.ArgumentNullException : Value cannot be null.
Tests run: 46 Passed: 44 Inconclusive: 0 Failed: 2 Ignored: 0

I could bind them as one type, however things would be difficult to use from C# if we did that.

To unblock the rest of CoreImage, I disabled those two and PR'ed the rest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants