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] Better creation error tracking #1143

Merged
merged 1 commit into from
Jan 17, 2017
Merged

Conversation

kvark
Copy link
Member

@kvark kvark commented Jan 17, 2017

Sadly, Metal is not supported on my old Mac Mini 2010.
If someone got a newer one, please try running our examples with "--feature metal" flag. It would be nice to publish that Metal backend at last.

@doppioslash
Copy link

doppioslash commented Jan 17, 2017

@kvark:
On a 10.12.2 Macbook Pro from 2015:

  • triangle, gamma, and shadow succeed
  • cube, deferred, flowmap and terrain fail with:
thread 'main' panicked at 'not yet implemented', src/backend/metal/src/command.rs:303
  • blend, particle, mipmap, ubo_tilemap fail with:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: SelectError(Msl(11))', ../src/libcore/result.rs:799
  • skybox crashes with:
-[MTLTextureDescriptorInternal validateWithDevice:]:774: failed assertion `MTLTextureDescriptor width must equal height for cube textures.'
  • terrain_tessellated fails with:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Hull(StageNotSupported(Hull))', ../src/libcore/result.rs:799
  • instancing fails with:
32 instances per length
1024 instances
size: 0.05
thread 'main' panicked at 'not yet implemented', src/backend/metal/src/factory.rs:760

@kvark
Copy link
Member Author

kvark commented Jan 17, 2017

@doppioslash incredible, thank you! We'll revisit this comment many times for sure when implementing missing features. Please feel free to tackle them as well if you want!
@homu r+

@homu
Copy link
Contributor

homu commented Jan 17, 2017

📌 Commit cbc9c8a has been approved by kvark

homu added a commit that referenced this pull request Jan 17, 2017
[Metal] Better creation error tracking

Sadly, Metal is not supported on my old Mac Mini 2010.
If someone got a newer one, please try running our examples with "--feature metal" flag. It would be nice to publish that Metal backend at last.
@homu
Copy link
Contributor

homu commented Jan 17, 2017

⌛ Testing commit cbc9c8a with merge ab4c921...

@kvark
Copy link
Member Author

kvark commented Jan 17, 2017

triangle, gamma, and shadow succeed

Triangle and Gamma use glutin directly. Shadow example defaults to GL.
So it appears that Metal is no-functional at the moment...

@Bastacyclop
Copy link
Contributor

@kvark This is probably partially because of this from recent PRs: https://github.com/gfx-rs/gfx/blob/master/src/backend/metal/src/command.rs#L303:

  1. There is an usage redundance used in buffer updates just like the one I removed in DX11 (Vulkan may have it too).
  2. map_buffer_usage now requires Bind too, so the latter is not enough to call it anymore.

However buffer updates are currently Dynamic only so things could be hardcoded for it.

@kvark
Copy link
Member Author

kvark commented Jan 17, 2017

@Bastacyclop thanks for the info!
It would be really great to have someone picking up the Metal backend, given @fkaa 's absence. I wouldn't mind maintaining it myself, but my Mac is too old. Help wanted!

@homu
Copy link
Contributor

homu commented Jan 17, 2017

☀️ Test successful - status

@homu homu merged commit cbc9c8a into gfx-rs:master Jan 17, 2017
JohnColanduoni added a commit to JohnColanduoni/gfx that referenced this pull request Jun 16, 2017
a404273 Auto merge of gfx-rs#1163 - Nitori-:short-attribs, r=kvark
d1b4ccf Fix vertex attrib size for 16-bit attributes with more than one component.
69cffe3 Auto merge of gfx-rs#1160 - plyhun:master, r=kvark
c6c36ae DX11 resize fix
eb46bdb Auto merge of gfx-rs#1125 - msiglreith:corell, r=kvark
827deea Auto merge of gfx-rs#1154 - tocubed:adjacency-info, r=kvark
634155e Auto merge of gfx-rs#1153 - Androcas:doc, r=kvark
dfe6091 Auto merge of gfx-rs#1158 - bvssvni:pod, r=kvark
9c1e943 Implement `Pod` for tuples
d87d688 Add primitives with adjacency information
4720b2c Document the directory structure
76d65f0 [ll] Implement frame acquisition for swapchains
2b14450 Auto merge of gfx-rs#1150 - CensoredUsername:bad_driver_GL_ACTIVE_UNIFORM_MAX_LENGTH, r=kvark
5020cdc Work around nonconforming OpenGL drivers returning the length of a uniform name without the trailing null byte.
e0a965e [ll] Experimental unix surface support for vulkan
795465b [ll] Cleanup parts of the low level api
0840c9a [ll] Add queue families and work on swapchain implementation for vulkan
2b1c0d5 [ll] Implement device and command queue creation for vulkan Temporary fix ash dependency path
2ab5f31 [ll] Implement surface creation for vulkan backend
3cd6964 [ll] Implement surface and swapchain handling for d3d12
ec61901 [ll] Introduce surface abstraction and implement device creation on d3d12 * `Surface` abstracts the native window surface (highly coupled with swapchains) * Document some core structs and add TODOs for future work * Implement basic device and command queue creation for d3d12 backend
b5683f9 [ll] Vulkan: Implement `Instance` creation
6fd4f31 [ll] Start implementing d3d12 and vulkan backends * vulkan: Dummy implementations for basic structs * d3d12: Instance and physical device enumeration
6a19f59 [ll] Initial commit for low level core api First api design steps for the low level core Setup backend projects for dx12 and vulkan backend using the new ll api
fd468f6 Auto merge of gfx-rs#1147 - Bastacyclop:access, r=kvark
8cebd46 Auto merge of gfx-rs#1146 - kvark:index, r=kvark
d12d4f8 Use HashSet for AccessInfo
43d495f Tracking the index buffer mapping
ab4c921 Auto merge of gfx-rs#1143 - kvark:metal_create, r=kvark
844bc07 Auto merge of gfx-rs#1144 - burtonageo:master, r=kvark
9e72946 Make the CreateProgramError a proper struct which impls the `Error` trait
cbc9c8a [Metal] Better creation error tracking

git-subtree-dir: vendor/gfx
git-subtree-split: a404273
@kvark kvark deleted the metal_create branch October 17, 2017 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants