MightyCreak/mesamatrix

"all drivers that support XYZ" broken

Closed this issue · 6 comments

zmike commented

In cases where this string doesn't appear at the start of the line, e.g., GL_OES_tessellation_shader DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader), the drivers that support the dependency, in this case GL_ARB_tessellation_shader, are not parsed correctly.

zmike commented

It seems this is also broken for some other cases, such as GL_EXT_shader_group_vote, which says all drivers that support ARB_shader_group_vote, but then none of the drivers which support ARB_shader_group_vote show GL_EXT_shader_group_vote as implemented.

I'm sorry, but I don't see the parsing errors.

Here's what we have for GL_OES_tessellation_shader:

  • In features.txt:
    • GL_ARB_tessellation_shader supports: llvmpipe, swr, i965/gen7+, nvc0, r600, radeonsi, freedreno/a6xx, virgl, zink
    • GL_OES_tessellation_shader supports: llvmpipe, i965/gen9+, radeonsi, freedreno/a6xx, virgl, zink + everything GL_ARB_tessellation_shader supports, which makes:
      • llvmpipe, swr, i965/gen9+ (supersedes i965/gen7+), nvc0, r600, radeonsi, freedreno/a6xx, virgl, zink
  • In Mesamatrix.net:
    • GL_ARB_tessellation_shader supports: llvmpipe, swr, i965/gen7+, nvc0, r600, radeonsi, freedreno/a6xx, virgl, zink
    • GL_OES_tessellation_shader supports: llvmpipe, swr, i965/gen9+, nvc0, r600, radeonsi, freedreno/a6xx, virgl, zink

Here's what we have for GL_EXT_shader_group_vote:

  • In features.txt:
    • GL_ARB_shader_group_vote supports: llvmpipe, i965, nvc0, radeonsi, zink
    • GL_EXT_shader_group_vote supports: all drivers that support GL_ARB_shader_group_vote, so the list above.
  • In Mesamatrix.net:
    • GL_ARB_shader_group_vote supports: llvmpipe, i965, nvc0, radeonsi, zink
    • GL_EXT_shader_group_vote supports: llvmpipe, i965, nvc0, radeonsi, zink

This is what is expected, I think.

zmike commented

Things have changed over the past 6 months, and drivers have different support levels listed.

A current example would be GL_EXT_sRGB_write_control, which is listed as all drivers that support GLES 3.0+, but does not show support for any driver.

Yep, this was reported in #146

With the new PR #201 I made, I think most of the issues are gone (except the one with all drivers that support GLES 3.0+ because there is no GLES 3.0 in features.txt).

zmike commented

Oh great!

I think for #201 it would be enough to handle all drivers that support GLES 3.0+ as just being all drivers that support GLES 3.1+ until the explicit extensions get added for 3.0 (which is probably never since nobody is likely to care about something so old) since the list is probably similar enough.

Closing this one in favour of the more specific issue #146.