Skip to content

Conversation

@kallisti5
Copy link

Description

Adds Haiku platform to renderdoc_app. Currently it missing is breaking the downstream Mesa build.

@kallisti5
Copy link
Author

kallisti5 commented Jan 2, 2026

I do question the need to call our every platform here.

#elif defined(__GNUC__)

would catch gcc and clang toolchains if you want to preserve a warning for unknown toolchains.

@kallisti5 kallisti5 changed the title renderdoc_app: Add needed HAIKU platform define renderdoc_app: Refactor calling convention checks to toolchain vs platform. Jan 2, 2026
Copy link
Owner

@baldurk baldurk left a comment

Choose a reason for hiding this comment

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

Please do not make sweeping changes to the header like this, I want to keep the explicit platform checks. Please only add your platform that you tested to work with RenderDoc.

With that said I'm also surprised that this change is the only thing needed. I've never heard of this platform before, can you share screenshots or video of RenderDoc working on the platform once this change has been made?

@kallisti5
Copy link
Author

@baldurk This PR was created at the request of the mesa folks since that header is used upstream in Mesa.

I can refactor to a platform specific check if that's what you prefer.
I'll grab some screenshots of Mesa running on Haiku I guess lol.

@baldurk
Copy link
Owner

baldurk commented Jan 5, 2026

What I'm wondering isn't whether mesa works but whether RenderDoc works. If RenderDoc does not work on your platform then the error is expected and is serving its purpose - to ensure the header isn't included on platforms where it's not going to function.

If RenderDoc doesn't work on your platform then you should make sure to conditionally include it from your program like any other platform-specific header. The header is not intended to be included on any random platform unconditionally and work.

@kallisti5
Copy link
Author

kallisti5 commented Jan 5, 2026

So, the program in question is Mesa's gallium zink renderer. (which is the OpenGL -> Vulkan rendering pipeline for Linux, BSD, Darwin, etc)

https://docs.mesa3d.org/systems.html#platforms-and-drivers

Mesa is primarily developed and used on Linux systems. But there’s also support for Windows, other flavors of Unix and other systems such as Haiku. We’re actively developing and maintaining several hardware and software drivers.

You're going to run into the same kind of request for all the other non-Linux UNIX platforms as well at some point.

You're correct that renderdoc itself doesn't function on Haiku since Haiku doesn't use X11.

I guess the best path would be to make Mesa optionally exclude renderdoc and not build it into the rendering pipeline by default. (which is kind of a bummer, I know it's useful to a lot of folks)

@baldurk
Copy link
Owner

baldurk commented Jan 5, 2026

Whether other platforms will have the same request is irrelevant as I will have the same question about whether RenderDoc actually works. Of course mesa is free to support whatever platforms it likes and I'm not going to dictate that, but it is not a goal for this project to support arbitrary obscure platforms either for compilation or runtime support.

If your platform does not work with RenderDoc then mesa should indeed conditionally include the header, as I'm sure it does for other non-generic headers. It will still work correctly on all relevant platforms where RenderDoc is supported. I'll close this PR as it sounds like your platform will not work with RenderDoc and I do not want to have non-functional code compiling.

@baldurk baldurk closed this Jan 5, 2026
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.

2 participants