81 lines
3.0 KiB
Java
81 lines
3.0 KiB
Java
package org.lwjgl.d3d;
|
|
|
|
import java.nio.ByteBuffer;
|
|
import java.nio.ByteOrder;
|
|
|
|
public class D3DAdapterIdentifier9 {
|
|
public byte Driver[] = new byte[Direct3DConstants.MAX_DEVICE_IDENTIFIER_STRING];//512 char [MAX_DEVICE_IDENTIFIER_STRING]
|
|
public byte Description[] = new byte[Direct3DConstants.MAX_DEVICE_IDENTIFIER_STRING];//512 char [MAX_DEVICE_IDENTIFIER_STRING]
|
|
public byte DeviceName[] = new byte[32]; //32 char [32]
|
|
public long DriverVersion; //8 LARGE_INTEGER
|
|
public long VendorId; //4 DWORD
|
|
public long DeviceId; //4 DWORD
|
|
public long SubSysId; //4 DWORD
|
|
public long Revision; //4 DWORD
|
|
public GUID DeviceIdentifier = new GUID(); //16 GUID
|
|
public long WHQLLevel; //4 DWORD
|
|
private static final int D3D_ADAPTER_IDENTIFIER_BYTE_SIZE = 1100;
|
|
private ByteBuffer buffer;
|
|
|
|
public D3DAdapterIdentifier9() {
|
|
buffer = ByteBuffer.allocateDirect(D3D_ADAPTER_IDENTIFIER_BYTE_SIZE);
|
|
buffer.order(ByteOrder.nativeOrder());
|
|
}
|
|
|
|
public ByteBuffer getEmptyBuffer() {
|
|
buffer.rewind();
|
|
|
|
return buffer;
|
|
}
|
|
|
|
public ByteBuffer getBuffer() {
|
|
buffer.rewind();
|
|
buffer.put(Driver);
|
|
buffer.put(Description);
|
|
buffer.put(DeviceName);
|
|
buffer.putLong(DriverVersion);
|
|
buffer.putInt((int)VendorId);
|
|
buffer.putInt((int)DeviceId);
|
|
buffer.putInt((int)SubSysId);
|
|
buffer.putInt((int)Revision);
|
|
buffer.putInt((int)DeviceIdentifier.Data1);
|
|
buffer.putShort(DeviceIdentifier.Data2);
|
|
buffer.putShort(DeviceIdentifier.Data3);
|
|
buffer.put(DeviceIdentifier.Data4);
|
|
buffer.putInt((int)WHQLLevel);
|
|
buffer.rewind();
|
|
|
|
return buffer;
|
|
}
|
|
|
|
public void setBuffer(ByteBuffer buffer) {
|
|
buffer.rewind();
|
|
buffer.get(Driver);
|
|
buffer.get(Description);
|
|
buffer.get(DeviceName);
|
|
DriverVersion = buffer.getLong();
|
|
VendorId = buffer.getInt();
|
|
DeviceId = buffer.getInt();
|
|
SubSysId = buffer.getInt();
|
|
Revision = buffer.getInt();
|
|
DeviceIdentifier.Data1 = buffer.getInt();
|
|
DeviceIdentifier.Data2 = buffer.getShort();
|
|
DeviceIdentifier.Data3 = buffer.getShort();
|
|
buffer.get(DeviceIdentifier.Data4);
|
|
WHQLLevel = buffer.getInt();
|
|
}
|
|
|
|
public String toString() {
|
|
return
|
|
"\n Driver = " + new String(Driver) +
|
|
"\n Description = " + new String(Description) +
|
|
"\n DeviceName = " + new String(DeviceName) +
|
|
"\nDriverVersion = " + DriverVersion +
|
|
"\n VendorId = " + VendorId +
|
|
"\n DeviceId = " + DeviceId +
|
|
"\n SubSysId = " + SubSysId +
|
|
"\n Revision = " + Revision +
|
|
"\n WHQLLevel = " + WHQLLevel +
|
|
DeviceIdentifier;
|
|
}
|
|
} |