WerWolv / ImHex

🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
https://imhex.werwolv.net
GNU General Public License v2.0
43.96k stars 1.92k forks source link

Cap texture multisampling SampleCount #1670

Closed FireNX70 closed 4 months ago

FireNX70 commented 4 months ago

Problem description

https://gitlab.freedesktop.org/mesa/mesa/-/issues/11135 It turns out LLVMpipe only supports 4x multisampling. Checking GL_MAX_SAMPLES seems like the right thing to do.

Implementation description

Right now, I only check GL_MAX_SAMPLES. Depending on the format, we might need to check GL_MAX_INTEGER_SAMPLES. I don't know how likely it is that you might want to use a different format in the future, glGetInternalformativ might be a safer option to retrieve the max number of samples we can use.

Ended up implementing it with glGetInternalformativ.

Additional things

I guess I could merge the ifs at lines 95, 99 and 103 in imgui_imhex_extensions.cpp while we're at it.

FireNX70 commented 4 months ago

Also, I guess it might be cleaner if I part out the GL_MAX_SAMPLES stuff into its own function and we just call that to initialize SampleCount.

WerWolv commented 4 months ago

Didn't think of that, thanks a lot!