mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.24k stars 1.24k forks source link

Waveforms: Disable textured waveforms when using OpenGL ES #13381

Closed fwcd closed 1 week ago

fwcd commented 1 week ago

Fixes #13380 (potential future refactoring moved to #13385)

The textured waveform renderer seems to use some OpenGL APIs that are unavailable in GL ES (e.g. on iOS), therefore this PR cond-compiles out WaveformRendererTextured when QT_OPENGL_ES_2 is set.

fwcd commented 1 week ago

Perhaps it would make sense to disable the "High Details" checkbox when using GL ES? Given that it will have no effect

IMG_0904

Thoughts welcome.

Edit: Done

daschuer commented 1 week ago

Disabling or even hiding the box is a good idea as a band aid. But I would like to keep the original bug open until we have figured out the root cause. I have edited the bug PR description accordingly.

daschuer commented 1 week ago

Please rebase to 2.5, since this is fixing 2.5-beta code.

fwcd commented 1 week ago

I'll rebase it once I'm home later.

But I would like to keep the original bug open until we have figured out the root cause.

The root cause is that the textured waveforms are implemented in terms of OpenGL APIs that are unavailable in OpenGL ES. So if we want to keep the original issue open, we might want to rephrase it to something along the lines of "Reimplement textured waveforms in OpenGL ES subset" or similar, since this specific issue is fixed.

Edit: I have split out the issue into #13385, so we can close #13380 with this PR.

fwcd commented 1 week ago

I don't think it makes sense to target 2.5 here currently, since it is based on the refactorings introduced in #13220 (addWaveformSignalRenderer etc.) that are only in main. It might be possible to backport, but in doing so we'll get merge conflicts and I'd base iOS support on main anyway (given that it's highly experimental).