Good evening guys!
I'm currently trying to work with a Delphi pascal
translation of the ATI ADL
structure. In brief, this allows me to retrieve information from an ATI/AMD GPU in a system, and potentially control various aspects of it (such as clock and fan speeds).
The translation was taken from Delphi-Praxis (Google Translated) or Delphi-Praxis (not translated) and the provided example application works. I successfully transferred it over to a visual/GUI application, but i'm having trouble getting my head around expanding from the example. I wish to update one of my existing applications with support for ATI GPU's, but i'm having trouble.
My main purpose is to retrieve the strAdapterName
from AdapterInfo
inside adl_structures
. Having not worked with units like this from scratch before, i'm unsure how i define the type itself inside my application. The record structure of AdapterInfo
is as follows;
type
AdapterInfo = record
/// Size of the structure.
iSize : integer;
/// The ADL index handle. One GPU may be associated with one or two index handles
iAdapterIndex : integer;
/// The unique device ID associated with this adapter.
strUDID : array [0..ADL_MAX_PATH] of char;
/// The BUS number associated with this adapter.
iBusNumber : integer;
/// The driver number associated with this adapter.
iDeviceNumber : integer;
/// The function number.
iFunctionNumber : integer;
/// The vendor ID associated with this adapter.
iVendorID : integer;
/// Adapter name.
strAdapterName : array [0..ADL_MAX_PATH] of char;
/// Display name. For example, "\\Display0" for Windows or ":0:0" for Linux.
strDisplayName : array [0..ADL_MAX_PATH] of char;
/// Present or not; 1 if present and 0 if not present.
iPresent : integer;
// @}
end;
I'm honestly struggling to figure out exactly what i need to define in the type
section of my application, and moreover, to actually get something workable.
There's very little delphi-specific information on the ADL library (the only information was the Delphi-praxis link above) and while it's well documented in it's SDK format, i unfortunately lack the knowledge to be able to translate between languages (e.g. i can't read C
or C++
code and translate what data type variables are).
Any ideas?