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

Metal call to CreateRenderPipelineState fails on tvOS #6200

Closed
addr010 opened this issue Jun 3, 2019 · 3 comments · Fixed by #7226
Closed

Metal call to CreateRenderPipelineState fails on tvOS #6200

addr010 opened this issue Jun 3, 2019 · 3 comments · Fixed by #7226
Labels
bug If an issue is a bug or a pull request a bug fix iOS Issues affecting iOS
Milestone

Comments

@addr010
Copy link

addr010 commented Jun 3, 2019

Steps to Reproduce

  1. Create the sample tvOS metal project
  2. Build and Run project on Apple TV

Expected Behaviour

Project runs

Actual Behaviour

The pipelineState is null and sample fails

snippet from sample.
pipelineState = device.CreateRenderPipelineState(pipelineStateDescriptor, out error);
if (pipelineState == null)
Console.WriteLine("Failed to created pipeline state, error " + error);

the error is: "Target OS is incompatible"

Works in my existing apps for iOS and macOS.

I can't progress on tvOS version of my app at this point.

Any workarounds?

Environment

=== Visual Studio Community 2017 for Mac ===

Version 7.8.3 (build 2)
Installation UUID: 2337f6e5-9be8-4190-a4de-3dd9420e5df6
	GTK+ 2.24.23 (Raleigh theme)
	Xamarin.Mac 5.0.0.0 ( / b40230c0)

	Package version: 516010000

=== Mono Framework MDK ===

Runtime:
	Mono 5.16.1.0 (2018-06/a76b50e5faa) (64-bit)
	Package version: 516010000

=== NuGet ===

Version: 4.8.2.5835

=== .NET Core ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
	2.1.9
	2.1.8
	2.1.2
	2.1.1
	2.0.5
SDK: /usr/local/share/dotnet/sdk/2.1.505/Sdks
SDK Versions:
	2.1.505
	2.1.504
	2.1.302
	2.1.301
	2.1.4
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.16.1/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Profiler ===

Version: 1.6.4
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 10.2.1 (14490.122)
Build 10E1001

=== Xamarin.Mac ===

Version: 5.2.1.16 (Visual Studio Community)
Hash: 2dc06c71
Branch: 
Build date: 2019-02-12 23:09:50-0500

=== Xamarin.iOS ===

Version: 12.2.1.16 (Visual Studio Community)
Hash: 2dc06c71
Branch: d15-9
Build date: 2019-02-12 23:09:50-0500

=== Xamarin.Android ===

Not Installed

=== Microsoft Mobile OpenJDK ===

Java SDK: Not Found

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android Device Manager ===

Version: 7.8.1.0
Hash: 8924ea4a

=== Xamarin Inspector ===

Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 708030002
Git revision: fd02e670fdd6b101bc9c08b1cc5b7710d9f58cd8
Build date: 2019-03-08 10:30:21+00
Build branch: release-7.8
Xamarin extensions: 1f72f0a3737128552336f27e189d3c4f0cdebd00

=== Operating System ===

Mac OS X 10.14.4
Darwin 18.5.0 Darwin Kernel Version 18.5.0
    Mon Mar 11 20:40:32 PDT 2019
    root:xnu-4903.251.3~3/RELEASE_X86_64 x86_64


Build Logs

Example Project (If Possible)

@addr010 addr010 changed the title CreateRenderPipelineState fails on tvOS Metal call to CreateRenderPipelineState fails on tvOS Jun 15, 2019
@dalexsoto dalexsoto added bug If an issue is a bug or a pull request a bug fix iOS Issues affecting iOS labels Jun 15, 2019
@dalexsoto
Copy link
Member

Hello, I can reproduce your issue with our current template, I have no workaround for you but it seems that some of the options passed to MTLRenderPipelineDescriptor the native API is no longer liking them, seems that our template is out of date

@dalexsoto dalexsoto added this to the Future milestone Jun 15, 2019
@addr010
Copy link
Author

addr010 commented Oct 13, 2019

Pinging this issue. Still broken with:
Xamarin.iOS
Version: 13.4.0.2
Hash: e37549b
Branch: xcode11.1
Build date: 2019-10-07 22:43:23-0400

At this point what can I do?

rolfbjarne added a commit to rolfbjarne/xamarin-macios that referenced this issue Oct 14, 2019
… and watchOS to a few tasks. Fixes xamarin#6200.

The problem with xamarin#6200 was that we'd pass -mios-version-min=x.y to the metal
tool even for tvOS apps. This fixes it so that now pass -mtvos-version-min.

Fixes xamarin#6200.
rolfbjarne added a commit that referenced this issue Oct 16, 2019
… and watchOS to a few tasks. Fixes #6200. (#7226)

The problem with #6200 was that we'd pass -mios-version-min=x.y to the metal
tool even for tvOS apps. This fixes it so that now pass -mtvos-version-min.

Fixes #6200.
@addr010
Copy link
Author

addr010 commented Oct 18, 2019

thanks @rolfbjarne!

rolfbjarne added a commit to rolfbjarne/xamarin-macios that referenced this issue Feb 26, 2020
… and watchOS to a few tasks. Fixes xamarin#6200. (xamarin#7226)

The problem with xamarin#6200 was that we'd pass -mios-version-min=x.y to the metal
tool even for tvOS apps. This fixes it so that now pass -mtvos-version-min.

Fixes xamarin#6200.
rolfbjarne added a commit that referenced this issue Feb 28, 2020
#7991)

* [msbuild] Provide the correct value for the operating system for tvOS and watchOS to a few tasks. Fixes #6200. (#7226)

The problem with #6200 was that we'd pass -mios-version-min=x.y to the metal
tool even for tvOS apps. This fixes it so that now pass -mtvos-version-min.

Fixes #6200.

* [msbuild] Add support for Metal in the simulator. Fixes #7392. (#7983)
@ghost ghost locked as resolved and limited conversation to collaborators May 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug If an issue is a bug or a pull request a bug fix iOS Issues affecting iOS
Projects
None yet
2 participants