rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <d3d9.h>
void dump_caps(FILE *out, D3DCAPS9 *c)
{
fprintf(out, "static void init_caps(WINED3DCAPS *caps) {\n");
fprintf(out, " *caps->DeviceType = %#x;\n", c->DeviceType);
fprintf(out, " *caps->AdapterOrdinal = %#x;\n", c->AdapterOrdinal);
fprintf(out, " *caps->Caps = %#x;\n", c->Caps);
fprintf(out, " *caps->Caps2 = %#x;\n", c->Caps2);
fprintf(out, " *caps->Caps3 = %#x;\n", c->Caps3);
fprintf(out, " *caps->PresentationIntervals = %#x;\n", c->PresentationIntervals);
fprintf(out, " *caps->CursorCaps = %#x;\n", c->CursorCaps);
fprintf(out, " *caps->DevCaps = %#x;\n", c->DevCaps);
fprintf(out, " *caps->PrimitiveMiscCaps = %#x;\n", c->PrimitiveMiscCaps);
fprintf(out, " *caps->RasterCaps = %#x;\n", c->RasterCaps);
fprintf(out, " *caps->ZCmpCaps = %#x;\n", c->ZCmpCaps);
fprintf(out, " *caps->SrcBlendCaps = %#x;\n", c->SrcBlendCaps);
fprintf(out, " *caps->DestBlendCaps = %#x;\n", c->DestBlendCaps);
fprintf(out, " *caps->AlphaCmpCaps = %#x;\n", c->AlphaCmpCaps);
fprintf(out, " *caps->ShadeCaps = %#x;\n", c->ShadeCaps);
fprintf(out, " *caps->TextureCaps = %#x;\n", c->TextureCaps);
fprintf(out, " *caps->TextureFilterCaps = %#x;\n", c->TextureFilterCaps);
fprintf(out, " *caps->CubeTextureFilterCaps = %#x;\n", c->CubeTextureFilterCaps);
fprintf(out, " *caps->VolumeTextureFilterCaps = %#x;\n", c->VolumeTextureFilterCaps);
fprintf(out, " *caps->TextureAddressCaps = %#x;\n", c->TextureAddressCaps);
fprintf(out, " *caps->VolumeTextureAddressCaps = %#x;\n", c->VolumeTextureAddressCaps);
fprintf(out, " *caps->LineCaps = %#x;\n", c->LineCaps);
fprintf(out, " *caps->MaxTextureWidth = %#x;\n", c->MaxTextureWidth);
fprintf(out, " *caps->MaxTextureHeight = %#x;\n", c->MaxTextureHeight);
fprintf(out, " *caps->MaxVolumeExtent = %#x;\n", c->MaxVolumeExtent);
fprintf(out, " *caps->MaxTextureRepeat = %#x;\n", c->MaxTextureRepeat);
fprintf(out, " *caps->MaxTextureAspectRatio = %#x;\n", c->MaxTextureAspectRatio);
fprintf(out, " *caps->MaxAnisotropy = %#x;\n", c->MaxAnisotropy);
fprintf(out, " *caps->MaxVertexW = %ff;\n", c->MaxVertexW);
fprintf(out, " *caps->GuardBandLeft = %ff;\n", c->GuardBandLeft);
fprintf(out, " *caps->GuardBandTop = %ff;\n", c->GuardBandTop);
fprintf(out, " *caps->GuardBandRight = %ff;\n", c->GuardBandRight);
fprintf(out, " *caps->GuardBandBottom = %ff;\n", c->GuardBandBottom);
fprintf(out, " *caps->ExtentsAdjust = %ff;\n", c->ExtentsAdjust);
fprintf(out, " *caps->StencilCaps = %#x;\n", c->StencilCaps);
fprintf(out, " *caps->FVFCaps = %#x;\n", c->FVFCaps);
fprintf(out, " *caps->TextureOpCaps = %#x;\n", c->TextureOpCaps);
fprintf(out, " *caps->MaxTextureBlendStages = %#x;\n", c->MaxTextureBlendStages);
fprintf(out, " *caps->MaxSimultaneousTextures = %#x;\n", c->MaxSimultaneousTextures);
fprintf(out, " *caps->VertexProcessingCaps = %#x;\n", c->VertexProcessingCaps);
fprintf(out, " *caps->MaxActiveLights = %#x;\n", c->MaxActiveLights);
fprintf(out, " *caps->MaxUserClipPlanes = %#x;\n", c->MaxUserClipPlanes);
fprintf(out, " *caps->MaxVertexBlendMatrices = %#x;\n", c->MaxVertexBlendMatrices);
fprintf(out, " *caps->MaxVertexBlendMatrixIndex = %#x;\n", c->MaxVertexBlendMatrixIndex);
fprintf(out, " *caps->MaxPointSize = %ff;\n", c->MaxPointSize);
fprintf(out, " *caps->MaxPrimitiveCount = %#x;\n", c->MaxPrimitiveCount);
fprintf(out, " *caps->MaxVertexIndex = %#x;\n", c->MaxVertexIndex);
fprintf(out, " *caps->MaxStreams = %#x;\n", c->MaxStreams);
fprintf(out, " *caps->MaxStreamStride = %#x;\n", c->MaxStreamStride);
fprintf(out, " *caps->VertexShaderVersion = %#x;\n", c->VertexShaderVersion);
fprintf(out, " *caps->MaxVertexShaderConst = %#x;\n", c->MaxVertexShaderConst);
fprintf(out, " *caps->PixelShaderVersion = %#x;\n", c->PixelShaderVersion);
fprintf(out, " *caps->PixelShader1xMaxValue = %ff;\n", c->PixelShader1xMaxValue);
fprintf(out, " *caps->DevCaps2 = %#x;\n", c->DevCaps2);
fprintf(out, " *caps->MaxNpatchTessellationLevel = %ff;\n", c->MaxNpatchTessellationLevel);
fprintf(out, " *caps->MasterAdapterOrdinal = %#x;\n", c->MasterAdapterOrdinal);
fprintf(out, " *caps->AdapterOrdinalInGroup = %#x;\n", c->AdapterOrdinalInGroup);
fprintf(out, " *caps->NumberOfAdaptersInGroup = %#x;\n", c->NumberOfAdaptersInGroup);
fprintf(out, " *caps->DeclTypes = %#x;\n", c->DeclTypes);
fprintf(out, " *caps->NumSimultaneousRTs = %#x;\n", c->NumSimultaneousRTs);
fprintf(out, " *caps->StretchRectFilterCaps = %#x;\n", c->StretchRectFilterCaps);
fprintf(out, " *caps->VS20Caps.Caps = %#x;\n", c->VS20Caps.Caps);
fprintf(out, " *caps->VS20Caps.DynamicFlowControlDepth = %#x;\n", c->VS20Caps.DynamicFlowControlDepth);
fprintf(out, " *caps->VS20Caps.NumTemps = %#x;\n", c->VS20Caps.NumTemps);
fprintf(out, " *caps->VS20Caps.StaticFlowControlDepth = %#x;\n", c->VS20Caps.StaticFlowControlDepth);
fprintf(out, " *caps->PS20Caps.Caps = %#x;\n", c->PS20Caps.Caps);
fprintf(out, " *caps->PS20Caps.DynamicFlowControlDepth = %#x;\n", c->PS20Caps.DynamicFlowControlDepth);
fprintf(out, " *caps->PS20Caps.NumTemps = %#x;\n", c->PS20Caps.NumTemps);
fprintf(out, " *caps->PS20Caps.StaticFlowControlDepth = %#x;\n", c->PS20Caps.StaticFlowControlDepth);
fprintf(out, " *caps->PS20Caps.NumInstructionSlots = %#x;\n", c->PS20Caps.NumInstructionSlots);
fprintf(out, " *caps->VertexTextureFilterCaps = %#x;\n", c->VertexTextureFilterCaps);
fprintf(out, " *caps->MaxVShaderInstructionsExecuted = %#x;\n", c->MaxVShaderInstructionsExecuted);
fprintf(out, " *caps->MaxPShaderInstructionsExecuted = %#x;\n", c->MaxPShaderInstructionsExecuted);
fprintf(out, " *caps->MaxVertexShader30InstructionSlots = %#x;\n", c->MaxVertexShader30InstructionSlots);
fprintf(out, " *caps->MaxPixelShader30InstructionSlots = %#x;\n", c->MaxPixelShader30InstructionSlots);
fprintf(out, "}\n");
}
int main(void)
{
HMODULE d3d9_handle;
IDirect3D9 * (__stdcall * d3d9_create)(UINT SDKVersion) = 0;
IDirect3D9 *d3d9_ptr = 0;
D3DCAPS9 caps;
d3d9_handle = LoadLibraryA("d3d9.dll");
if (!d3d9_handle)
{
fprintf(stderr, "Failed to load d3d9.dll\n");
return EXIT_FAILURE;
}
d3d9_create = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9");
if (!d3d9_create)
{
fprintf(stderr, "Failed to resolve Direct3DCreate9\n");
return EXIT_FAILURE;
}
d3d9_ptr = d3d9_create(D3D_SDK_VERSION);
if (!d3d9_ptr)
{
fprintf(stderr, "Failed to create IDirect3D9 object\n");
return EXIT_FAILURE;
}
IDirect3D9_GetDeviceCaps(d3d9_ptr, 0, D3DDEVTYPE_HAL, &caps);
dump_caps(stdout, &caps);
return EXIT_SUCCESS;
}