Batch #1060 by ragnarok-clanker: no function's compiled code changes; checked with 188 compiled unit(s), including every includer of Source/Render/DX7/DeviceOwnerDX7.h, Source/Render/DX7/DirectDrawEnumeration.h, Source/Render/DX7/RenderSystemDX7.h, Source/Render/DX7/RendererFogDX7.h, Source/Render/DX7/SurfaceDX7.h, Source/Render/DX9/DeviceOwnerDX9.h, Source/Render/DX9/DeviceStateDX9.h, Source/Render/DX9/RendererFogDX9.h, Source/Render/DeviceContext/DCSurface.h, Source/Render/DisplayMode.h, Source/Render/Primitives/LightmappedPrimitive.h, Source/Render/Primitives/RenderCommandPool.h, Source/Render/Primitives/RenderPrimitive.h, Source/Render/Primitives/RenderPrimitivePool.h, Source/Render/Primitives/RenderQueues.h, Source/Render/Primitives/RenderVertexPool.h, Source/Render/Projection/RendererViewport.h, Source/Render/RenderAdapter.h, Source/Render/Renderer.h, Source/Render/RendererBackBuffer.h, Source/Render/Text/TextContext.h, Source/Render/Textures/BitmapTextureCache.h, Source/Render/Textures/SpriteAtlas.h, Source/Render/Textures/Surface.h.
51 lines
1.6 KiB
C++
51 lines
1.6 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;
|
|
class DirectDrawEnumeration;
|
|
struct DeviceOptionsDX9;
|
|
|
|
struct RenderAdapter {
|
|
/* 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;
|
|
};
|
|
|
|
struct AdapterConfiguration {
|
|
const int& backend;
|
|
const GUID& drawGuid;
|
|
const GUID& renderGuid;
|
|
const GUID& deviceGuid;
|
|
const char* deviceName;
|
|
};
|
|
|
|
RenderAdapter SelectedRenderAdapter(const AdapterConfiguration& configuration, bool serviceUsesDX7);
|
|
std::vector<RenderAdapter> EnumerateRenderAdapters(int backend, DirectDrawEnumeration& legacy);
|
|
std::vector<RenderAdapter> EnumerateAdaptersDX7(DirectDrawEnumeration& enumeration);
|
|
std::vector<RenderAdapter> EnumerateAdaptersDX9();
|
|
HRESULT InitializeConfiguredDeviceDX9(
|
|
DeviceOwnerDX9& owner, HWND window, const DeviceOptionsDX9& options, const AdapterConfiguration& configuration, bool serviceUsesDX7
|
|
);
|
|
|
|
#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
|