Giter Site home page Giter Site logo

hello-chromeos-gles2's People

Contributors

blu avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

hello-chromeos-gles2's Issues

Build issues in branch 'phase_two' and 'fullscreen'

Missing file: linux/protocol-dmabuf.c
Code:

chronos@localhost ~/Downloads/misc/hello-chromeos-gles2 $ ./build_chromeos_sphere_multi.sh 
./clang++.sh -o test_egl_sphere_multi -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -Wreturn-type -Wunused-variable -Wunused-value -Wno-incompatible-function-pointer-types -DPLATFORM_EGL -DPLATFORM_GLES -DPLATFORM_GL_OES_vertex_array_object -DPLATFORM_GL_KHR_debug -I./khronos -I./libdrm -I./protocol -march=native -mtune=native -ffast-math -funroll-loops -O3 -DNDEBUG -x c++ main_chromeos.cpp app_sphere_multi.cpp util_tex.cpp util_file.cpp util_misc.cpp -x c protocol/linux-dmabuf-protocol.c egl_ext.c gles_ext.c -fuse-ld=lld -lwayland-client -lrt -ldl -lEGL -lGLESv2
clang-6.0: error: no such file or directory: 'protocol/linux-dmabuf-protocol.c'
chronos@localhost ~/Downloads/misc/hello-chromeos-gles2 $ 

Same issue in both branches.

Mali system crash on frameloop termination

On Mali Midgard T860 platforms (RK3399) terminating the frameloop produces a what appears to be a kernel crash, followed by a system restart.

egl version, vendor, extensions:
        1.4 Midgard-"r22p0-01rel0"
        ARM
        ...

gl version, vendor, renderer, glsl version, extensions:
        OpenGL ES 3.1 v1.r22p0-01rel0.e7480ede12f1b3abcc83236b8600f7b3
        ARM
        Mali-T860
        OpenGL ES GLSL ES 3.10

Scenarios that result in the crash:

  • Termination of wl_display_dispatch frame loop
  • Change of window foreground status -- e.g. switching to another app.

Scenarios that don't result in the crash:

  • After the last valid frame, app stays on foreground and redraw continues to invalidate the wayland surface, but without invoking app's render_frame, so that last two frames alternate ad infinitum.
  • No wl_surface is committed and no wl_display_dispatch is invoked.

Behaviour reproducible on R69-stable.

Can't get this working in newer ChromeOS

On M86:

sudo ./test_egl_sphere 
No protocol specified
No protocol specified
No protocol specified
No protocol specified
eglInitialize() failed
EGL error: EGL_NOT_INITIALIZED
Error initializing GLES

(also libwayland got replaced by mesa + wayland in chromebrew so the docs need updating.)

R70 performance issues

  1. The new alpha-blended + blurred shelf overlay in R70 kills the performance of underlying apps when blended on top of a 60fsp GLES app. R70 is the first revision where the shelf overlay is not just alpha-blended but is also blurred, so apparently this takes plenty of resources from the underlying app. As a workaround hide the shelf overlay when running 60fps GLES apps.

  2. The fence-sync scheme on redraw performs poorly under R70, resulting in frequent framerate stuttering; scheme disabled as of commit 55b1481.

Fatal build error

Not sure if this is just me, but the header file <bits/c++config.h> is missing. Help?

./clang++.sh -o test_egl_skinning -std=c++11 -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -Wreturn-type -Wunused-variable -Wunused-value -DPLATFORM_GLES -DPLATFORM_GL_OES_vertex_array_object -I./khronos -march=native -mtune=native -ffast-math -funroll-loops -O3 -DNDEBUG main_chromeos.cpp app_skinning.cpp rendSkeleton.cpp util_tex.cpp util_file.cpp util_misc.cpp gles_ext.cpp -fuse-ld=lld -lwayland-client -lrt -ldl -lEGL -lGLESv2 -lpng16
In file included from main_chromeos.cpp:7:
In file included from /usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/stdlib.h:36:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/cstdlib:41:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
In file included from app_skinning.cpp:15:
In file included from /usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/stdlib.h:36:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/cstdlib:41:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
In file included from rendSkeleton.cpp:3:
In file included from ./cmath_fix:13:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/cmath:41:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
In file included from util_tex.cpp:2:
In file included from /usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/stdlib.h:36:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/cstdlib:41:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
In file included from util_file.cpp:5:
In file included from /usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/stdlib.h:36:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/cstdlib:41:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.

In file included from util_misc.cpp:8:
In file included from /usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/stdlib.h:36:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../include/c++/8.2.0/cstdlib:41:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.