d3d12: Add a driver version to the screen to be used for workarounds
Reviewed-by: Bill Kristiansen <billkris@microsoft.com> Reviewed-By: Sil Vilerino <sivileri@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
This commit is contained in:
@@ -156,6 +156,7 @@ d3d12_create_dxcore_screen(struct sw_winsys *winsys, LUID *adapter_luid)
|
||||
FAILED(screen->adapter->GetProperty(DXCoreAdapterProperty::DedicatedAdapterMemory, &dedicated_video_memory)) ||
|
||||
FAILED(screen->adapter->GetProperty(DXCoreAdapterProperty::DedicatedSystemMemory, &dedicated_system_memory)) ||
|
||||
FAILED(screen->adapter->GetProperty(DXCoreAdapterProperty::SharedSystemMemory, &shared_system_memory)) ||
|
||||
FAILED(screen->adapter->GetProperty(DXCoreAdapterProperty::DriverVersion, &screen->base.driver_version)) ||
|
||||
FAILED(screen->adapter->GetProperty(DXCoreAdapterProperty::DriverDescription,
|
||||
sizeof(screen->description),
|
||||
screen->description))) {
|
||||
|
||||
@@ -135,6 +135,10 @@ d3d12_create_dxgi_screen(struct sw_winsys *winsys, LUID *adapter_luid)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
LARGE_INTEGER driver_version;
|
||||
screen->adapter->CheckInterfaceSupport(__uuidof(IDXGIDevice), &driver_version);
|
||||
screen->base.driver_version = driver_version.QuadPart;
|
||||
|
||||
screen->base.vendor_id = adapter_desc.VendorId;
|
||||
// Note: memory sizes in bytes, but stored in size_t, so may be capped at 4GB.
|
||||
// In that case, adding before conversion to MB can easily overflow.
|
||||
|
||||
@@ -90,6 +90,7 @@ struct d3d12_screen {
|
||||
|
||||
/* description */
|
||||
uint32_t vendor_id;
|
||||
uint64_t driver_version;
|
||||
uint64_t memory_size_megabytes;
|
||||
double timestamp_multiplier;
|
||||
bool have_load_at_vertex;
|
||||
|
||||
Reference in New Issue
Block a user