Currently, only two fields in one register are accessed, as proof of concept:
Number of slices present (3)
Number of QPU's per slice (4)
Reading these values has been added to program detectPlatform, as examples of how to access the register map.
The ability to access the VideoCore registers makes an enormous amount of functionality accessible. See the VideoCore Reference, page 82 for a full list of registers we can now manipulate.
For example, we can now read out the performance counters, which will be useful in further optimizing the generated VideoCore code. This is something I want to enable in the not too distant future.
From now on, other registers can be added as we go.
This adds class
RegisterMap
toLib/VideoCore
.Currently, only two fields in one register are accessed, as proof of concept:
Reading these values has been added to program
detectPlatform
, as examples of how to access the register map.The ability to access the
VideoCore
registers makes an enormous amount of functionality accessible. See the VideoCore Reference, page 82 for a full list of registers we can now manipulate.For example, we can now read out the performance counters, which will be useful in further optimizing the generated
VideoCore
code. This is something I want to enable in the not too distant future.From now on, other registers can be added as we go.