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
OGL: Only specify precision for sampler2DMSArray when it is defined #11628
OGL: Only specify precision for sampler2DMSArray when it is defined #11628
Conversation
Hmm... That only seems to be correct for OpenGL ES. Do we need to implement the method actually mentioned in the docs (querying
Other backends actually create a context just so they can fill out things like AA modes. Wouldn't be stupid to do the same here.
Potentially worth fixing. But if you make sure |
|
Other things I noticed while skimming though OpenGL documentation: There is a newer method for querying MSAA support starting from OpenGL 4.2, that allows you to query supported samples per type and internal format. glGetInternalformat. It also adds Apparently if an implementation advertises support for MSAA, it must support at least 4xMSAA. |
8a68994
to
674690b
Compare
|
The fifoci differences are due to 5.0-18820 randomly having a different result for xenoblade-menu, and aren't caused by this PR. |
|
|
|
As for MSAA 8x, indeed not all drivers support it (Panfrost does not advertise this support for technical reasons, even though the hardware is capable of it). Would be nice to get that fixed as well but I don't think that blocks this change set (fixing the invalid shading language under ES3.1, which is orthogonal to fixing the sample count detection on any GL/ES). |
(Did I miss why this is only draft? It looks good to me, with my graphics driver eyes and not necessarily my Dolphin eyes.) |
There's 3 parts that I'm not completely happy with:
But most of these are small things that should be easy to fix, and not a problem with the main idea behind the PR. |
674690b
to
4430ca3
Compare
|
Oh, I never addressed this, but I'll be adding the |
|
Thanks so much for this change, finally got this branch building and running from EmulationStation on the Orange Pi 5 Ubuntu branch, I've posted a brief write-up for others to follow using that distribution with RetroPie until this gets merged. Joshua-Riek/ubuntu-rockchip#103 |
…reStorageMultisample bSupports2DTextureStorageMultisample is completely unused, while bSupports3DTextureStorageMultisample is practically unused. In the past, these were checked and fell back to sampler2DMS instead of sampler2DMSArray on GLES 3.1, but this path was removed in f039149 and Dolphin always uses array textures now.
4430ca3
to
8b0bd31
Compare
|
PR is both I know I have no authority to approve PRs in Dolphin but approving this one! |
|
@Pokechu22 What's the status here? |
|
Both this and #11699 should be good to go (the latter could use another review for the most recent commits). |
See https://bugs.dolphin-emu.org/issues/13198 (where I wrote a bit about the history of the relevant dolphin code, and
sampler2DMSArrayin the GLES specs (though I haven't checked the main GL specs)) / https://gitlab.freedesktop.org/mesa/mesa/-/issues/8405. This change is untested, and the way we handle enabling extensions is a bit of a mess.I'm also not sure if we should be disabling MSAA in some other way. Currently we say it's always enabled for ES 3.1 and ES 3.2, which seems odd. (Relatedly, though we check the max samples, we don't use that value and instead hardcode a list of them, though this might be related to needing an active context?)
Currently we don't check for support for multisample storage in OGLTexture (though I believe that existed in the past):
dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp
Lines 130 to 144 in 560a239