// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/gl/debug_utils.h"
#include <d3d11.h>
#include <dxgi.h>
namespace gl {
namespace {
// ID3D11DeviceChild and IDXGIObject implement SetPrivateData with
// the exact same parameters.
template <typename T>
HRESULT SetDebugNameInternal(T* d3d11_object, const char* debug_string) {
return d3d11_object->SetPrivateData(WKPDID_D3DDebugObjectName,
strlen(debug_string), debug_string);
}
} // namespace
HRESULT SetDebugName(ID3D11DeviceChild* d3d11_device_child,
const char* debug_string) {
return SetDebugNameInternal(d3d11_device_child, debug_string);
}
HRESULT SetDebugName(IDXGIObject* dxgi_object, const char* debug_string) {
return SetDebugNameInternal(dxgi_object, debug_string);
}
} // namespace gl