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