Path: blob/21.2-virgl/src/gallium/frontends/nine/nine_dump.c
4561 views
1#include "nine_debug.h"2#include "nine_pipe.h"34#include <stdio.h>5#include "util/u_memory.h"6#include "util/u_math.h"78#include "nine_dump.h"910#if defined(DEBUG) || !defined(NDEBUG)1112static char __thread tls[128];1314const char *nine_D3DDEVTYPE_to_str(D3DDEVTYPE type)15{16switch (type) {17case D3DDEVTYPE_HAL: return "HAL";18case D3DDEVTYPE_NULLREF: return "NULLREF";19case D3DDEVTYPE_REF: return "REF";20case D3DDEVTYPE_SW: return "SW";21default:22return "(D3DDEVTYPE_?)";23}24}2526const char *nine_D3DPOOL_to_str(D3DPOOL pool)27{28switch (pool) {29case D3DPOOL_DEFAULT: return "DEFAULT";30case D3DPOOL_MANAGED: return "MANAGED";31case D3DPOOL_SYSTEMMEM: return "SYSTEMMEM";32case D3DPOOL_SCRATCH: return "SCRATCH";33default:34return "(D3DPOOL_?)";35}36}3738const char *nine_D3DSAMP_to_str(DWORD samp)39{40switch (samp) {41case D3DSAMP_ADDRESSU: return "ADDRESSU";42case D3DSAMP_ADDRESSV: return "ADDRESSV";43case D3DSAMP_ADDRESSW: return "ADDRESSW";44case D3DSAMP_BORDERCOLOR: return "BORDERCOLOR";45case D3DSAMP_MAGFILTER: return "MAGFILTER";46case D3DSAMP_MINFILTER: return "MINFILTER";47case D3DSAMP_MIPFILTER: return "MIPFILTER";48case D3DSAMP_MIPMAPLODBIAS: return "MIPMAPLODBIAS";49case D3DSAMP_MAXMIPLEVEL: return "MAXMIPLEVEL";50case D3DSAMP_MAXANISOTROPY: return "MAXANISOTROPY";51case D3DSAMP_SRGBTEXTURE: return "SRGBTEXTURE";52case D3DSAMP_ELEMENTINDEX: return "ELEMENTINDEX";53case D3DSAMP_DMAPOFFSET: return "DMAPOFFSET";54default:55return "(D3DSAMP_?)";56}57}5859#define C2S(n,s) \60do { \61if (usage & D3DUSAGE_##n) p += snprintf(&tls[p], sizeof(tls) - p, s); \62} while(0)63const char *nine_D3DUSAGE_to_str(DWORD usage)64{65int p = 0;66tls[0] = 0;67C2S(AUTOGENMIPMAP, "MIPGEN");68C2S(WRITEONLY, "WO");69C2S(DYNAMIC, "DYNAMIC");70C2S(DEPTHSTENCIL, "DS");71C2S(RENDERTARGET, "RT");72C2S(SOFTWAREPROCESSING, "SW");73C2S(DONOTCLIP, "NOCLIP");74C2S(POINTS, "POINTS");75C2S(DMAP, "DMAP");76C2S(NPATCHES, "NPATCHES");77C2S(RTPATCHES, "RTPATCHES");78C2S(TEXTAPI, "TEXTAPI");79C2S(NONSECURE, "NONSECURE");80C2S(RESTRICTED_CONTENT, "RESTRICTED_CONTENT");81C2S(RESTRICT_SHARED_RESOURCE, "RESTRICT_SHARED_RESOURCE");82C2S(RESTRICT_SHARED_RESOURCE_DRIVER, "RESTRICT_SHARED_RESOURCE_DRIVER");83return tls;84}85#undef C2S8687#define C2S(n) \88do { \89if (flags & D3DPRESENTFLAG_##n) \90p += snprintf(&tls[p], sizeof(tls) - p, #n); \91} while(0)92const char *nine_D3DPRESENTFLAG_to_str(DWORD flags)93{94int p = 0;95tls[0] = 0;96C2S(DEVICECLIP);97C2S(DISCARD_DEPTHSTENCIL);98C2S(LOCKABLE_BACKBUFFER);99C2S(NOAUTOROTATE);100C2S(UNPRUNEDMODE);101C2S(VIDEO);102C2S(OVERLAY_LIMITEDRGB);103C2S(OVERLAY_YCbCr_BT709);104C2S(OVERLAY_YCbCr_xvYCC);105C2S(RESTRICTED_CONTENT);106C2S(RESTRICT_SHARED_RESOURCE_DRIVER);107return tls;108}109#undef C2S110111#define C2S(n) \112do { \113if (lock & D3DLOCK_##n) p += snprintf(&tls[p], sizeof(tls) - p, #n"|"); \114} while(0)115const char *nine_D3DLOCK_to_str(DWORD lock)116{117int p = 0;118tls[0] = 0;119C2S(DISCARD);120C2S(DONOTWAIT);121C2S(NO_DIRTY_UPDATE);122C2S(NOOVERWRITE);123C2S(NOSYSLOCK);124C2S(READONLY);125return tls;126}127#undef C2S128129const char *nine_D3DRTYPE_to_str(D3DRESOURCETYPE type)130{131switch (type) {132case D3DRTYPE_SURFACE: return "SURFACE";133case D3DRTYPE_VOLUME: return "VOLUME";134case D3DRTYPE_TEXTURE: return "TEXTURE";135case D3DRTYPE_VOLUMETEXTURE: return "VOLUMETEXTURE";136case D3DRTYPE_CUBETEXTURE: return "CUBETEXTURE";137case D3DRTYPE_VERTEXBUFFER: return "VERTEXBUFFER";138case D3DRTYPE_INDEXBUFFER: return "INDEXBUFFER";139default:140return "(D3DRTYPE_?)";141}142}143144const char *nine_D3DQUERYTYPE_to_str(D3DQUERYTYPE type)145{146switch (type) {147case D3DQUERYTYPE_VCACHE: return "VCACHE";148case D3DQUERYTYPE_RESOURCEMANAGER: return "RESOURCEMANAGER";149case D3DQUERYTYPE_VERTEXSTATS: return "VERTEXSTATS";150case D3DQUERYTYPE_EVENT: return "EVENT";151case D3DQUERYTYPE_OCCLUSION: return "OCCLUSION";152case D3DQUERYTYPE_TIMESTAMP: return "TIMESTAMP";153case D3DQUERYTYPE_TIMESTAMPDISJOINT: return "TIMESTAMPDISJOINT";154case D3DQUERYTYPE_TIMESTAMPFREQ: return "TIMESTAMPFREQ";155case D3DQUERYTYPE_PIPELINETIMINGS: return "PIPELINETIMINGS";156case D3DQUERYTYPE_INTERFACETIMINGS: return "INTERFACETIMINGS";157case D3DQUERYTYPE_VERTEXTIMINGS: return "VERTEXTIMINGS";158case D3DQUERYTYPE_PIXELTIMINGS: return "PIXELTIMINGS";159case D3DQUERYTYPE_BANDWIDTHTIMINGS: return "BANDWIDTHTIMINGS";160case D3DQUERYTYPE_CACHEUTILIZATION: return "CACHEUTILIZATION";161default:162return "(D3DQUERYTYPE_?)";163}164}165166const char *nine_D3DTSS_to_str(D3DTEXTURESTAGESTATETYPE type)167{168switch (type) {169case D3DTSS_COLOROP: return "COLOROP";170case D3DTSS_ALPHAOP: return "ALPHAOP";171case D3DTSS_COLORARG0: return "COLORARG0";172case D3DTSS_COLORARG1: return "COLORARG1";173case D3DTSS_COLORARG2: return "COLORARG2";174case D3DTSS_ALPHAARG0: return "ALPHAARG0";175case D3DTSS_ALPHAARG1: return "ALPHAARG1";176case D3DTSS_ALPHAARG2: return "ALPHAARG2";177case D3DTSS_RESULTARG: return "RESULTARG";178case D3DTSS_BUMPENVMAT00: return "BUMPENVMAT00";179case D3DTSS_BUMPENVMAT01: return "BUMPENVMAT01";180case D3DTSS_BUMPENVMAT10: return "BUMPENVMAT10";181case D3DTSS_BUMPENVMAT11: return "BUMPENVMAT11";182case D3DTSS_BUMPENVLSCALE: return "BUMPENVLSCALE";183case D3DTSS_BUMPENVLOFFSET: return "BUMPENVLOFFSET";184case D3DTSS_TEXCOORDINDEX: return "TEXCOORDINDEX";185case D3DTSS_TEXTURETRANSFORMFLAGS: return "TEXTURETRANSFORMFLAGS";186case D3DTSS_CONSTANT: return "CONSTANT";187default:188return "(D3DTSS_?)";189}190}191192#define D3DTOP_TO_STR_CASE(n) case D3DTOP_##n: return #n193const char *nine_D3DTOP_to_str(D3DTEXTUREOP top)194{195switch (top) {196D3DTOP_TO_STR_CASE(DISABLE);197D3DTOP_TO_STR_CASE(SELECTARG1);198D3DTOP_TO_STR_CASE(SELECTARG2);199D3DTOP_TO_STR_CASE(MODULATE);200D3DTOP_TO_STR_CASE(MODULATE2X);201D3DTOP_TO_STR_CASE(MODULATE4X);202D3DTOP_TO_STR_CASE(ADD);203D3DTOP_TO_STR_CASE(ADDSIGNED);204D3DTOP_TO_STR_CASE(ADDSIGNED2X);205D3DTOP_TO_STR_CASE(SUBTRACT);206D3DTOP_TO_STR_CASE(ADDSMOOTH);207D3DTOP_TO_STR_CASE(BLENDDIFFUSEALPHA);208D3DTOP_TO_STR_CASE(BLENDTEXTUREALPHA);209D3DTOP_TO_STR_CASE(BLENDFACTORALPHA);210D3DTOP_TO_STR_CASE(BLENDTEXTUREALPHAPM);211D3DTOP_TO_STR_CASE(BLENDCURRENTALPHA);212D3DTOP_TO_STR_CASE(PREMODULATE);213D3DTOP_TO_STR_CASE(MODULATEALPHA_ADDCOLOR);214D3DTOP_TO_STR_CASE(MODULATECOLOR_ADDALPHA);215D3DTOP_TO_STR_CASE(MODULATEINVALPHA_ADDCOLOR);216D3DTOP_TO_STR_CASE(MODULATEINVCOLOR_ADDALPHA);217D3DTOP_TO_STR_CASE(BUMPENVMAP);218D3DTOP_TO_STR_CASE(BUMPENVMAPLUMINANCE);219D3DTOP_TO_STR_CASE(DOTPRODUCT3);220D3DTOP_TO_STR_CASE(MULTIPLYADD);221D3DTOP_TO_STR_CASE(LERP);222default:223return "(D3DTOP_?)";224}225}226227static const char *228nine_D3DLIGHTTYPE_to_str(D3DLIGHTTYPE type)229{230switch (type) {231case D3DLIGHT_POINT: return "POINT";232case D3DLIGHT_SPOT: return "SPOT";233case D3DLIGHT_DIRECTIONAL: return "DIRECTIONAL";234default:235return "(D3DLIGHT_?)";236}237}238239static const char *240nine_D3DTA_to_str(DWORD value)241{242switch (value & D3DTA_SELECTMASK) {243case D3DTA_DIFFUSE: return "DIFFUSE";244case D3DTA_CURRENT: return "CURRENT";245case D3DTA_TEXTURE: return "TEXTURE";246case D3DTA_TFACTOR: return "TFACTOR";247case D3DTA_SPECULAR: return "SPECULAR";248case D3DTA_TEMP: return "TEMP";249case D3DTA_CONSTANT: return "CONSTANT";250default:251return "(D3DTA_?)";252}253}254255static const char *256nine_D3DTSS_TCI_to_str(DWORD value)257{258switch (value & 0xf0000) {259case D3DTSS_TCI_PASSTHRU: return "PASSTHRU";260case D3DTSS_TCI_CAMERASPACENORMAL: return "CAMERASPACENORMAL";261case D3DTSS_TCI_CAMERASPACEPOSITION: return "CAMERASPACEPOSITION";262case D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR:263return "CAMERASPACEREFLECTIONVECTOR";264case D3DTSS_TCI_SPHEREMAP: return "SPHEREMAP";265default:266return "(D3DTSS_TCI_?)";267}268}269270static const char *271nine_D3DTTFF_to_str(DWORD value)272{273switch (value) {274case D3DTTFF_DISABLE: return "DISABLE";275case D3DTTFF_COUNT1: return "COUNT1";276case D3DTTFF_COUNT2: return "COUNT2";277case D3DTTFF_COUNT3: return "COUNT3";278case D3DTTFF_COUNT4: return "COUNT4";279case D3DTTFF_PROJECTED: return "PROJECTED";280default:281return "(D3DTTFF_?)";282}283}284285void286nine_dump_D3DLIGHT9(unsigned ch, const D3DLIGHT9 *lit)287{288DBG_FLAG(ch, "D3DLIGHT9(%p):\n"289"Type: %s\n"290"Diffuse: (%f %f %f %f)\n"291"Specular: (%f %f %f %f)\n"292"Ambient: (%f %f %f %f)\n"293"Position: (%f %f %f)\n"294"Direction: (%f %f %f)\n"295"Range: %f\n"296"Falloff: %f\n"297"Attenuation: %f + %f * d + %f * d^2\n"298"Theta: %f deg\n"299"Phi: %f deg\n", lit,300nine_D3DLIGHTTYPE_to_str(lit->Type),301lit->Diffuse.r,lit->Diffuse.r,lit->Diffuse.g,lit->Diffuse.a,302lit->Specular.r,lit->Specular.r,lit->Specular.g,lit->Specular.a,303lit->Ambient.r,lit->Ambient.r,lit->Ambient.g,lit->Ambient.a,304lit->Position.x,lit->Position.y,lit->Position.z,305lit->Direction.x,lit->Direction.y,lit->Direction.z,306lit->Range,lit->Falloff,307lit->Attenuation0,lit->Attenuation1,lit->Attenuation2,308lit->Theta * 360.0f / M_PI,lit->Phi * 360.0f / M_PI);309}310311void312nine_dump_D3DMATERIAL9(unsigned ch, const D3DMATERIAL9 *mat)313{314DBG_FLAG(ch, "D3DMATERIAL9(%p):\n"315"Diffuse: (%f %f %f %f)\n"316"Specular: (%f %f %f %f)\n"317"Ambient: (%f %f %f %f)\n"318"Emissive: (%f %f %f %f)\n"319"Power: %f\n", mat,320mat->Diffuse.r,mat->Diffuse.r,mat->Diffuse.g,mat->Diffuse.a,321mat->Specular.r,mat->Specular.r,mat->Specular.g,mat->Specular.a,322mat->Ambient.r,mat->Ambient.r,mat->Ambient.g,mat->Ambient.a,323mat->Emissive.r,mat->Emissive.r,mat->Emissive.g,mat->Emissive.a,324mat->Power);325}326327void328nine_dump_D3DTSS_value(unsigned ch, D3DTEXTURESTAGESTATETYPE type, DWORD value)329{330float rgba[4];331332switch (type) {333case D3DTSS_COLOROP:334case D3DTSS_ALPHAOP:335DBG_FLAG(ch, "D3DTSS_%s = %s\n",336nine_D3DTSS_to_str(type), nine_D3DTOP_to_str(value));337break;338case D3DTSS_COLORARG0:339case D3DTSS_COLORARG1:340case D3DTSS_COLORARG2:341case D3DTSS_ALPHAARG0:342case D3DTSS_ALPHAARG1:343case D3DTSS_ALPHAARG2:344case D3DTSS_RESULTARG:345DBG_FLAG(ch, "D3DTSS_%s = %s%s%s\n",346nine_D3DTSS_to_str(type),347(value & D3DTA_COMPLEMENT) ? "COMPLEMENT " : "",348(value & D3DTA_ALPHAREPLICATE) ? "ALPHAREPLICATE " : "",349nine_D3DTA_to_str(value));350break;351case D3DTSS_BUMPENVMAT00:352case D3DTSS_BUMPENVMAT01:353case D3DTSS_BUMPENVMAT10:354case D3DTSS_BUMPENVMAT11:355case D3DTSS_BUMPENVLSCALE:356case D3DTSS_BUMPENVLOFFSET:357DBG_FLAG(ch, "D3DTSS_%s = %f\n",358nine_D3DTSS_to_str(type), asfloat(value));359break;360case D3DTSS_TEXCOORDINDEX:361DBG_FLAG(ch, "D3DTSS_TEXCOORDINDEX = %s %u\n",362nine_D3DTSS_TCI_to_str(value),363value & 0xffff);364break;365case D3DTSS_TEXTURETRANSFORMFLAGS:366DBG_FLAG(ch, "D3DTSS_TEXTURETRANSFORMFLAGS = %s\n",367nine_D3DTTFF_to_str(value));368break;369case D3DTSS_CONSTANT:370d3dcolor_to_rgba(rgba, value);371DBG_FLAG(ch, "D3DTSS_CONSTANT = %f %f %f %F\n",372rgba[0],rgba[1],rgba[2],rgba[3]);373break;374default:375DBG_FLAG(ch, "D3DTSS_? = 0x%08x\n", value);376break;377}378}379380void381nine_dump_D3DADAPTER_IDENTIFIER9(unsigned ch, const D3DADAPTER_IDENTIFIER9 *id)382{383DBG_FLAG(ch, "D3DADAPTER_IDENTIFIER9(%p):\n"384"Driver: %s\n"385"Description: %s\n"386"DeviceName: %s\n"387"DriverVersion: %08x.%08x\n"388"VendorId: %x\n"389"DeviceId: %x\n"390"SubSysId: %x\n"391"Revision: %u\n"392"GUID: %08x.%04x.%04x.%02x.%02x.%02x.%02x.%02x.%02x.%02x.%02x\n"393"WHQLLevel: %u\n", id, id->Driver, id->Description,394id->DeviceName,395id->DriverVersionLowPart, id->DriverVersionHighPart,396id->VendorId, id->DeviceId, id->SubSysId,397id->Revision,398id->DeviceIdentifier.Data1,399id->DeviceIdentifier.Data2,400id->DeviceIdentifier.Data3,401id->DeviceIdentifier.Data4[0],402id->DeviceIdentifier.Data4[1],403id->DeviceIdentifier.Data4[2],404id->DeviceIdentifier.Data4[3],405id->DeviceIdentifier.Data4[4],406id->DeviceIdentifier.Data4[5],407id->DeviceIdentifier.Data4[6],408id->DeviceIdentifier.Data4[7],409id->WHQLLevel);410}411412#define C2S(args...) p += snprintf(&s[p],c-p,args)413414#define CAP_CASE(m,p,n) \415do { \416if (caps->m & p##_##n) \417C2S(" "#n); \418else \419C2S(" ("#n")"); \420} while(0)421422void423nine_dump_D3DCAPS9(unsigned ch, const D3DCAPS9 *caps)424{425const int c = 1 << 17;426int p = 0;427char *s = (char *)MALLOC(c);428429if (!s) {430DBG_FLAG(ch, "D3DCAPS9(%p): (out of memory)\n", caps);431return;432}433434C2S("DeviceType: %s\n", nine_D3DDEVTYPE_to_str(caps->DeviceType));435436C2S("AdapterOrdinal: %u\nCaps:", caps->AdapterOrdinal);437if (caps->Caps & 0x20000)438C2S(" READ_SCANLINE");439if (caps->Caps & ~0x20000)440C2S(" %x", caps->Caps & ~0x20000);441442C2S("\nCaps2:");443CAP_CASE(Caps2, D3DCAPS2, CANAUTOGENMIPMAP);444CAP_CASE(Caps2, D3DCAPS2, CANCALIBRATEGAMMA);445CAP_CASE(Caps2, D3DCAPS2, CANSHARERESOURCE);446CAP_CASE(Caps2, D3DCAPS2, CANMANAGERESOURCE);447CAP_CASE(Caps2, D3DCAPS2, DYNAMICTEXTURES);448CAP_CASE(Caps2, D3DCAPS2, FULLSCREENGAMMA);449450C2S("\nCaps3:");451CAP_CASE(Caps3, D3DCAPS3, ALPHA_FULLSCREEN_FLIP_OR_DISCARD);452CAP_CASE(Caps3, D3DCAPS3, COPY_TO_VIDMEM);453CAP_CASE(Caps3, D3DCAPS3, COPY_TO_SYSTEMMEM);454CAP_CASE(Caps3, D3DCAPS3, DXVAHD);455CAP_CASE(Caps3, D3DCAPS3, LINEAR_TO_SRGB_PRESENTATION);456457C2S("\nPresentationIntervals:");458CAP_CASE(PresentationIntervals, D3DPRESENT_INTERVAL, ONE);459CAP_CASE(PresentationIntervals, D3DPRESENT_INTERVAL, TWO);460CAP_CASE(PresentationIntervals, D3DPRESENT_INTERVAL, THREE);461CAP_CASE(PresentationIntervals, D3DPRESENT_INTERVAL, FOUR);462CAP_CASE(PresentationIntervals, D3DPRESENT_INTERVAL, IMMEDIATE);463464C2S("\nCursorCaps:");465CAP_CASE(CursorCaps, D3DCURSORCAPS, COLOR);466CAP_CASE(CursorCaps, D3DCURSORCAPS, LOWRES);467468C2S("\nDevCaps:");469CAP_CASE(DevCaps, D3DDEVCAPS, CANBLTSYSTONONLOCAL);470CAP_CASE(DevCaps, D3DDEVCAPS, CANRENDERAFTERFLIP);471CAP_CASE(DevCaps, D3DDEVCAPS, DRAWPRIMITIVES2);472CAP_CASE(DevCaps, D3DDEVCAPS, DRAWPRIMITIVES2EX);473CAP_CASE(DevCaps, D3DDEVCAPS, DRAWPRIMTLVERTEX);474CAP_CASE(DevCaps, D3DDEVCAPS, EXECUTESYSTEMMEMORY);475CAP_CASE(DevCaps, D3DDEVCAPS, EXECUTEVIDEOMEMORY);476CAP_CASE(DevCaps, D3DDEVCAPS, HWRASTERIZATION);477CAP_CASE(DevCaps, D3DDEVCAPS, HWTRANSFORMANDLIGHT);478CAP_CASE(DevCaps, D3DDEVCAPS, NPATCHES);479CAP_CASE(DevCaps, D3DDEVCAPS, PUREDEVICE);480CAP_CASE(DevCaps, D3DDEVCAPS, QUINTICRTPATCHES);481CAP_CASE(DevCaps, D3DDEVCAPS, RTPATCHES);482CAP_CASE(DevCaps, D3DDEVCAPS, RTPATCHHANDLEZERO);483CAP_CASE(DevCaps, D3DDEVCAPS, SEPARATETEXTUREMEMORIES);484CAP_CASE(DevCaps, D3DDEVCAPS, TEXTURENONLOCALVIDMEM);485CAP_CASE(DevCaps, D3DDEVCAPS, TEXTURESYSTEMMEMORY);486CAP_CASE(DevCaps, D3DDEVCAPS, TEXTUREVIDEOMEMORY);487CAP_CASE(DevCaps, D3DDEVCAPS, TLVERTEXSYSTEMMEMORY);488CAP_CASE(DevCaps, D3DDEVCAPS, TLVERTEXVIDEOMEMORY);489490C2S("\nPrimitiveMiscCaps:");491CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, MASKZ);492CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, CULLNONE);493CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, CULLCW);494CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, CULLCCW);495CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, COLORWRITEENABLE);496CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, CLIPPLANESCALEDPOINTS);497CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, CLIPTLVERTS);498CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, TSSARGTEMP);499CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, BLENDOP);500CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, NULLREFERENCE);501CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, INDEPENDENTWRITEMASKS);502CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, PERSTAGECONSTANT);503CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, POSTBLENDSRGBCONVERT);504CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, FOGANDSPECULARALPHA);505CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, SEPARATEALPHABLEND);506CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, MRTINDEPENDENTBITDEPTHS);507CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, MRTPOSTPIXELSHADERBLENDING);508CAP_CASE(PrimitiveMiscCaps, D3DPMISCCAPS, FOGVERTEXCLAMPED);509510C2S("\nRasterCaps:");511CAP_CASE(RasterCaps, D3DPRASTERCAPS, ANISOTROPY);512CAP_CASE(RasterCaps, D3DPRASTERCAPS, COLORPERSPECTIVE);513CAP_CASE(RasterCaps, D3DPRASTERCAPS, DITHER);514CAP_CASE(RasterCaps, D3DPRASTERCAPS, DEPTHBIAS);515CAP_CASE(RasterCaps, D3DPRASTERCAPS, FOGRANGE);516CAP_CASE(RasterCaps, D3DPRASTERCAPS, FOGTABLE);517CAP_CASE(RasterCaps, D3DPRASTERCAPS, FOGVERTEX);518CAP_CASE(RasterCaps, D3DPRASTERCAPS, MIPMAPLODBIAS);519CAP_CASE(RasterCaps, D3DPRASTERCAPS, MULTISAMPLE_TOGGLE);520CAP_CASE(RasterCaps, D3DPRASTERCAPS, SCISSORTEST);521CAP_CASE(RasterCaps, D3DPRASTERCAPS, SLOPESCALEDEPTHBIAS);522CAP_CASE(RasterCaps, D3DPRASTERCAPS, WBUFFER);523CAP_CASE(RasterCaps, D3DPRASTERCAPS, WFOG);524CAP_CASE(RasterCaps, D3DPRASTERCAPS, ZBUFFERLESSHSR);525CAP_CASE(RasterCaps, D3DPRASTERCAPS, ZFOG);526CAP_CASE(RasterCaps, D3DPRASTERCAPS, ZTEST);527528C2S("\nZCmpCaps:");529CAP_CASE(ZCmpCaps, D3DPCMPCAPS, ALWAYS);530CAP_CASE(ZCmpCaps, D3DPCMPCAPS, EQUAL);531CAP_CASE(ZCmpCaps, D3DPCMPCAPS, GREATER);532CAP_CASE(ZCmpCaps, D3DPCMPCAPS, GREATEREQUAL);533CAP_CASE(ZCmpCaps, D3DPCMPCAPS, LESS);534CAP_CASE(ZCmpCaps, D3DPCMPCAPS, LESSEQUAL);535CAP_CASE(ZCmpCaps, D3DPCMPCAPS, NEVER);536CAP_CASE(ZCmpCaps, D3DPCMPCAPS, NOTEQUAL);537538C2S("\nSrcBlendCaps");539CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, BLENDFACTOR);540CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, BOTHINVSRCALPHA);541CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, BOTHSRCALPHA);542CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, DESTALPHA);543CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, DESTCOLOR);544CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, INVDESTALPHA);545CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, INVDESTCOLOR);546CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, INVSRCALPHA);547CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, INVSRCCOLOR);548CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, INVSRCCOLOR2);549CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, ONE);550CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, SRCALPHA);551CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, SRCALPHASAT);552CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, SRCCOLOR);553CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, SRCCOLOR2);554CAP_CASE(SrcBlendCaps, D3DPBLENDCAPS, ZERO);555556C2S("\nDestBlendCaps");557CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, BLENDFACTOR);558CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, BOTHINVSRCALPHA);559CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, BOTHSRCALPHA);560CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, DESTALPHA);561CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, DESTCOLOR);562CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, INVDESTALPHA);563CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, INVDESTCOLOR);564CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, INVSRCALPHA);565CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, INVSRCCOLOR);566CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, INVSRCCOLOR2);567CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, ONE);568CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, SRCALPHA);569CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, SRCALPHASAT);570CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, SRCCOLOR);571CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, SRCCOLOR2);572CAP_CASE(DestBlendCaps, D3DPBLENDCAPS, ZERO);573574C2S("\nAlphaCmpCaps:");575CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, ALWAYS);576CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, EQUAL);577CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, GREATER);578CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, GREATEREQUAL);579CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, LESS);580CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, LESSEQUAL);581CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, NEVER);582CAP_CASE(AlphaCmpCaps, D3DPCMPCAPS, NOTEQUAL);583584C2S("\nShadeCaps:");585CAP_CASE(ShadeCaps, D3DPSHADECAPS, ALPHAGOURAUDBLEND);586CAP_CASE(ShadeCaps, D3DPSHADECAPS, COLORGOURAUDRGB);587CAP_CASE(ShadeCaps, D3DPSHADECAPS, FOGGOURAUD);588CAP_CASE(ShadeCaps, D3DPSHADECAPS, SPECULARGOURAUDRGB);589590C2S("\nTextureCaps:");591CAP_CASE(TextureCaps, D3DPTEXTURECAPS, ALPHA);592CAP_CASE(TextureCaps, D3DPTEXTURECAPS, ALPHAPALETTE);593CAP_CASE(TextureCaps, D3DPTEXTURECAPS, CUBEMAP);594CAP_CASE(TextureCaps, D3DPTEXTURECAPS, CUBEMAP_POW2);595CAP_CASE(TextureCaps, D3DPTEXTURECAPS, MIPCUBEMAP);596CAP_CASE(TextureCaps, D3DPTEXTURECAPS, MIPMAP);597CAP_CASE(TextureCaps, D3DPTEXTURECAPS, MIPVOLUMEMAP);598CAP_CASE(TextureCaps, D3DPTEXTURECAPS, NONPOW2CONDITIONAL);599CAP_CASE(TextureCaps, D3DPTEXTURECAPS, NOPROJECTEDBUMPENV);600CAP_CASE(TextureCaps, D3DPTEXTURECAPS, PERSPECTIVE);601CAP_CASE(TextureCaps, D3DPTEXTURECAPS, POW2);602CAP_CASE(TextureCaps, D3DPTEXTURECAPS, PROJECTED);603CAP_CASE(TextureCaps, D3DPTEXTURECAPS, SQUAREONLY);604CAP_CASE(TextureCaps, D3DPTEXTURECAPS, TEXREPEATNOTSCALEDBYSIZE);605CAP_CASE(TextureCaps, D3DPTEXTURECAPS, VOLUMEMAP);606CAP_CASE(TextureCaps, D3DPTEXTURECAPS, VOLUMEMAP_POW2);607608C2S("\nTextureFilterCaps:");609/* CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, CONVOLUTIONMONO); */610CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MAGFPOINT);611CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MAGFLINEAR);612CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MAGFANISOTROPIC);613CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MAGFPYRAMIDALQUAD);614CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MAGFGAUSSIANQUAD);615CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MINFPOINT);616CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MINFLINEAR);617CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MINFANISOTROPIC);618CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MINFPYRAMIDALQUAD);619CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MINFGAUSSIANQUAD);620CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MIPFPOINT);621CAP_CASE(TextureFilterCaps, D3DPTFILTERCAPS, MIPFLINEAR);622623C2S("\nCubeTextureFilterCaps:");624/* CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, CONVOLUTIONMONO); */625CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MAGFPOINT);626CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MAGFLINEAR);627CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MAGFANISOTROPIC);628CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MAGFPYRAMIDALQUAD);629CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MAGFGAUSSIANQUAD);630CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MINFPOINT);631CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MINFLINEAR);632CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MINFANISOTROPIC);633CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MINFPYRAMIDALQUAD);634CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MINFGAUSSIANQUAD);635CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MIPFPOINT);636CAP_CASE(CubeTextureFilterCaps, D3DPTFILTERCAPS, MIPFLINEAR);637638C2S("\nVolumeTextureFilterCaps:");639/* CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, CONVOLUTIONMONO); */640CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MAGFPOINT);641CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MAGFLINEAR);642CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MAGFANISOTROPIC);643CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MAGFPYRAMIDALQUAD);644CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MAGFGAUSSIANQUAD);645CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MINFPOINT);646CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MINFLINEAR);647CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MINFANISOTROPIC);648CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MINFPYRAMIDALQUAD);649CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MINFGAUSSIANQUAD);650CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MIPFPOINT);651CAP_CASE(VolumeTextureFilterCaps, D3DPTFILTERCAPS, MIPFLINEAR);652653C2S("\nTextureAddressCaps:");654CAP_CASE(TextureAddressCaps, D3DPTADDRESSCAPS, BORDER);655CAP_CASE(TextureAddressCaps, D3DPTADDRESSCAPS, CLAMP);656CAP_CASE(TextureAddressCaps, D3DPTADDRESSCAPS, INDEPENDENTUV);657CAP_CASE(TextureAddressCaps, D3DPTADDRESSCAPS, MIRROR);658CAP_CASE(TextureAddressCaps, D3DPTADDRESSCAPS, MIRRORONCE);659CAP_CASE(TextureAddressCaps, D3DPTADDRESSCAPS, WRAP);660661C2S("\nVolumeTextureAddressCaps:");662CAP_CASE(VolumeTextureAddressCaps, D3DPTADDRESSCAPS, BORDER);663CAP_CASE(VolumeTextureAddressCaps, D3DPTADDRESSCAPS, CLAMP);664CAP_CASE(VolumeTextureAddressCaps, D3DPTADDRESSCAPS, INDEPENDENTUV);665CAP_CASE(VolumeTextureAddressCaps, D3DPTADDRESSCAPS, MIRROR);666CAP_CASE(VolumeTextureAddressCaps, D3DPTADDRESSCAPS, MIRRORONCE);667CAP_CASE(VolumeTextureAddressCaps, D3DPTADDRESSCAPS, WRAP);668669C2S("\nLineCaps:");670CAP_CASE(LineCaps, D3DLINECAPS, ALPHACMP);671CAP_CASE(LineCaps, D3DLINECAPS, ANTIALIAS);672CAP_CASE(LineCaps, D3DLINECAPS, BLEND);673CAP_CASE(LineCaps, D3DLINECAPS, FOG);674CAP_CASE(LineCaps, D3DLINECAPS, TEXTURE);675CAP_CASE(LineCaps, D3DLINECAPS, ZTEST);676677C2S("\nMaxTextureWidth: %u", caps->MaxTextureWidth);678C2S("\nMaxTextureHeight: %u", caps->MaxTextureHeight);679C2S("\nMaxVolumeExtent: %u", caps->MaxVolumeExtent);680C2S("\nMaxTextureRepeat: %u", caps->MaxTextureRepeat);681C2S("\nMaxTextureAspectRatio: %u", caps->MaxTextureAspectRatio);682C2S("\nMaxAnisotropy: %u", caps->MaxAnisotropy);683C2S("\nMaxVertexW: %f", caps->MaxVertexW);684685C2S("\nGuardBandLef,Top,Right,Bottom: %f %f %f %f",686caps->GuardBandLeft, caps->GuardBandTop,687caps->GuardBandRight, caps->GuardBandBottom);688689C2S("\nExtentsAdjust: %f", caps->ExtentsAdjust);690691C2S("\nStencilCaps:");692CAP_CASE(StencilCaps, D3DSTENCILCAPS, KEEP);693CAP_CASE(StencilCaps, D3DSTENCILCAPS, ZERO);694CAP_CASE(StencilCaps, D3DSTENCILCAPS, REPLACE);695CAP_CASE(StencilCaps, D3DSTENCILCAPS, INCRSAT);696CAP_CASE(StencilCaps, D3DSTENCILCAPS, DECRSAT);697CAP_CASE(StencilCaps, D3DSTENCILCAPS, INVERT);698CAP_CASE(StencilCaps, D3DSTENCILCAPS, INCR);699CAP_CASE(StencilCaps, D3DSTENCILCAPS, DECR);700CAP_CASE(StencilCaps, D3DSTENCILCAPS, TWOSIDED);701702C2S("\nFVFCaps:");703CAP_CASE(FVFCaps, D3DFVFCAPS, DONOTSTRIPELEMENTS);704CAP_CASE(FVFCaps, D3DFVFCAPS, PSIZE);705CAP_CASE(FVFCaps, D3DFVFCAPS, TEXCOORDCOUNTMASK);706707C2S("\nTextureOpCaps:");708CAP_CASE(TextureOpCaps, D3DTEXOPCAPS, ADD);709CAP_CASE(TextureOpCaps, D3DTEXOPCAPS, ADDSIGNED);710C2S(" ...");711712C2S("\nMaxTextureBlendStages: %u", caps->MaxTextureBlendStages);713C2S("\nMaxSimultaneousTextures: %u", caps->MaxTextureBlendStages);714715C2S("\nVertexProcessingCaps:");716CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, DIRECTIONALLIGHTS);717CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, LOCALVIEWER);718CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, MATERIALSOURCE7);719CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, NO_TEXGEN_NONLOCALVIEWER);720CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, POSITIONALLIGHTS);721CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, TEXGEN);722CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, TEXGEN_SPHEREMAP);723CAP_CASE(VertexProcessingCaps, D3DVTXPCAPS, TWEENING);724725C2S("\nMaxActiveLights: %u", caps->MaxActiveLights);726C2S("\nMaxUserClipPlanes: %u", caps->MaxUserClipPlanes);727C2S("\nMaxVertexBlendMatrices: %u", caps->MaxVertexBlendMatrices);728C2S("\nMaxVertexBlendMatrixIndex: %u", caps->MaxVertexBlendMatrixIndex);729C2S("\nMaxPointSize: %f", caps->MaxPointSize);730C2S("\nMaxPrimitiveCount: 0x%x", caps->MaxPrimitiveCount);731C2S("\nMaxVertexIndex: 0x%x", caps->MaxVertexIndex);732C2S("\nMaxStreams: %u", caps->MaxStreams);733C2S("\nMaxStreamStride: 0x%x", caps->MaxStreamStride);734735C2S("\nVertexShaderVersion: %08x", caps->VertexShaderVersion);736C2S("\nMaxVertexShaderConst: %u", caps->MaxVertexShaderConst);737C2S("\nPixelShaderVersion: %08x", caps->PixelShaderVersion);738C2S("\nPixelShader1xMaxValue: %f", caps->PixelShader1xMaxValue);739740DBG_FLAG(ch, "D3DCAPS9(%p) part 1:\n%s\n", caps, s);741p = 0;742743C2S("DevCaps2:");744CAP_CASE(DevCaps2, D3DDEVCAPS2, ADAPTIVETESSRTPATCH);745CAP_CASE(DevCaps2, D3DDEVCAPS2, ADAPTIVETESSNPATCH);746CAP_CASE(DevCaps2, D3DDEVCAPS2, CAN_STRETCHRECT_FROM_TEXTURES);747CAP_CASE(DevCaps2, D3DDEVCAPS2, DMAPNPATCH);748CAP_CASE(DevCaps2, D3DDEVCAPS2, PRESAMPLEDDMAPNPATCH);749CAP_CASE(DevCaps2, D3DDEVCAPS2, STREAMOFFSET);750CAP_CASE(DevCaps2, D3DDEVCAPS2, VERTEXELEMENTSCANSHARESTREAMOFFSET);751752C2S("\nMasterAdapterOrdinal: %u", caps->MasterAdapterOrdinal);753C2S("\nAdapterOrdinalInGroup: %u", caps->AdapterOrdinalInGroup);754C2S("\nNumberOfAdaptersInGroup: %u", caps->NumberOfAdaptersInGroup);755756C2S("\nDeclTypes:");757CAP_CASE(DeclTypes, D3DDTCAPS, UBYTE4);758CAP_CASE(DeclTypes, D3DDTCAPS, UBYTE4N);759CAP_CASE(DeclTypes, D3DDTCAPS, SHORT2N);760CAP_CASE(DeclTypes, D3DDTCAPS, SHORT4N);761CAP_CASE(DeclTypes, D3DDTCAPS, USHORT2N);762CAP_CASE(DeclTypes, D3DDTCAPS, USHORT4N);763CAP_CASE(DeclTypes, D3DDTCAPS, UDEC3);764CAP_CASE(DeclTypes, D3DDTCAPS, DEC3N);765CAP_CASE(DeclTypes, D3DDTCAPS, FLOAT16_2);766CAP_CASE(DeclTypes, D3DDTCAPS, FLOAT16_4);767768C2S("\nNumSimultaneousRTs: %u", caps->NumSimultaneousRTs);769770C2S("\nStretchRectFilterCaps:");771CAP_CASE(StretchRectFilterCaps, D3DPTFILTERCAPS, MINFPOINT);772CAP_CASE(StretchRectFilterCaps, D3DPTFILTERCAPS, MINFLINEAR);773CAP_CASE(StretchRectFilterCaps, D3DPTFILTERCAPS, MAGFPOINT);774CAP_CASE(StretchRectFilterCaps, D3DPTFILTERCAPS, MAGFLINEAR);775776C2S("\nVS20Caps.Caps: Predication=%s", caps->VS20Caps.Caps ? "yes" : "no");777C2S("\nVS20Caps.DynamicFlowControlDepth: %u", caps->VS20Caps.DynamicFlowControlDepth);778C2S("\nVS20Caps.NumTemps: %u", caps->VS20Caps.NumTemps);779C2S("\nVS20Caps.StaticFlowControlDepth: %u", caps->VS20Caps.StaticFlowControlDepth);780781C2S("\nPS20Caps.Caps: Predication=%s", caps->VS20Caps.Caps ? "yes" : "no");782C2S("\nPS20Caps.DynamicFlowControlDepth: %u", caps->PS20Caps.DynamicFlowControlDepth);783C2S("\nPS20Caps.NumTemps: %u", caps->PS20Caps.NumTemps);784C2S("\nPS20Caps.StaticFlowControlDepth: %u", caps->PS20Caps.StaticFlowControlDepth);785C2S("\nPS20Caps.NumInstructionSlots: %u", caps->PS20Caps.NumInstructionSlots);786787C2S("\nVertexTextureFilterCaps");788/* CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, CONVOLUTIONMONO); */789CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MAGFPOINT);790CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MAGFLINEAR);791CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MAGFANISOTROPIC);792CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MAGFPYRAMIDALQUAD);793CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MAGFGAUSSIANQUAD);794CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MINFPOINT);795CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MINFLINEAR);796CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MINFANISOTROPIC);797CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MINFPYRAMIDALQUAD);798CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MINFGAUSSIANQUAD);799CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MIPFPOINT);800CAP_CASE(VertexTextureFilterCaps, D3DPTFILTERCAPS, MIPFLINEAR);801802C2S("\nMaxVShaderInstructionsExecuted: %u", caps->MaxVShaderInstructionsExecuted);803C2S("\nMaxPShaderInstructionsExecuted: %u", caps->MaxPShaderInstructionsExecuted);804C2S("\nMaxVertexShader30InstructionSlots: %u >= 512", caps->MaxVertexShader30InstructionSlots);805C2S("\nMaxPixelShader30InstructionSlots: %u >= 512", caps->MaxPixelShader30InstructionSlots);806807DBG_FLAG(ch, "D3DCAPS9(%p) part 2:\n%s\n", caps, s);808809FREE(s);810}811812#endif /* DEBUG || !NDEBUG */813814815