rodecomp/Source/Render/RenderAdapter.h
ragnarok-clanker d4568519de Maintenance: [forced, user-approved] R7b+R7c (resubmit of returned 10244, rebased on 947ce989): remove the invented FogConfiguration,
Batch #10247 by ragnarok-clanker: forced by an admin (3 lower score(s), 26 changed function(s)); checked with 330 compiled unit(s), including every includer of Source/Render/DX7/RendererFogDX7.h, Source/Render/DX9/DeviceOwnerDX9.h, Source/Render/DX9/RenderSystemDX9.h, Source/Render/DX9/RendererDX9.h, Source/Render/DX9/RendererDX9Operations.h, Source/Render/DX9/RendererFogDX9.h, Source/Render/DX9/RendererPresentation.h, Source/Render/DeviceContext/DCSurface.h, Source/Render/Projection/RendererViewport.h, Source/Render/RenderAdapter.h, Source/Render/SpriteGeometry.h, Source/Render/TextureQuad.h, Source/Render/FogConfiguration.h.
Deletes: Source/Render/FogConfiguration.h
2026-11-03 12:07:29 +00:00

52 lines
1.8 KiB
C++

#ifndef RAGNAROK_SOURCE_RENDER_RENDERADAPTER_H
#define RAGNAROK_SOURCE_RENDER_RENDERADAPTER_H
#include <cstddef>
#include <string>
#include <vector>
#include <windows.h>
class DeviceOwnerDX9;
struct RenderAdapter {
RenderAdapter();
// INLINED
RenderAdapter(int backend, UINT ordinal, const char* description, const GUID& drawGuid, const GUID& renderGuid)
: backend(backend), ordinal(ordinal), description(description), drawGuid(drawGuid), renderGuid(renderGuid), deviceGuid{} {
}
// INLINED
RenderAdapter(int backend, UINT ordinal, const char* description, GUID drawGuid, GUID renderGuid, const GUID& deviceGuid, const char* deviceName)
: backend(backend), ordinal(ordinal), description(description), drawGuid(drawGuid), renderGuid(renderGuid), deviceGuid(deviceGuid),
deviceName(deviceName) {
}
/* 0000 */ int backend;
/* 0004 */ UINT ordinal;
/* 0008 */ std::string description;
/* 0020 */ GUID drawGuid;
/* 0030 */ GUID renderGuid;
/* 0040 */ GUID deviceGuid;
/* 0050 */ std::string deviceName;
bool Matches(const RenderAdapter& selected) const;
};
RenderAdapter SelectedRenderAdapter();
std::vector<RenderAdapter> EnumerateRenderAdapters(int backend);
std::vector<RenderAdapter> EnumerateAdaptersDX7();
std::vector<RenderAdapter> EnumerateAdaptersDX9();
HRESULT InitializeConfiguredDeviceDX9(DeviceOwnerDX9& owner, HWND window);
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(RenderAdapter) == 104);
static_assert(offsetof(RenderAdapter, ordinal) == 0x0004);
static_assert(offsetof(RenderAdapter, description) == 0x0008);
static_assert(offsetof(RenderAdapter, drawGuid) == 0x0020);
static_assert(offsetof(RenderAdapter, renderGuid) == 0x0030);
static_assert(offsetof(RenderAdapter, deviceGuid) == 0x0040);
static_assert(offsetof(RenderAdapter, deviceName) == 0x0050);
#endif
#endif