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

PlaneDetectorEXT::getPlaneDetectionStateEXT still broken #46

Open
jherico opened this issue Nov 3, 2023 · 2 comments
Open

PlaneDetectorEXT::getPlaneDetectionStateEXT still broken #46

jherico opened this issue Nov 3, 2023 · 2 comments

Comments

@jherico
Copy link
Collaborator

jherico commented Nov 3, 2023

The enhanced function contains this code

  XrPlaneDetectionStateEXT state_tmp;
  PlaneDetectionStateEXT state;
  Result result = static_cast<Result>(
      d.xrGetPlaneDetectionStateEXT(this->get(), state_tmp));

But the dispatcher call here expects a XrPlaneDetectionStateEXT* as it's second argument, not a XrPlaneDetectionStateEXT.

@jherico
Copy link
Collaborator Author

jherico commented Nov 3, 2023

This may also apply to Session::thermalGetTemperatureTrendEXT. This is the only other function I can find which has an output enum type.

I don't get why extension authors seem to be avoiding the convention of "Everything is wrapped in an extensible structure", especially with the above thermalGetTemperatureTrendEXT where it has 3 output pointers being passed instead of a single output structure pointer. That means the C++ code ends up looking more like C code because you can't do an enhanced foo = session.thermalGetTemperatureTrendEXT() with the signature like it is.

Although I see your name is on XR_EXT_performance_settings so sorry if that's your design I'm complaining about.

@rpavlik
Copy link
Contributor

rpavlik commented Nov 3, 2023

The thermal stuff is ancient, as old as basically anything else in the spec. Most new stuff is nearly going too far in the direction of everything in a struct. :)

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

No branches or pull requests

2 participants