-
Notifications
You must be signed in to change notification settings - Fork 17
Home
Qiang Yu edited this page May 13, 2018
·
35 revisions
Be able to run the following OGL application:
- off-screen rendering
- simple triangle: https://github.com/yuq/gfx/tree/master/gbm-surface
- vertex shader uniform: https://github.com/yuq/gfx/tree/master/gbm-surface-move
- multi varying: https://github.com/yuq/gfx/tree/master/gbm-surface-color
- multi draw: https://github.com/yuq/gfx/tree/master/gbm-surface-draw
- FBO: https://github.com/yuq/gfx/tree/master/gbm-surface-fbo
-
kmscube: https://github.com/yuq/kmscube
- ./kmscube -d -D /dev/dri/renderD128
- ./kmscube -d -D /dev/dri/renderD128 -M rgba
- on-screen rendering
- PRIME export/import: https://github.com/enunes/mesa-test-programs/blob/master/gbm-bo-test.c
- renderonly lib: https://github.com/enunes/mesa-test-programs/blob/master/eglkms.c
-
kmscube: https://cgit.freedesktop.org/mesa/kmscube/
- ./kmscube
- ./kmscube -M rgba
- ./kmscube -A
-
glmark2: https://github.com/glmark2/glmark2
- glmark2-drm -b build
- glmark2-es2-drm -b build
- Mali400
- Allwinner A20/H3
- Rockchip RK3188
- Exynos 4412
- Mali450
- Allwinner H5
- Rockchip RK3328
- Amlogic S905X
- build Linux kernel with lima driver from: https://github.com/yuq/linux-lima
- build mesa with lima driver by:
./configure --with-gallium-drivers=exynos,sun4i,meson,rockchip,lima --with-dri-drivers= \
--with-platforms=drm,x11 --disable-xvmc --disable-vdpau --enable-debug
For those who want to use buildroot: https://github.com/enunes/buildroot-external-lima
meson metadata with lima driver and test apps: https://github.com/superna9999/meta-meson/tree/topic/mesa-lima
- dump the runtime close source mali driver memory for reverse engineering
- Newly refined GP compiler needs optimization, code size can be ~40% smaller compared to close source driver output, main problem should be creating too many moves but too few reg load/store
- PP compiler optimization, add post scheduler instruction combination which combine multi instructions into one instruction
- both GP and PP compiler need control flow and other un-implemented instruction support
- texture mipmap support
- Build a piglit test result list so that we can start clear them one by one.
- New mesa NIR changes will always lower io/alu to scalar which is not expected by PP, need merge scalar back to vector or create a PIPE_CAP to disable it, see
- Tiled texture format support
- optimization
- thread rendering that has dedicated render thread to submit command
- Power management
- TTM buffer eviction/swap support, need to investigate if GP/PP support MMU fault recovery
- Dump buffer support
- GP compiler needs re-fine so that we can guarantee the vertex shader compilation succeed, Connor Abbott think out a new algorithm which should work
- Mesa renderonly lib support
- multi varying support, current implementation assumes we only have a single varying (gl_Position), command stream setup need be implemented for multi varying support
- command stream setup for multi draw, flush at once
- Mali450 initial support
- PP uniform support, command stream need be setup for PP uniform
- fix render fail when buffer is 800x600, maybe due to buffer alignment or command stream setup
- break the ABI come from libdrm_lima which is integrated into mesa for more efficiency especially the command submit interface
- texture support, both PP compiler and command stream need be changed
- command stream setup refine for multi FBO and dynamic buffer size
- Mali450 fully support
- EGL_ANDROID_native_fence_sync support
- PRIME export support
- Mali450 initial support
- New task scheduler which can create a per OGL context fence context. We can use the new drm_sched which is from amdgpu and will be adopted by etnaviv too. drm_sched should be in Linux kernel 4.16.
- New memory management for non-continuous buffer object
- Different GPU mCLK frequency setup, current GPU mCLK frequency is the default frequency when system boot, but GPU should be able to run on a higher frequency.
- Mali450 fully support, include multi group GP/PP, DLBU
- submit support syn fd dep
- use TTM as MM