Skip to content
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

Fix issues in OpenGL backend #5545

Merged
merged 22 commits into from
Jan 9, 2021
Merged

Fix issues in OpenGL backend #5545

merged 22 commits into from
Jan 9, 2021

Conversation

xndcn
Copy link
Contributor

@xndcn xndcn commented Dec 10, 2020

Fix some issues in OpenGL backend.

Fixes #4885
Fixes #4937

OpenGL relies on the correct order of kernel args,
so we can only sort the args on non-OpenGL target.
OpenGL runtime will use raw type pointer to retrieve the uniform value in
kernel args, so we have to use C-style type definition instead of GLSL-style.

See also halide#4702
GL 2.x does not support uint/uvec and only a subset
of builtin functions support int/ivec arguments.
Besides, GLES does not define round of integer division.
VAO (vertex array object) must be bind before
vertex attribute array is enabled or disabled.
Bypass integer division temporarily since the latest version is
far more complicated to list.
@xndcn
Copy link
Contributor Author

xndcn commented Dec 10, 2020

Now all 20 OpenGL tests passed. Tested under Mac and Linux.

@steven-johnson
Copy link
Contributor

LGTM pending green tests at #5550

@alexreinking
Copy link
Member

alexreinking commented Dec 11, 2020

Will this fix #4937 (the glsl app)? https://github.com/halide/Halide/tree/master/apps/glsl

@xndcn
Copy link
Contributor Author

xndcn commented Dec 12, 2020

Will this fix #4937 (the glsl app)? https://github.com/halide/Halide/tree/master/apps/glsl

Tested under linux, and it (apps/glsl) looks good.

@alexreinking
Copy link
Member

Will this fix #4937 (the glsl app)? https://github.com/halide/Halide/tree/master/apps/glsl

Tested under linux, and it (apps/glsl) looks good.

That's great! Would you please enable the app in apps/CMakeLists.txt?

@steven-johnson
Copy link
Contributor

Waiting for the CMake update for apps/glsl; once that's in place, will re-run tests, and land if all good

@xndcn
Copy link
Contributor Author

xndcn commented Dec 15, 2020

Waiting for the CMake update for apps/glsl; once that's in place, will re-run tests, and land if all good

Sorry for my late...
Have updated CMake for apps/glsl

@steven-johnson
Copy link
Contributor

#5564

@steven-johnson
Copy link
Contributor

Note that apps/opengl_test is failing because it apparently requires X11 to be functional, which isn't the case on our buildbots

@alexreinking
Copy link
Member

apps/opengl_test

Do you mean apps/opengl_demo? or apps/glsl?

Comment on lines 140 to 144
if (type.bits() == 32) {
result = Int(32);
} else {
result = Float(32);
}
Copy link
Member

Choose a reason for hiding this comment

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

I'm trying to understand this case. Why is it valid to compile a uint to a signed int or float? Should there be a warning here that the users' requested type isn't being honored?

Copy link
Contributor

Choose a reason for hiding this comment

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

apps/opengl_test

Do you mean apps/opengl_demo? or apps/glsl?

https://buildbot.halide-lang.org/master/#/builders/25/builds/6

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@alexreinking Basically these code around support_native_uint exists before commit #60442cf9
Sorry I forgot the comments and have add those back. The idea about represent uint by int seems a compromise and may result in overflows and undefined behavior

src/CodeGen_OpenGL_Dev.cpp Outdated Show resolved Hide resolved
@xndcn
Copy link
Contributor Author

xndcn commented Dec 16, 2020

Note that apps/opengl_test is failing because it apparently requires X11 to be functional, which isn't the case on our buildbots

It may be fixed to ignore the X11 library in MacOS and try to use the EGL feature in Linux to avoid the "Could not open X11 display" error in Buildbot headless environment.
I'm try to fix it and will update later.

Basically these code and comments around `support_native_uint` and
`support_non_float_type_builtin` exist before commit #60442cf9
Comment on lines 346 to 354
if (NOT "${ARGN}" MATCHES "egl" AND NOT TARGET X11::X11)
find_package(X11)
if (NOT X11_FOUND)
message(AUTHOR_WARNING "X11 dependency not found on system.")
endif ()
endif ()
target_link_libraries(${TARGET} ${VISIBILITY} X11::X11)
if (X11_FOUND)
target_link_libraries(${TARGET} ${VISIBILITY} X11::X11)
endif ()
Copy link
Member

Choose a reason for hiding this comment

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

This is wrong. X11_FOUND is set as a cache variable so X11 will be linked to every target after the first one loads X11 (or if it is loaded previously). I think this is what you meant (it seems you intended to link X11 only if "egl" is not in the target)

if (NOT "${ARGN}" MATCHES "egl")
    if (NOT TARGET X11::X11)
        find_package(X11 REQUIRED)
        if (NOT X11_FOUND)
            message(AUTHOR_WARNING "X11 dependency not found on system.")
        endif ()
    endif ()
    target_link_libraries(${TARGET} ${VISIBILITY} X11::X11)
endif ()

cmake/HalideGeneratorHelpers.cmake Outdated Show resolved Hide resolved
apps/glsl/CMakeLists.txt Outdated Show resolved Hide resolved
@xndcn
Copy link
Contributor Author

xndcn commented Dec 17, 2020

@alexreinking Thanks!

@xndcn
Copy link
Contributor Author

xndcn commented Dec 17, 2020

@alexreinking I remembered that MacOS did not have EGL but didn't need X11 linking either. Should I add if ("${ARGN}" MATCHES "linux") around the X11 dependency?

@alexreinking
Copy link
Member

@alexreinking I remembered that MacOS did not have EGL but didn't need X11 linking either. Should I add if ("${ARGN}" MATCHES "linux") around the X11 dependency?

Nah, if a user requests EGL on macOS it should blow up. If you want, you can use that check to produce an AUTHOR_WARNING.

@xndcn
Copy link
Contributor Author

xndcn commented Dec 17, 2020

@alexreinking I remembered that MacOS did not have EGL but didn't need X11 linking either. Should I add if ("${ARGN}" MATCHES "linux") around the X11 dependency?

Nah, if a user requests EGL on macOS it should blow up. If you want, you can use that check to produce an AUTHOR_WARNING.

Not that issue. I mean, on macOS it does not use EGL feature and the generator will fail to link X11 library. Should we add runtime checking around the X11 in CMake?
It also happens in osx-testbench of Buildbot:
x11.png

@steven-johnson
Copy link
Contributor

Looks like this is still failing on OSX with "X11 not found", see https://buildbot.halide-lang.org/master/#/builders/33/builds/72

@alexreinking
Copy link
Member

alexreinking commented Jan 6, 2021

Not that issue. I mean, on macOS it does not use EGL feature and the generator will fail to link X11 library. Should we add runtime checking around the X11 in CMake?

Yeah, then go ahead and add "if linux" around that dependency. I guess I'm not totally clear when libX11 is needed?

@xndcn
Copy link
Contributor Author

xndcn commented Jan 7, 2021

Add "if linux" around the X11 dependency.

@xndcn
Copy link
Contributor Author

xndcn commented Jan 7, 2021

@alexreinking It seems that Linux will use GLX as OpenGL library which need libX11, while EGL or other platforms don't need it.

@alexreinking
Copy link
Member

alexreinking commented Jan 7, 2021

@xndcn - Turns out that if (... MATCHES "linux") doesn't work when the target is host-opengl and the host is Linux.

@alexreinking
Copy link
Member

alexreinking commented Jan 7, 2021

Okay there's a bunch of stuff I learned by trying to run this locally.

  • The FindOpenGL module is weird and we shouldn't use OPTIONAL_COMPONENTS with it.
  • It is possible to have "found" EGL even if libOpenGL is not found. But this will never work.
  • If the user wants EGL we should assume Linux because EGL is Linux-only.
  • EGL requires the GLVND libraries, so we should link to OpenGL::OpenGL and OpenGL::EGL
  • If the user does not ask for EGL, use OpenGL::GL for portability.
  • Need to install libglvnd-dev, libopengl-dev, and libegl-dev to use EGL.

@alexreinking
Copy link
Member

@xndcn - I reworked the CMake stuff a bit and pushed to your branch, just so you know.

@alexreinking
Copy link
Member

@xndcn - I added code to load libEGL.so in the JIT module so that AOT targets like host-cuda don't break when detecting CUDA capability.

@steven-johnson
Copy link
Contributor

Build finally green, landing

@alexreinking alexreinking merged commit 2e5f1e0 into halide:master Jan 9, 2021
@alexreinking
Copy link
Member

alexreinking commented Feb 8, 2021

@xndcn - we're having issues on our newer buildbots where EGL is getting the wrong default display. Basically, it's picking the GBM platform instead of the NVidia device platform. It's looking for a pbuffer-enabled surface, but only "win" is available through GBM. Any ideas how we can fix this?

It grabs the wrong display here:

EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);

And fails to find the configuration here:

EGLint attribs[] = {
EGL_SURFACE_TYPE,
EGL_PBUFFER_BIT,
EGL_RENDERABLE_TYPE,
EGL_OPENGL_ES2_BIT,
EGL_RED_SIZE,
8,
EGL_GREEN_SIZE,
8,
EGL_BLUE_SIZE,
8,
EGL_ALPHA_SIZE,
8,
EGL_NONE,
};
EGLConfig config;
int numconfig;
EGLBoolean result = eglChooseConfig(display, attribs, &config, 1, &numconfig);
if (result != EGL_TRUE || numconfig != 1) {
error(user_context) << "eglChooseConfig(): config not found: "
<< " result=" << (int)result
<< " eglGetError=" << eglGetError()
<< " numConfig=" << numconfig;
return -1;
}

Here's the eglinfo output from the bot:

$ eglinfo 
EGL client extensions string:
    EGL_EXT_platform_base EGL_EXT_device_base EGL_EXT_device_enumeration
    EGL_EXT_device_query EGL_KHR_client_get_all_proc_addresses
    EGL_EXT_client_extensions EGL_KHR_debug EGL_KHR_platform_x11
    EGL_EXT_platform_x11 EGL_EXT_platform_device EGL_EXT_platform_wayland
    EGL_KHR_platform_wayland EGL_MESA_platform_gbm EGL_KHR_platform_gbm
    EGL_MESA_platform_surfaceless

GBM platform:
EGL API version: 1.4
EGL vendor string: Mesa Project
EGL version string: 1.4
EGL client APIs: OpenGL OpenGL_ES 
EGL extensions string:
    EGL_ANDROID_blob_cache EGL_EXT_buffer_age
    EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers
    EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context
    EGL_KHR_create_context_no_error EGL_KHR_fence_sync
    EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
    EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
    EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
    EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
    EGL_KHR_no_config_context EGL_KHR_reusable_sync
    EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
    EGL_KHR_wait_sync EGL_MESA_configless_context
    EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x01 32  0 10 10 10  2  0  0  0 0 0x30335241--         y  y  y     win
0x02 32  0 10 10 10  2 16  0  0 0 0x30335241--         y  y  y     win
0x03 32  0 10 10 10  2 24  0  0 0 0x30335241--         y  y  y     win
0x04 32  0 10 10 10  2 24  8  0 0 0x30335241--         y  y  y     win
0x05 32  0 10 10 10  2 32  0  0 0 0x30335241--         y  y  y     win
0x06 32  0 10 10 10  2  0  0  4 1 0x30335241--         y  y  y     win
0x07 32  0 10 10 10  2 16  0  4 1 0x30335241--         y  y  y     win
0x08 32  0 10 10 10  2 24  0  4 1 0x30335241--         y  y  y     win
0x09 32  0 10 10 10  2 24  8  4 1 0x30335241--         y  y  y     win
0x0a 32  0 10 10 10  2 32  0  4 1 0x30335241--         y  y  y     win
0x0b 30  0 10 10 10  0  0  0  0 0 0x30335258--         y  y  y     win
0x0c 30  0 10 10 10  0 16  0  0 0 0x30335258--         y  y  y     win
0x0d 30  0 10 10 10  0 24  0  0 0 0x30335258--         y  y  y     win
0x0e 30  0 10 10 10  0 24  8  0 0 0x30335258--         y  y  y     win
0x0f 30  0 10 10 10  0 32  0  0 0 0x30335258--         y  y  y     win
0x10 30  0 10 10 10  0  0  0  4 1 0x30335258--         y  y  y     win
0x11 30  0 10 10 10  0 16  0  4 1 0x30335258--         y  y  y     win
0x12 30  0 10 10 10  0 24  0  4 1 0x30335258--         y  y  y     win
0x13 30  0 10 10 10  0 24  8  4 1 0x30335258--         y  y  y     win
0x14 30  0 10 10 10  0 32  0  4 1 0x30335258--         y  y  y     win
0x15 32  0  8  8  8  8  0  0  0 0 0x34325241--         y  y  y     win
0x16 32  0  8  8  8  8 16  0  0 0 0x34325241--         y  y  y     win
0x17 32  0  8  8  8  8 24  0  0 0 0x34325241--         y  y  y     win
0x18 32  0  8  8  8  8 24  8  0 0 0x34325241--         y  y  y     win
0x19 32  0  8  8  8  8 32  0  0 0 0x34325241--         y  y  y     win
0x1a 32  0  8  8  8  8  0  0  4 1 0x34325241--         y  y  y     win
0x1b 32  0  8  8  8  8 16  0  4 1 0x34325241--         y  y  y     win
0x1c 32  0  8  8  8  8 24  0  4 1 0x34325241--         y  y  y     win
0x1d 32  0  8  8  8  8 24  8  4 1 0x34325241--         y  y  y     win
0x1e 32  0  8  8  8  8 32  0  4 1 0x34325241--         y  y  y     win
0x1f 24  0  8  8  8  0  0  0  0 0 0x34325258--         y  y  y     win
0x20 24  0  8  8  8  0 16  0  0 0 0x34325258--         y  y  y     win
0x21 24  0  8  8  8  0 24  0  0 0 0x34325258--         y  y  y     win
0x22 24  0  8  8  8  0 24  8  0 0 0x34325258--         y  y  y     win
0x23 24  0  8  8  8  0 32  0  0 0 0x34325258--         y  y  y     win
0x24 24  0  8  8  8  0  0  0  4 1 0x34325258--         y  y  y     win
0x25 24  0  8  8  8  0 16  0  4 1 0x34325258--         y  y  y     win
0x26 24  0  8  8  8  0 24  0  4 1 0x34325258--         y  y  y     win
0x27 24  0  8  8  8  0 24  8  4 1 0x34325258--         y  y  y     win
0x28 24  0  8  8  8  0 32  0  4 1 0x34325258--         y  y  y     win
0x29 16  0  5  6  5  0  0  0  0 0 0x36314752--         y  y  y     win
0x2a 16  0  5  6  5  0 16  0  0 0 0x36314752--         y  y  y     win
0x2b 16  0  5  6  5  0 24  0  0 0 0x36314752--         y  y  y     win
0x2c 16  0  5  6  5  0 24  8  0 0 0x36314752--         y  y  y     win
0x2d 16  0  5  6  5  0 32  0  0 0 0x36314752--         y  y  y     win
0x2e 16  0  5  6  5  0  0  0  4 1 0x36314752--         y  y  y     win
0x2f 16  0  5  6  5  0 16  0  4 1 0x36314752--         y  y  y     win
0x30 16  0  5  6  5  0 24  0  4 1 0x36314752--         y  y  y     win
0x31 16  0  5  6  5  0 24  8  4 1 0x36314752--         y  y  y     win
0x32 16  0  5  6  5  0 32  0  4 1 0x36314752--         y  y  y     win

Wayland platform:
eglinfo: eglInitialize failed

X11 platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
EGL extensions string:
    EGL_EXT_create_context_robustness EGL_KHR_cl_event2
    EGL_KHR_config_attribs EGL_KHR_context_flush_control
    EGL_KHR_create_context EGL_KHR_create_context_no_error
    EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses
    EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
    EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base
    EGL_KHR_no_config_context EGL_KHR_reusable_sync
    EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
    EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image
    EGL_MESA_query_driver
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x01 32  0  8  8  8  8  0  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x02 32  0  8  8  8  8 16  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x03 32  0  8  8  8  8 24  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x04 32  0  8  8  8  8 24  8  0 0 0x21TC      a  y  y  y     win,pb,pix
0x05 32  0  8  8  8  8 32  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x06 32  0  8  8  8  8  0  0  4 1 0x21TC      a  y  y  y     win,pix
0x07 32  0  8  8  8  8 16  0  4 1 0x21TC      a  y  y  y     win,pix
0x08 32  0  8  8  8  8 24  0  4 1 0x21TC      a  y  y  y     win,pix
0x09 32  0  8  8  8  8 24  8  4 1 0x21TC      a  y  y  y     win,pix
0x0a 32  0  8  8  8  8 32  0  4 1 0x21TC      a  y  y  y     win,pix
0x0b 24  0  8  8  8  0  0  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0c 24  0  8  8  8  0 16  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0d 24  0  8  8  8  0 24  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0e 24  0  8  8  8  0 24  8  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0f 24  0  8  8  8  0 32  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x10 24  0  8  8  8  0  0  0  4 1 0x21TC      y  y  y  y     win,pix
0x11 24  0  8  8  8  0 16  0  4 1 0x21TC      y  y  y  y     win,pix
0x12 24  0  8  8  8  0 24  0  4 1 0x21TC      y  y  y  y     win,pix
0x13 24  0  8  8  8  0 24  8  4 1 0x21TC      y  y  y  y     win,pix
0x14 24  0  8  8  8  0 32  0  4 1 0x21TC      y  y  y  y     win,pix
0x15 32  0  8  8  8  8  0  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x16 32  0  8  8  8  8 16  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x17 32  0  8  8  8  8 24  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x18 32  0  8  8  8  8 24  8  0 0 0x22DC      a  y  y  y     win,pb,pix
0x19 32  0  8  8  8  8 32  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x1a 32  0  8  8  8  8  0  0  4 1 0x22DC      a  y  y  y     win,pix
0x1b 32  0  8  8  8  8 16  0  4 1 0x22DC      a  y  y  y     win,pix
0x1c 32  0  8  8  8  8 24  0  4 1 0x22DC      a  y  y  y     win,pix
0x1d 32  0  8  8  8  8 24  8  4 1 0x22DC      a  y  y  y     win,pix
0x1e 32  0  8  8  8  8 32  0  4 1 0x22DC      a  y  y  y     win,pix
0x1f 24  0  8  8  8  0  0  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x20 24  0  8  8  8  0 16  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x21 24  0  8  8  8  0 24  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x22 24  0  8  8  8  0 24  8  0 0 0x22DC      y  y  y  y     win,pb,pix
0x23 24  0  8  8  8  0 32  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x24 24  0  8  8  8  0  0  0  4 1 0x22DC      y  y  y  y     win,pix
0x25 24  0  8  8  8  0 16  0  4 1 0x22DC      y  y  y  y     win,pix
0x26 24  0  8  8  8  0 24  0  4 1 0x22DC      y  y  y  y     win,pix
0x27 24  0  8  8  8  0 24  8  4 1 0x22DC      y  y  y  y     win,pix
0x28 24  0  8  8  8  0 32  0  4 1 0x22DC      y  y  y  y     win,pix

Device platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
EGL extensions string:
    EGL_EXT_buffer_age EGL_EXT_client_sync
    EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
    EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
    EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content
    EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode
    EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs
    EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
    EGL_KHR_create_context EGL_KHR_fence_sync
    EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
    EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
    EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
    EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base
    EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib
    EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd
    EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface
    EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync
    EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
    EGL_NV_stream_cross_display EGL_NV_stream_cross_object
    EGL_NV_stream_cross_process EGL_NV_stream_cross_system
    EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
    EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
    EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix
    EGL_NV_stream_sync EGL_NV_stream_fifo_next
    EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv
    EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time
    EGL_NV_output_drm_flip_event EGL_NV_triple_buffer
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x01 32  0  8  8  8  8 24  8  0 0 0x00--         y  y  y     pb,str
0x02 32  0  8  8  8  8 24  0  0 0 0x00--         y  y  y     pb,str
0x03 32  0  8  8  8  8  0  8  0 0 0x00--         y  y  y     pb,str
0x04 32  0  8  8  8  8  0  0  0 0 0x00--         y  y  y     pb,str
0x05 32  0  8  8  8  8 24  8  2 1 0x00--         y  y  y     pb,str
0x06 32  0  8  8  8  8 24  0  2 1 0x00--         y  y  y     pb,str
0x07 32  0  8  8  8  8  0  8  2 1 0x00--         y  y  y     pb,str
0x08 32  0  8  8  8  8  0  0  2 1 0x00--         y  y  y     pb,str
0x09 32  0  8  8  8  8 24  8  4 1 0x00--         y  y  y     pb,str
0x0a 32  0  8  8  8  8 24  8  4 1 0x00--         y  y  y     pb,str
0x0b 32  0  8  8  8  8 24  0  4 1 0x00--         y  y  y     pb,str
0x0c 32  0  8  8  8  8 24  0  4 1 0x00--         y  y  y     pb,str
0x0d 32  0  8  8  8  8  0  8  4 1 0x00--         y  y  y     pb,str
0x0e 32  0  8  8  8  8  0  8  4 1 0x00--         y  y  y     pb,str
0x0f 32  0  8  8  8  8  0  0  4 1 0x00--         y  y  y     pb,str
0x10 32  0  8  8  8  8  0  0  4 1 0x00--         y  y  y     pb,str
0x11 32  0  8  8  8  8 24  8  8 1 0x00--         y  y  y     pb,str
0x12 32  0  8  8  8  8 24  0  8 1 0x00--         y  y  y     pb,str
0x13 32  0  8  8  8  8  0  8  8 1 0x00--         y  y  y     pb,str
0x14 32  0  8  8  8  8  0  0  8 1 0x00--         y  y  y     pb,str
0x15 24  0  8  8  8  0 24  8  0 0 0x00--         y  y  y     pb,str
0x16 24  0  8  8  8  0 24  0  0 0 0x00--         y  y  y     pb,str
0x17 24  0  8  8  8  0  0  8  0 0 0x00--         y  y  y     pb,str
0x18 24  0  8  8  8  0  0  0  0 0 0x00--         y  y  y     pb,str
0x19 24  0  8  8  8  0 24  8  2 1 0x00--         y  y  y     pb,str
0x1a 24  0  8  8  8  0 24  0  2 1 0x00--         y  y  y     pb,str
0x1b 24  0  8  8  8  0  0  8  2 1 0x00--         y  y  y     pb,str
0x1c 24  0  8  8  8  0  0  0  2 1 0x00--         y  y  y     pb,str
0x1d 24  0  8  8  8  0 24  8  4 1 0x00--         y  y  y     pb,str
0x1e 24  0  8  8  8  0 24  8  4 1 0x00--         y  y  y     pb,str
0x1f 24  0  8  8  8  0 24  0  4 1 0x00--         y  y  y     pb,str
0x20 24  0  8  8  8  0 24  0  4 1 0x00--         y  y  y     pb,str
0x21 24  0  8  8  8  0  0  8  4 1 0x00--         y  y  y     pb,str
0x22 24  0  8  8  8  0  0  8  4 1 0x00--         y  y  y     pb,str
0x23 24  0  8  8  8  0  0  0  4 1 0x00--         y  y  y     pb,str
0x24 24  0  8  8  8  0  0  0  4 1 0x00--         y  y  y     pb,str
0x25 24  0  8  8  8  0 24  8  8 1 0x00--         y  y  y     pb,str
0x26 24  0  8  8  8  0 24  0  8 1 0x00--         y  y  y     pb,str
0x27 24  0  8  8  8  0  0  8  8 1 0x00--         y  y  y     pb,str
0x28 24  0  8  8  8  0  0  0  8 1 0x00--         y  y  y     pb,str
0x29 16  0  5  6  5  0 24  8  0 0 0x00--         y  y  y     pb,str
0x2a 16  0  5  6  5  0 24  0  0 0 0x00--         y  y  y     pb,str
0x2b 16  0  5  6  5  0 16  0  0 0 0x00--         y  y  y     pb,str
0x2c 16  0  5  6  5  0  0  8  0 0 0x00--         y  y  y     pb,str
0x2d 16  0  5  6  5  0  0  0  0 0 0x00--         y  y  y     pb,str
0x2e 16  0  5  6  5  0 24  8  2 1 0x00--         y  y  y     pb,str
0x2f 16  0  5  6  5  0 24  0  2 1 0x00--         y  y  y     pb,str
0x30 16  0  5  6  5  0 16  0  2 1 0x00--         y  y  y     pb,str
0x31 16  0  5  6  5  0  0  8  2 1 0x00--         y  y  y     pb,str
0x32 16  0  5  6  5  0  0  0  2 1 0x00--         y  y  y     pb,str
0x33 16  0  5  6  5  0 24  8  4 1 0x00--         y  y  y     pb,str
0x34 16  0  5  6  5  0 24  8  4 1 0x00--         y  y  y     pb,str
0x35 16  0  5  6  5  0 24  0  4 1 0x00--         y  y  y     pb,str
0x36 16  0  5  6  5  0 24  0  4 1 0x00--         y  y  y     pb,str
0x37 16  0  5  6  5  0 16  0  4 1 0x00--         y  y  y     pb,str
0x38 16  0  5  6  5  0 16  0  4 1 0x00--         y  y  y     pb,str
0x39 16  0  5  6  5  0  0  8  4 1 0x00--         y  y  y     pb,str
0x3a 16  0  5  6  5  0  0  8  4 1 0x00--         y  y  y     pb,str
0x3b 16  0  5  6  5  0  0  0  4 1 0x00--         y  y  y     pb,str
0x3c 16  0  5  6  5  0  0  0  4 1 0x00--         y  y  y     pb,str
0x3d 16  0  5  6  5  0 24  8  8 1 0x00--         y  y  y     pb,str
0x3e 16  0  5  6  5  0 24  0  8 1 0x00--         y  y  y     pb,str
0x3f 16  0  5  6  5  0 16  0  8 1 0x00--         y  y  y     pb,str
0x40 16  0  5  6  5  0  0  8  8 1 0x00--         y  y  y     pb,str
0x41 16  0  5  6  5  0  0  0  8 1 0x00--         y  y  y     pb,str

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.

GLSL app broken OpenGL tests all fail on macOS
3 participants