Reputation: 393
Is there any documentations what commands/data can CPU send to GPU to perform operations? I mean operations similar to those in VGA standard. Have drivers programmers to do reverse engineering of MS drivers to know how to 'talk' with GPU?
Upvotes: 1
Views: 319
Reputation: 1244
Is there any documentations what commands/data can CPU send to GPU to perform operations?
Yes, some video hardware manufacturers has made the specifications of their GPUs public. For example AMD and Intel did.
Have drivers programmers to do reverse engineering of MS drivers to know how to 'talk' with GPU?
Yes, the nouveau is an example of that. It is an open source driver for NVidia video cards, created by reverse engineering the proprietary NVidia drivers for Linux. The limadriver is an open source driver for ARM's Mali GPUs and freedreno is the same for Qualcomm's Adreno.
Many video cards provide the Video Electronics Standards Association (VESA) standard interface which exposes some basic functionalities as setting graphical modes and providing access to linear frame buffer. Each video hardware manufacturer provides their own implementation which is called VESA Bios Extension (VBE). Following are resources for VESA programming:
Upvotes: 2