本发明涉及计算机,特别是涉及一种开机显示方法、一种开机显示装置、一种电子设备以及一种存储介质。
背景技术:
1、显卡可以用于输出显示图形,具有图形处理的功能,是电子计算机最重要的配件之一,显卡的核心部件是图形处理器(graphics processing unit,gpu)。
2、随着用户对显示要求的提高,目前单gpu还无法满足多屏4k输出,于是多gpu技术应运而生。而目前部分固件(如pmon)只支持单gpu,因此,对于启动固件为pmon或者gpu处理机制与pmon类似的固件的中央处理器,在固件运行的开机阶段无法实现多gpu的显示支持。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的开机显示方法,以使中央处理器在固件运行的开机阶段实现多gpu的显示支持。
2、相应的,本发明实施例还提供了一种开机显示装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
3、为了解决上述问题,本发明实施例公开了一种开机显示方法,包括:
4、对挂载的各个设备进行扫描,其中,所述各个设备包括至少两个图形处理器;
5、分别通过不同的结构体指针,记录每个所述图形处理器的设备信息;
6、根据每个所述图形处理器对应的结构体指针,对每个所述图形处理器分别进行初始化;
7、通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示。
8、可选地,所述根据每个所述图形处理器对应的结构体指针,对每个所述图形处理器分别进行初始化的步骤,包括:
9、按照图形处理器扫描顺序,将每个所述图形处理器对应的结构体指针分别作为调用参数,依次传递给图形处理器初始化接口函数,以通过所述图形处理器初始化接口函数对每个所述图形处理器分别进行初始化。
10、可选地,所述通过所述图形处理器初始化接口函数对每个所述图形处理器分别进行初始化的步骤,包括:
11、通过所述图形处理器初始化接口函数对第一图形处理器进行初始化,其中,所述第一图形处理器为所述至少两个图形处理器中第一个扫描到的图形处理器;
12、通过所述图形处理器初始化接口函数判断第二图形处理器对应的第二结构体指针是否为空,其中,所述第二图形处理器为所述至少两个图形处理器中除第一个扫描到的图形处理器之外其余图形处理器中的任一个;
13、当第二结构体指针不为空时,确定存在所述第二图形处理器,通过所述图形处理器初始化接口函数对存在的所述第二图形处理器进行初始化。
14、可选地,每个所述图形处理器对应的帧缓冲地址不同;所述通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示的步骤,包括:
15、每个所述图形处理器分别根据自身对应的帧缓冲地址,读取对应的开机显示数据;
16、每个所述图形处理器各自将获得的所述开机显示数据输出至自身关联的显示器进行显示。
17、可选地,在所述通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示之前,所述方法还包括:
18、修改显示相关的底层函数来操作第二图形处理器对应的帧缓冲地址,其中,所述第二图形处理器为所述至少两个图形处理器中除第一个扫描到的图形处理器之外其余图形处理器中的任一个。
19、可选地,每个所述图形处理器对应的帧缓冲地址相同;所述通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示的步骤,包括:
20、每个所述图形处理器根据帧缓冲地址,读取开机显示数据;
21、每个所述图形处理器各自将获得的所述开机显示数据输出至自身关联的显示器进行显示。
22、可选地,所述设备信息包括所述图形处理器对应的显示控制器信息以及向所述图形处理器所分配的资源。
23、本发明实施例还公开了一种开机显示装置,包括:
24、扫描模块,用于对挂载的各个设备进行扫描,其中,所述各个设备包括至少两个图形处理器;
25、记录模块,用于分别通过不同的结构体指针,记录每个所述图形处理器的设备信息;
26、初始化模块,用于根据每个所述图形处理器对应的结构体指针,对每个所述图形处理器分别进行初始化;
27、显示模块,用于通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示。
28、本发明实施例还公开了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
29、对挂载的各个设备进行扫描,其中,所述各个设备包括至少两个图形处理器;
30、分别通过不同的结构体指针,记录每个所述图形处理器的设备信息;
31、根据每个所述图形处理器对应的结构体指针,对每个所述图形处理器分别进行初始化;
32、通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示。
33、本发明实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本发明实施例中一个或多个所述的开机显示方法。
34、本发明实施例包括以下优点:
35、在本发明实施例中,首先,中央处理器可以对挂载的各个设备进行扫描,其中,各个设备包括至少两个图形处理器。然后,中央处理器可以分别通过不同的结构体指针,记录每个图形处理器的设备信息,也即除第一个扫描到的图形处理器之外的其他图形处理器的设备信息也可以被记录下来。之后,中央处理器可以根据每个图形处理器对应的结构体指针,对每个图形处理器分别进行初始化,即除了第一个扫描到的图形处理器之外,中央处理器也可以根据其他图形处理器的设备信息,对其他图形处理器进行初始化,从而使得其他图形处理器后续也可以进行正常工作。由于每个图形处理器都可以被初始化,因此,各个图形处理器均可以各自获取对应的开机显示数据,并将开机显示数据输出至与本图形处理器相关联的显示器进行显示,如此,中央处理器便可以在固件运行的开机阶段实现多图形处理器的显示支持。
1.一种开机显示方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据每个所述图形处理器对应的结构体指针,对每个所述图形处理器分别进行初始化的步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过所述图形处理器初始化接口函数对每个所述图形处理器分别进行初始化的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,每个所述图形处理器对应的帧缓冲地址不同;所述通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示的步骤,包括:
5.根据权利要求4所述的方法,其特征在于,在所述通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示之前,还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,每个所述图形处理器对应的帧缓冲地址相同;所述通过每个所述图形处理器各自获取对应的开机显示数据,并将所述开机显示数据输出至关联的显示器进行显示的步骤,包括:
7.根据权利要求1-5任一项所述的方法,其特征在于,所述设备信息包括所述图形处理器对应的显示控制器信息以及向所述图形处理器所分配的资源。
8.一种开机显示装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
10.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7中一个或多个所述的开机显示方法。