Putting this in a separate post from this one.
viewtopic.php?f=9&t=584&p=4419&hilit=openvg#p4419
This is the sort of thing I want to be able to do in Ultibo
https://www.youtube.com/watch?v=kR9jrwVGI58
Explanation of it
http://www.embedded.com/print/4410726
It started with page 12 of the manual which indicates anti aliasing was done in hardware.
allows 4x multisample antialiasing to be used with little penalty in
performance or memory consumption.
Anyone doing GUI, diagonal line drawing etc this would be really useful.
Came across something that said the rendering 3D stuff did not go via mailbox.
Section 8 of the VC manual explains the CLE ( Control List Executer) which takes the primitive draw command lists put into memory by the ARM.
These lists then are executed by the VC4.
No OpenVG or EGL commands, just commands lists that draw the primitives.
Page 63
Each pipeline can operate in one of three major modes:
• GL mode, in which vertex shading is employed
• NV mode, without vertex shading, using pre-shaded vertices stored in memory
• VG mode, where vertices are supplied directly from the input primitive list as XY coordinates only.
The VG mode, looks to be quite simple, just a list of x,y coordinates.
Page 65
A special VG primitive list format is also supported, consisting of immediate XY coordinate data,
either as an indirect list or as an in-line escape-terminated list. There is also a compressed format for primitives
embedded in-line within tile lists, which is the format produced by the PTB. This format has escapes to
terminate the list, and branches to allow lists to be efficiently chained from several memory blocks.
VG is Control code 41 - page 68. tiny more detail on page 72.
This is the Raspbian VC4 OpenVG example, is it of use?
https://github.com/raspberrypi/firmware ... ello_tiger
Is understanding the OpenVG/EGL stuff going to be of any use if there is another layer buried in the start.elf?
Disassemble egl.so?
Has anyone done baremetal VG on the VC4?
Harder to do 3D but it would use the same CLE method? Anyone done that either?
Google time, pretty sure bandaids will be needed.
That old Symbian source code is hard to figure out, got 500MB+ and I think it is in a folder in there somewhere.
Reverse engineering the VC4 VG instructions?
Is this bit of the Videocore 4 propriety?
With the Control List Executer/Command codes etc in the manual I would think this part has no secrets.
Does not seem to be much out there
https://www.raspberrypi.org/forums/viewtopic.php?t=7090
https://www.raspberrypi.org/forums/view ... 67&t=66313
Back to the sticky now that i know what to look for.
https://www.raspberrypi.org/forums/view ... 72&t=72260
Looks like Peter Lemon has a clue
https://github.com/PeterLemon/Raspberry ... master/V3D
Or maybe not, this has VG as code 42/43, not 41/42 as in the manual, which is correct?
https://github.com/PeterLemon/Raspberry ... L_LIST.INC
A lot of this is setting up the VC4/V3D which had been done in Ultibo
https://github.com/PeterLemon/Raspberry ... _Color/LIB
CLE is setup with this? This is already done in Ultibo?
https://github.com/PeterLemon/Raspberry ... IB/V3D.INC
Looks like this is the place to start and maybe finish for clues to msaa vg graphics in Ultibo

Time to fire a Pi with Raspbian and start Fasmarming, see if it works then post to pascal.
RHT(curves?) and triangles
https://github.com/PeterLemon/Raspberry ... nate_Array
Hey, if Peter's code is assembler then inline in Ultibo?
Is it my imagination, does this look simple?
Setting the list up and then just ldi tlbc?
Those nop's are just pipeline flushing according to the video.
a
Code: Select all
lign 16 ; 128-Bit Align
FRAGMENT_SHADER_CODE:
; Fill Color Shader
dw $009E7000 ;
dw $100009E7 ; nop; nop; nop
dw $FFFFFFFF ; RGBA White
dw $E0020BA7 ; ldi tlbc, $FFFFFFFF
dw $009E7000 ;
dw $500009E7 ; nop; nop; sbdone
dw $009E7000 ;
dw $300009E7 ; nop; nop; thrend
dw $009E7000 ;
dw $100009E7 ; nop; nop; nop
dw $009E7000 ;
dw $100009E7 ; nop; nop; nop
Peter stuff has link to Dex
https://github.com/PeterLemon/RaspberryPi
http://dex-os.github.io/DexBasic/DexBasic.htm
Dex-OS with Dexbasic on a Pi one day?
Still only got serial and GPIO at the moment, but now Basic baremetal for Pi's?
Brain hurt's, try another day.
Hang on, there are kernel.bins, ok maybe tomorrow

USB boot testing on a Zero of Peter's asm kernels
