Skip to content

Conversation

@frewsxcv
Copy link
Contributor

@frewsxcv frewsxcv commented Dec 8, 2020

As suggested by @cart and @mockersf in #928, this pull request switches Apple Silicon devices to use shaderc instead of bevy-glsl-to-spirv. This change, along with the latest unreleased version of winit (rust-windowing/winit#1789), gets Bevy working on Apple Silicon!

Screen Shot 2020-12-07 at 6 29 38 PM

shader_defs: Option<&[String]>,
) -> Result<Vec<u32>, ShaderError> {
let mut compiler = shaderc::Compiler::new()?;
let mut options = shaderc::CompileOptions::new()?;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These lines were not compiling prior to my pull request. Both of these lines return Option, whereas the function signature returns Result.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing it ❤️

@frewsxcv frewsxcv mentioned this pull request Dec 8, 2020
@Moxinilian Moxinilian added C-Feature A new feature, making something new possible O-MacOS Specific to the MacOS (Apple) desktop operating system A-Rendering Drawing game state to the screen labels Dec 9, 2020
@cart
Copy link
Member

cart commented Dec 9, 2020

Looks good to me. Thanks!

@cart
Copy link
Member

cart commented Dec 9, 2020

I'd love to make shaderc an optional feature, then selectively enable it for specific platforms. This would clean the code/config significantly and enable people to opt in to shaderc on any platform. But cargo won't let us do that afaik: rust-lang/cargo#1197

@cart cart merged commit 66f972c into bevyengine:master Dec 9, 2020
@frewsxcv frewsxcv deleted the frewsxcv-shader branch December 9, 2020 21:19
@frewsxcv frewsxcv mentioned this pull request Dec 9, 2020
@fopsdev fopsdev mentioned this pull request Jan 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible O-MacOS Specific to the MacOS (Apple) desktop operating system

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants