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

Update Vendor/OpenEmuShaders #57

Open
wants to merge 1 commit into
base: maddsV2
Choose a base branch
from

Conversation

getaaron
Copy link

@getaaron getaaron commented Oct 7, 2023

This PR updates OpenEmuShaders. The main benefit to Boxer is to pull in OpenEmu/OpenEmu-Shaders@286f951 which will allow it to build on modern homebrew installations by specifying the /opt/homebrew path in addition to the legacy /usr/local path.

Closes #54

@MaddTheSane
Copy link
Owner

There is a reason I haven't updated OpenEmuShaders yet: source code in Boxer will also need to be updated.

@getaaron
Copy link
Author

getaaron commented Oct 7, 2023

@MaddTheSane If you feel like giving me some general direction I can take a pass at it.

I see these two:

/Users/runner/work/Boxer/Boxer/Boxer/Shaders/BXShadersModel+OpenEmu.swift:40:17: error: method cannot be marked @objc because the type of the parameter 1 cannot be represented in Objective-C
    public func write(parameters params: [ShaderParameter], identifier: String) {
                ^

It looks like ShaderParameter is no longer an NSObject subclass.

/Users/runner/work/Boxer/Boxer/Boxer/Shaders/BXShadersModel+OpenEmu.swift:43:37: error: value of type 'ShaderParameter' has no member 'value'
        for p in params.filter({ $0.value != $0.initial }) {
                                 ~~ ^~~~~

It looks like ShaderParameter is no longer has a value.

Have you explored it more? Are there other fixes you know of that will be needed?

@MaddTheSane
Copy link
Owner

It also looks like Objective-C binding for the Swift class FilterChain (represented as the ObjC symbol OEFilterChain) were removed. Same thing with ShaderParameter and OEShaderParameter.
There's also the removal of the OEShaderParamGroup class.

@stuartcarnie was the one that really made the Metal back-end work, including the custom shaders. I'll probably talk to him tomorrow.

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.

cannot build with XCode 14.2
2 participants