About Multi-GPU Configuration, I found some descriptions,
<i.MX 8QuadMax Applications Processor Reference Manual> Section 16.1.1.1 GPU,
Since the GPU sub-systems are identical, the GPU cores have the ability to hookup to one another and form a single graphics engine. At start-up, the choice can be made to enable the GPUs to act as a single engine (one 16 shader GPU) or work independently (two 8 shader GPUs).
<i.MX Graphics User's Guide> Section 8.2 Multi-GPU configurations,
Vivante Multi-GPU IP may be configured into one of the following behavior model through software:
• Combined Mode where two (or more) GPU cores in the multi-GPU design behave in concert. Driver presents multi-GPU to SW application as a single logical GPU. The multiple GPUs work in the same virtual address space and share the same MMU page table. The multiple GPUs fetch and execute a shared Command Buffer.
• Independent Mode where each GPU in the multi-GPU design performs independently. The multiple GPUs work in different virtual address spaces but share the same MMU page table. Each GPU core fetches and executes its own Command Buffer. This enables different SW applications to run simultaneously on different GPU cores.
Both documents says multi-GPU can be configured to Combined Mode or Independent Mode. But I haven’t found any description about how to configured it.
<i.MX Graphics User's Guide> Section 8.3 describes “VIV_MGPU_AFFINITY is the environment variable to control the application GPU affinity on multi-GPU platform.” And I am very confused where to set this environment variable, in build environment, in u-boot or Linux runtime environment? And how does this environment variable get work?