d3d10.h 222 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819
  1. /*-------------------------------------------------------------------------------------
  2. *
  3. * Copyright (c) Microsoft Corporation
  4. *
  5. *-------------------------------------------------------------------------------------*/
  6. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  7. /* File created by MIDL compiler version 8.01.0622 */
  8. /* @@MIDL_FILE_HEADING( ) */
  9. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  10. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  11. #define __REQUIRED_RPCNDR_H_VERSION__ 500
  12. #endif
  13. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  15. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif /* __RPCNDR_H_VERSION__ */
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __d3d10_h__
  27. #define __d3d10_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ID3D10DeviceChild_FWD_DEFINED__
  33. #define __ID3D10DeviceChild_FWD_DEFINED__
  34. typedef interface ID3D10DeviceChild ID3D10DeviceChild;
  35. #endif /* __ID3D10DeviceChild_FWD_DEFINED__ */
  36. #ifndef __ID3D10DepthStencilState_FWD_DEFINED__
  37. #define __ID3D10DepthStencilState_FWD_DEFINED__
  38. typedef interface ID3D10DepthStencilState ID3D10DepthStencilState;
  39. #endif /* __ID3D10DepthStencilState_FWD_DEFINED__ */
  40. #ifndef __ID3D10BlendState_FWD_DEFINED__
  41. #define __ID3D10BlendState_FWD_DEFINED__
  42. typedef interface ID3D10BlendState ID3D10BlendState;
  43. #endif /* __ID3D10BlendState_FWD_DEFINED__ */
  44. #ifndef __ID3D10RasterizerState_FWD_DEFINED__
  45. #define __ID3D10RasterizerState_FWD_DEFINED__
  46. typedef interface ID3D10RasterizerState ID3D10RasterizerState;
  47. #endif /* __ID3D10RasterizerState_FWD_DEFINED__ */
  48. #ifndef __ID3D10Resource_FWD_DEFINED__
  49. #define __ID3D10Resource_FWD_DEFINED__
  50. typedef interface ID3D10Resource ID3D10Resource;
  51. #endif /* __ID3D10Resource_FWD_DEFINED__ */
  52. #ifndef __ID3D10Buffer_FWD_DEFINED__
  53. #define __ID3D10Buffer_FWD_DEFINED__
  54. typedef interface ID3D10Buffer ID3D10Buffer;
  55. #endif /* __ID3D10Buffer_FWD_DEFINED__ */
  56. #ifndef __ID3D10Texture1D_FWD_DEFINED__
  57. #define __ID3D10Texture1D_FWD_DEFINED__
  58. typedef interface ID3D10Texture1D ID3D10Texture1D;
  59. #endif /* __ID3D10Texture1D_FWD_DEFINED__ */
  60. #ifndef __ID3D10Texture2D_FWD_DEFINED__
  61. #define __ID3D10Texture2D_FWD_DEFINED__
  62. typedef interface ID3D10Texture2D ID3D10Texture2D;
  63. #endif /* __ID3D10Texture2D_FWD_DEFINED__ */
  64. #ifndef __ID3D10Texture3D_FWD_DEFINED__
  65. #define __ID3D10Texture3D_FWD_DEFINED__
  66. typedef interface ID3D10Texture3D ID3D10Texture3D;
  67. #endif /* __ID3D10Texture3D_FWD_DEFINED__ */
  68. #ifndef __ID3D10View_FWD_DEFINED__
  69. #define __ID3D10View_FWD_DEFINED__
  70. typedef interface ID3D10View ID3D10View;
  71. #endif /* __ID3D10View_FWD_DEFINED__ */
  72. #ifndef __ID3D10ShaderResourceView_FWD_DEFINED__
  73. #define __ID3D10ShaderResourceView_FWD_DEFINED__
  74. typedef interface ID3D10ShaderResourceView ID3D10ShaderResourceView;
  75. #endif /* __ID3D10ShaderResourceView_FWD_DEFINED__ */
  76. #ifndef __ID3D10RenderTargetView_FWD_DEFINED__
  77. #define __ID3D10RenderTargetView_FWD_DEFINED__
  78. typedef interface ID3D10RenderTargetView ID3D10RenderTargetView;
  79. #endif /* __ID3D10RenderTargetView_FWD_DEFINED__ */
  80. #ifndef __ID3D10DepthStencilView_FWD_DEFINED__
  81. #define __ID3D10DepthStencilView_FWD_DEFINED__
  82. typedef interface ID3D10DepthStencilView ID3D10DepthStencilView;
  83. #endif /* __ID3D10DepthStencilView_FWD_DEFINED__ */
  84. #ifndef __ID3D10VertexShader_FWD_DEFINED__
  85. #define __ID3D10VertexShader_FWD_DEFINED__
  86. typedef interface ID3D10VertexShader ID3D10VertexShader;
  87. #endif /* __ID3D10VertexShader_FWD_DEFINED__ */
  88. #ifndef __ID3D10GeometryShader_FWD_DEFINED__
  89. #define __ID3D10GeometryShader_FWD_DEFINED__
  90. typedef interface ID3D10GeometryShader ID3D10GeometryShader;
  91. #endif /* __ID3D10GeometryShader_FWD_DEFINED__ */
  92. #ifndef __ID3D10PixelShader_FWD_DEFINED__
  93. #define __ID3D10PixelShader_FWD_DEFINED__
  94. typedef interface ID3D10PixelShader ID3D10PixelShader;
  95. #endif /* __ID3D10PixelShader_FWD_DEFINED__ */
  96. #ifndef __ID3D10InputLayout_FWD_DEFINED__
  97. #define __ID3D10InputLayout_FWD_DEFINED__
  98. typedef interface ID3D10InputLayout ID3D10InputLayout;
  99. #endif /* __ID3D10InputLayout_FWD_DEFINED__ */
  100. #ifndef __ID3D10SamplerState_FWD_DEFINED__
  101. #define __ID3D10SamplerState_FWD_DEFINED__
  102. typedef interface ID3D10SamplerState ID3D10SamplerState;
  103. #endif /* __ID3D10SamplerState_FWD_DEFINED__ */
  104. #ifndef __ID3D10Asynchronous_FWD_DEFINED__
  105. #define __ID3D10Asynchronous_FWD_DEFINED__
  106. typedef interface ID3D10Asynchronous ID3D10Asynchronous;
  107. #endif /* __ID3D10Asynchronous_FWD_DEFINED__ */
  108. #ifndef __ID3D10Query_FWD_DEFINED__
  109. #define __ID3D10Query_FWD_DEFINED__
  110. typedef interface ID3D10Query ID3D10Query;
  111. #endif /* __ID3D10Query_FWD_DEFINED__ */
  112. #ifndef __ID3D10Predicate_FWD_DEFINED__
  113. #define __ID3D10Predicate_FWD_DEFINED__
  114. typedef interface ID3D10Predicate ID3D10Predicate;
  115. #endif /* __ID3D10Predicate_FWD_DEFINED__ */
  116. #ifndef __ID3D10Counter_FWD_DEFINED__
  117. #define __ID3D10Counter_FWD_DEFINED__
  118. typedef interface ID3D10Counter ID3D10Counter;
  119. #endif /* __ID3D10Counter_FWD_DEFINED__ */
  120. #ifndef __ID3D10Device_FWD_DEFINED__
  121. #define __ID3D10Device_FWD_DEFINED__
  122. typedef interface ID3D10Device ID3D10Device;
  123. #endif /* __ID3D10Device_FWD_DEFINED__ */
  124. #ifndef __ID3D10Multithread_FWD_DEFINED__
  125. #define __ID3D10Multithread_FWD_DEFINED__
  126. typedef interface ID3D10Multithread ID3D10Multithread;
  127. #endif /* __ID3D10Multithread_FWD_DEFINED__ */
  128. /* header files for imported files */
  129. #include "oaidl.h"
  130. #include "ocidl.h"
  131. #include "dxgi.h"
  132. #include "d3dcommon.h"
  133. #ifdef __cplusplus
  134. extern "C"{
  135. #endif
  136. /* interface __MIDL_itf_d3d10_0000_0000 */
  137. /* [local] */
  138. #ifndef _D3D10_CONSTANTS
  139. #define _D3D10_CONSTANTS
  140. #define D3D10_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
  141. #define D3D10_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
  142. #define D3D10_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
  143. #define D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
  144. #define D3D10_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
  145. #define D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
  146. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
  147. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
  148. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
  149. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
  150. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
  151. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
  152. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
  153. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
  154. #define D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
  155. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
  156. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
  157. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
  158. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
  159. #define D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
  160. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
  161. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
  162. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
  163. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
  164. #define D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
  165. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
  166. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
  167. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
  168. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
  169. #define D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
  170. #define D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
  171. #define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
  172. #define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  173. #define D3D10_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
  174. #define D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
  175. #define D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
  176. #define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
  177. #define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
  178. #define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
  179. #define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
  180. #define D3D10_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
  181. #define D3D10_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
  182. #define D3D10_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
  183. #define D3D10_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
  184. #define D3D10_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
  185. #define D3D10_DEFAULT_DEPTH_BIAS ( 0 )
  186. #define D3D10_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
  187. #define D3D10_DEFAULT_MAX_ANISOTROPY ( 16.0f )
  188. #define D3D10_DEFAULT_MIP_LOD_BIAS ( 0.0f )
  189. #define D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
  190. #define D3D10_DEFAULT_SAMPLE_MASK ( 0xffffffff )
  191. #define D3D10_DEFAULT_SCISSOR_ENDX ( 0 )
  192. #define D3D10_DEFAULT_SCISSOR_ENDY ( 0 )
  193. #define D3D10_DEFAULT_SCISSOR_STARTX ( 0 )
  194. #define D3D10_DEFAULT_SCISSOR_STARTY ( 0 )
  195. #define D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
  196. #define D3D10_DEFAULT_STENCIL_READ_MASK ( 0xff )
  197. #define D3D10_DEFAULT_STENCIL_REFERENCE ( 0 )
  198. #define D3D10_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
  199. #define D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
  200. #define D3D10_DEFAULT_VIEWPORT_HEIGHT ( 0 )
  201. #define D3D10_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
  202. #define D3D10_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
  203. #define D3D10_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
  204. #define D3D10_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
  205. #define D3D10_DEFAULT_VIEWPORT_WIDTH ( 0 )
  206. #define D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
  207. #define D3D10_FLOAT32_MAX ( 3.402823466e+38f )
  208. #define D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
  209. #define D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
  210. #define D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
  211. #define D3D10_FLOAT_TO_SRGB_OFFSET ( 0.055f )
  212. #define D3D10_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
  213. #define D3D10_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
  214. #define D3D10_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
  215. #define D3D10_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
  216. #define D3D10_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
  217. #define D3D10_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
  218. #define D3D10_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
  219. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
  220. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  221. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
  222. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
  223. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
  224. #define D3D10_GS_INPUT_REGISTER_COMPONENTS ( 4 )
  225. #define D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  226. #define D3D10_GS_INPUT_REGISTER_COUNT ( 16 )
  227. #define D3D10_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
  228. #define D3D10_GS_INPUT_REGISTER_READ_PORTS ( 1 )
  229. #define D3D10_GS_INPUT_REGISTER_VERTICES ( 6 )
  230. #define D3D10_GS_OUTPUT_ELEMENTS ( 32 )
  231. #define D3D10_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  232. #define D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  233. #define D3D10_GS_OUTPUT_REGISTER_COUNT ( 32 )
  234. #define D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
  235. #define D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
  236. #define D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
  237. #define D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
  238. #define D3D10_IA_INSTANCE_ID_BIT_COUNT ( 32 )
  239. #define D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
  240. #define D3D10_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
  241. #define D3D10_IA_VERTEX_ID_BIT_COUNT ( 32 )
  242. #define D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 16 )
  243. #define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 64 )
  244. #define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 16 )
  245. #define D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
  246. #define D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
  247. #define D3D10_LINEAR_GAMMA ( 1.0f )
  248. #define D3D10_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
  249. #define D3D10_MAX_DEPTH ( 1.0f )
  250. #define D3D10_MAX_MAXANISOTROPY ( 16 )
  251. #define D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
  252. #define D3D10_MAX_POSITION_VALUE ( 3.402823466e+34f )
  253. #define D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
  254. #define D3D10_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
  255. #define D3D10_MIN_DEPTH ( 0.0f )
  256. #define D3D10_MIN_MAXANISOTROPY ( 0 )
  257. #define D3D10_MIP_LOD_BIAS_MAX ( 15.99f )
  258. #define D3D10_MIP_LOD_BIAS_MIN ( -16.0f )
  259. #define D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT ( 6 )
  260. #define D3D10_MIP_LOD_RANGE_BIT_COUNT ( 8 )
  261. #define D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
  262. #define D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
  263. #define D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 13 )
  264. #define D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
  265. #define D3D10_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
  266. #define D3D10_PS_FRONTFACING_FALSE_VALUE ( 0 )
  267. #define D3D10_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
  268. #define D3D10_PS_INPUT_REGISTER_COMPONENTS ( 4 )
  269. #define D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  270. #define D3D10_PS_INPUT_REGISTER_COUNT ( 32 )
  271. #define D3D10_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
  272. #define D3D10_PS_INPUT_REGISTER_READ_PORTS ( 1 )
  273. #define D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
  274. #define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
  275. #define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  276. #define D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
  277. #define D3D10_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  278. #define D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  279. #define D3D10_PS_OUTPUT_REGISTER_COUNT ( 8 )
  280. #define D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
  281. #define D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  282. #define D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
  283. #define D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
  284. #define D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  285. #define D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
  286. #define D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
  287. #define D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 8192 )
  288. #define D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
  289. #define D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
  290. #define D3D10_REQ_MAXANISOTROPY ( 16 )
  291. #define D3D10_REQ_MIP_LEVELS ( 14 )
  292. #define D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
  293. #define D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  294. #define D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 8192 )
  295. #define D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES ( 128 )
  296. #define D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP ( 20 )
  297. #define D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  298. #define D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 512 )
  299. #define D3D10_REQ_TEXTURE1D_U_DIMENSION ( 8192 )
  300. #define D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 512 )
  301. #define D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 8192 )
  302. #define D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
  303. #define D3D10_REQ_TEXTURECUBE_DIMENSION ( 8192 )
  304. #define D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
  305. #define D3D10_SHADER_MAJOR_VERSION ( 4 )
  306. #define D3D10_SHADER_MINOR_VERSION ( 0 )
  307. #define D3D10_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
  308. #define D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
  309. #define D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
  310. #define D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
  311. #define D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 256 )
  312. #define D3D10_SO_BUFFER_SLOT_COUNT ( 4 )
  313. #define D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
  314. #define D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER ( 1 )
  315. #define D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT ( 64 )
  316. #define D3D10_SRGB_GAMMA ( 2.2f )
  317. #define D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
  318. #define D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
  319. #define D3D10_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
  320. #define D3D10_SRGB_TO_FLOAT_OFFSET ( 0.055f )
  321. #define D3D10_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
  322. #define D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
  323. #define D3D10_STANDARD_COMPONENT_BIT_COUNT ( 32 )
  324. #define D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
  325. #define D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
  326. #define D3D10_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
  327. #define D3D10_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
  328. #define D3D10_STANDARD_VECTOR_SIZE ( 4 )
  329. #define D3D10_STANDARD_VERTEX_ELEMENT_COUNT ( 16 )
  330. #define D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
  331. #define D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
  332. #define D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 6 )
  333. #define D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 18 )
  334. #define D3D10_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
  335. #define D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
  336. #define D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
  337. #define D3D10_VIEWPORT_BOUNDS_MAX ( 16383 )
  338. #define D3D10_VIEWPORT_BOUNDS_MIN ( -16384 )
  339. #define D3D10_VS_INPUT_REGISTER_COMPONENTS ( 4 )
  340. #define D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  341. #define D3D10_VS_INPUT_REGISTER_COUNT ( 16 )
  342. #define D3D10_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
  343. #define D3D10_VS_INPUT_REGISTER_READ_PORTS ( 1 )
  344. #define D3D10_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  345. #define D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  346. #define D3D10_VS_OUTPUT_REGISTER_COUNT ( 16 )
  347. #define D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
  348. #define D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
  349. #define D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
  350. #define D3D_MAJOR_VERSION ( 10 )
  351. #define D3D_MINOR_VERSION ( 0 )
  352. #define D3D_SPEC_DATE_DAY ( 8 )
  353. #define D3D_SPEC_DATE_MONTH ( 8 )
  354. #define D3D_SPEC_DATE_YEAR ( 2006 )
  355. #define D3D_SPEC_VERSION ( 1.050005 )
  356. #endif
  357. #include <winapifamily.h>
  358. #pragma region Desktop Family
  359. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  360. #if !defined( __d3d10_1_h__ ) && !(D3D10_HEADER_MINOR_VERSION >= 1)
  361. #define D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
  362. #define D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
  363. #endif
  364. #define _FACD3D10 ( 0x879 )
  365. #define _FACD3D10DEBUG ( ( _FACD3D10 + 1 ) )
  366. #define MAKE_D3D10_HRESULT( code ) MAKE_HRESULT( 1, _FACD3D10, code )
  367. #define MAKE_D3D10_STATUS( code ) MAKE_HRESULT( 0, _FACD3D10, code )
  368. /* Direct3D errors are now found in winerror.h */
  369. typedef
  370. enum D3D10_INPUT_CLASSIFICATION
  371. {
  372. D3D10_INPUT_PER_VERTEX_DATA = 0,
  373. D3D10_INPUT_PER_INSTANCE_DATA = 1
  374. } D3D10_INPUT_CLASSIFICATION;
  375. #define D3D10_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
  376. typedef struct D3D10_INPUT_ELEMENT_DESC
  377. {
  378. LPCSTR SemanticName;
  379. UINT SemanticIndex;
  380. DXGI_FORMAT Format;
  381. UINT InputSlot;
  382. UINT AlignedByteOffset;
  383. D3D10_INPUT_CLASSIFICATION InputSlotClass;
  384. UINT InstanceDataStepRate;
  385. } D3D10_INPUT_ELEMENT_DESC;
  386. typedef
  387. enum D3D10_FILL_MODE
  388. {
  389. D3D10_FILL_WIREFRAME = 2,
  390. D3D10_FILL_SOLID = 3
  391. } D3D10_FILL_MODE;
  392. typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY;
  393. typedef D3D_PRIMITIVE D3D10_PRIMITIVE;
  394. typedef
  395. enum D3D10_CULL_MODE
  396. {
  397. D3D10_CULL_NONE = 1,
  398. D3D10_CULL_FRONT = 2,
  399. D3D10_CULL_BACK = 3
  400. } D3D10_CULL_MODE;
  401. typedef struct D3D10_SO_DECLARATION_ENTRY
  402. {
  403. LPCSTR SemanticName;
  404. UINT SemanticIndex;
  405. BYTE StartComponent;
  406. BYTE ComponentCount;
  407. BYTE OutputSlot;
  408. } D3D10_SO_DECLARATION_ENTRY;
  409. typedef struct D3D10_VIEWPORT
  410. {
  411. INT TopLeftX;
  412. INT TopLeftY;
  413. UINT Width;
  414. UINT Height;
  415. FLOAT MinDepth;
  416. FLOAT MaxDepth;
  417. } D3D10_VIEWPORT;
  418. typedef
  419. enum D3D10_RESOURCE_DIMENSION
  420. {
  421. D3D10_RESOURCE_DIMENSION_UNKNOWN = 0,
  422. D3D10_RESOURCE_DIMENSION_BUFFER = 1,
  423. D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2,
  424. D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3,
  425. D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
  426. } D3D10_RESOURCE_DIMENSION;
  427. typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
  428. typedef
  429. enum D3D10_DSV_DIMENSION
  430. {
  431. D3D10_DSV_DIMENSION_UNKNOWN = 0,
  432. D3D10_DSV_DIMENSION_TEXTURE1D = 1,
  433. D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2,
  434. D3D10_DSV_DIMENSION_TEXTURE2D = 3,
  435. D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4,
  436. D3D10_DSV_DIMENSION_TEXTURE2DMS = 5,
  437. D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
  438. } D3D10_DSV_DIMENSION;
  439. typedef
  440. enum D3D10_RTV_DIMENSION
  441. {
  442. D3D10_RTV_DIMENSION_UNKNOWN = 0,
  443. D3D10_RTV_DIMENSION_BUFFER = 1,
  444. D3D10_RTV_DIMENSION_TEXTURE1D = 2,
  445. D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3,
  446. D3D10_RTV_DIMENSION_TEXTURE2D = 4,
  447. D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5,
  448. D3D10_RTV_DIMENSION_TEXTURE2DMS = 6,
  449. D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
  450. D3D10_RTV_DIMENSION_TEXTURE3D = 8
  451. } D3D10_RTV_DIMENSION;
  452. typedef
  453. enum D3D10_USAGE
  454. {
  455. D3D10_USAGE_DEFAULT = 0,
  456. D3D10_USAGE_IMMUTABLE = 1,
  457. D3D10_USAGE_DYNAMIC = 2,
  458. D3D10_USAGE_STAGING = 3
  459. } D3D10_USAGE;
  460. typedef
  461. enum D3D10_BIND_FLAG
  462. {
  463. D3D10_BIND_VERTEX_BUFFER = 0x1L,
  464. D3D10_BIND_INDEX_BUFFER = 0x2L,
  465. D3D10_BIND_CONSTANT_BUFFER = 0x4L,
  466. D3D10_BIND_SHADER_RESOURCE = 0x8L,
  467. D3D10_BIND_STREAM_OUTPUT = 0x10L,
  468. D3D10_BIND_RENDER_TARGET = 0x20L,
  469. D3D10_BIND_DEPTH_STENCIL = 0x40L
  470. } D3D10_BIND_FLAG;
  471. typedef
  472. enum D3D10_CPU_ACCESS_FLAG
  473. {
  474. D3D10_CPU_ACCESS_WRITE = 0x10000L,
  475. D3D10_CPU_ACCESS_READ = 0x20000L
  476. } D3D10_CPU_ACCESS_FLAG;
  477. typedef
  478. enum D3D10_RESOURCE_MISC_FLAG
  479. {
  480. D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1L,
  481. D3D10_RESOURCE_MISC_SHARED = 0x2L,
  482. D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4L,
  483. D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x10L,
  484. D3D10_RESOURCE_MISC_GDI_COMPATIBLE = 0x20L
  485. } D3D10_RESOURCE_MISC_FLAG;
  486. typedef
  487. enum D3D10_MAP
  488. {
  489. D3D10_MAP_READ = 1,
  490. D3D10_MAP_WRITE = 2,
  491. D3D10_MAP_READ_WRITE = 3,
  492. D3D10_MAP_WRITE_DISCARD = 4,
  493. D3D10_MAP_WRITE_NO_OVERWRITE = 5
  494. } D3D10_MAP;
  495. typedef
  496. enum D3D10_MAP_FLAG
  497. {
  498. D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000L
  499. } D3D10_MAP_FLAG;
  500. typedef
  501. enum D3D10_RAISE_FLAG
  502. {
  503. D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1L
  504. } D3D10_RAISE_FLAG;
  505. typedef
  506. enum D3D10_CLEAR_FLAG
  507. {
  508. D3D10_CLEAR_DEPTH = 0x1L,
  509. D3D10_CLEAR_STENCIL = 0x2L
  510. } D3D10_CLEAR_FLAG;
  511. typedef RECT D3D10_RECT;
  512. typedef struct D3D10_BOX
  513. {
  514. UINT left;
  515. UINT top;
  516. UINT front;
  517. UINT right;
  518. UINT bottom;
  519. UINT back;
  520. } D3D10_BOX;
  521. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0000_v0_0_c_ifspec;
  522. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0000_v0_0_s_ifspec;
  523. #ifndef __ID3D10DeviceChild_INTERFACE_DEFINED__
  524. #define __ID3D10DeviceChild_INTERFACE_DEFINED__
  525. /* interface ID3D10DeviceChild */
  526. /* [unique][local][object][uuid] */
  527. EXTERN_C const IID IID_ID3D10DeviceChild;
  528. #if defined(__cplusplus) && !defined(CINTERFACE)
  529. MIDL_INTERFACE("9B7E4C00-342C-4106-A19F-4F2704F689F0")
  530. ID3D10DeviceChild : public IUnknown
  531. {
  532. public:
  533. virtual void STDMETHODCALLTYPE GetDevice(
  534. /* [annotation] */
  535. _Out_ ID3D10Device **ppDevice) = 0;
  536. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  537. /* [annotation] */
  538. _In_ REFGUID guid,
  539. /* [annotation] */
  540. _Inout_ UINT *pDataSize,
  541. /* [annotation] */
  542. _Out_writes_bytes_opt_(*pDataSize) void *pData) = 0;
  543. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  544. /* [annotation] */
  545. _In_ REFGUID guid,
  546. /* [annotation] */
  547. _In_ UINT DataSize,
  548. /* [annotation] */
  549. _In_reads_bytes_opt_(DataSize) const void *pData) = 0;
  550. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  551. /* [annotation] */
  552. _In_ REFGUID guid,
  553. /* [annotation] */
  554. _In_opt_ const IUnknown *pData) = 0;
  555. };
  556. #else /* C style interface */
  557. typedef struct ID3D10DeviceChildVtbl
  558. {
  559. BEGIN_INTERFACE
  560. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  561. ID3D10DeviceChild * This,
  562. /* [in] */ REFIID riid,
  563. /* [annotation][iid_is][out] */
  564. _COM_Outptr_ void **ppvObject);
  565. ULONG ( STDMETHODCALLTYPE *AddRef )(
  566. ID3D10DeviceChild * This);
  567. ULONG ( STDMETHODCALLTYPE *Release )(
  568. ID3D10DeviceChild * This);
  569. void ( STDMETHODCALLTYPE *GetDevice )(
  570. ID3D10DeviceChild * This,
  571. /* [annotation] */
  572. _Out_ ID3D10Device **ppDevice);
  573. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  574. ID3D10DeviceChild * This,
  575. /* [annotation] */
  576. _In_ REFGUID guid,
  577. /* [annotation] */
  578. _Inout_ UINT *pDataSize,
  579. /* [annotation] */
  580. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  581. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  582. ID3D10DeviceChild * This,
  583. /* [annotation] */
  584. _In_ REFGUID guid,
  585. /* [annotation] */
  586. _In_ UINT DataSize,
  587. /* [annotation] */
  588. _In_reads_bytes_opt_(DataSize) const void *pData);
  589. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  590. ID3D10DeviceChild * This,
  591. /* [annotation] */
  592. _In_ REFGUID guid,
  593. /* [annotation] */
  594. _In_opt_ const IUnknown *pData);
  595. END_INTERFACE
  596. } ID3D10DeviceChildVtbl;
  597. interface ID3D10DeviceChild
  598. {
  599. CONST_VTBL struct ID3D10DeviceChildVtbl *lpVtbl;
  600. };
  601. #ifdef COBJMACROS
  602. #define ID3D10DeviceChild_QueryInterface(This,riid,ppvObject) \
  603. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  604. #define ID3D10DeviceChild_AddRef(This) \
  605. ( (This)->lpVtbl -> AddRef(This) )
  606. #define ID3D10DeviceChild_Release(This) \
  607. ( (This)->lpVtbl -> Release(This) )
  608. #define ID3D10DeviceChild_GetDevice(This,ppDevice) \
  609. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  610. #define ID3D10DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
  611. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  612. #define ID3D10DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
  613. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  614. #define ID3D10DeviceChild_SetPrivateDataInterface(This,guid,pData) \
  615. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  616. #endif /* COBJMACROS */
  617. #endif /* C style interface */
  618. #endif /* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
  619. /* interface __MIDL_itf_d3d10_0000_0001 */
  620. /* [local] */
  621. typedef
  622. enum D3D10_COMPARISON_FUNC
  623. {
  624. D3D10_COMPARISON_NEVER = 1,
  625. D3D10_COMPARISON_LESS = 2,
  626. D3D10_COMPARISON_EQUAL = 3,
  627. D3D10_COMPARISON_LESS_EQUAL = 4,
  628. D3D10_COMPARISON_GREATER = 5,
  629. D3D10_COMPARISON_NOT_EQUAL = 6,
  630. D3D10_COMPARISON_GREATER_EQUAL = 7,
  631. D3D10_COMPARISON_ALWAYS = 8
  632. } D3D10_COMPARISON_FUNC;
  633. typedef
  634. enum D3D10_DEPTH_WRITE_MASK
  635. {
  636. D3D10_DEPTH_WRITE_MASK_ZERO = 0,
  637. D3D10_DEPTH_WRITE_MASK_ALL = 1
  638. } D3D10_DEPTH_WRITE_MASK;
  639. typedef
  640. enum D3D10_STENCIL_OP
  641. {
  642. D3D10_STENCIL_OP_KEEP = 1,
  643. D3D10_STENCIL_OP_ZERO = 2,
  644. D3D10_STENCIL_OP_REPLACE = 3,
  645. D3D10_STENCIL_OP_INCR_SAT = 4,
  646. D3D10_STENCIL_OP_DECR_SAT = 5,
  647. D3D10_STENCIL_OP_INVERT = 6,
  648. D3D10_STENCIL_OP_INCR = 7,
  649. D3D10_STENCIL_OP_DECR = 8
  650. } D3D10_STENCIL_OP;
  651. typedef struct D3D10_DEPTH_STENCILOP_DESC
  652. {
  653. D3D10_STENCIL_OP StencilFailOp;
  654. D3D10_STENCIL_OP StencilDepthFailOp;
  655. D3D10_STENCIL_OP StencilPassOp;
  656. D3D10_COMPARISON_FUNC StencilFunc;
  657. } D3D10_DEPTH_STENCILOP_DESC;
  658. typedef struct D3D10_DEPTH_STENCIL_DESC
  659. {
  660. BOOL DepthEnable;
  661. D3D10_DEPTH_WRITE_MASK DepthWriteMask;
  662. D3D10_COMPARISON_FUNC DepthFunc;
  663. BOOL StencilEnable;
  664. UINT8 StencilReadMask;
  665. UINT8 StencilWriteMask;
  666. D3D10_DEPTH_STENCILOP_DESC FrontFace;
  667. D3D10_DEPTH_STENCILOP_DESC BackFace;
  668. } D3D10_DEPTH_STENCIL_DESC;
  669. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0001_v0_0_c_ifspec;
  670. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0001_v0_0_s_ifspec;
  671. #ifndef __ID3D10DepthStencilState_INTERFACE_DEFINED__
  672. #define __ID3D10DepthStencilState_INTERFACE_DEFINED__
  673. /* interface ID3D10DepthStencilState */
  674. /* [unique][local][object][uuid] */
  675. EXTERN_C const IID IID_ID3D10DepthStencilState;
  676. #if defined(__cplusplus) && !defined(CINTERFACE)
  677. MIDL_INTERFACE("2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675")
  678. ID3D10DepthStencilState : public ID3D10DeviceChild
  679. {
  680. public:
  681. virtual void STDMETHODCALLTYPE GetDesc(
  682. /* [annotation] */
  683. _Out_ D3D10_DEPTH_STENCIL_DESC *pDesc) = 0;
  684. };
  685. #else /* C style interface */
  686. typedef struct ID3D10DepthStencilStateVtbl
  687. {
  688. BEGIN_INTERFACE
  689. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  690. ID3D10DepthStencilState * This,
  691. /* [in] */ REFIID riid,
  692. /* [annotation][iid_is][out] */
  693. _COM_Outptr_ void **ppvObject);
  694. ULONG ( STDMETHODCALLTYPE *AddRef )(
  695. ID3D10DepthStencilState * This);
  696. ULONG ( STDMETHODCALLTYPE *Release )(
  697. ID3D10DepthStencilState * This);
  698. void ( STDMETHODCALLTYPE *GetDevice )(
  699. ID3D10DepthStencilState * This,
  700. /* [annotation] */
  701. _Out_ ID3D10Device **ppDevice);
  702. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  703. ID3D10DepthStencilState * This,
  704. /* [annotation] */
  705. _In_ REFGUID guid,
  706. /* [annotation] */
  707. _Inout_ UINT *pDataSize,
  708. /* [annotation] */
  709. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  710. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  711. ID3D10DepthStencilState * This,
  712. /* [annotation] */
  713. _In_ REFGUID guid,
  714. /* [annotation] */
  715. _In_ UINT DataSize,
  716. /* [annotation] */
  717. _In_reads_bytes_opt_(DataSize) const void *pData);
  718. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  719. ID3D10DepthStencilState * This,
  720. /* [annotation] */
  721. _In_ REFGUID guid,
  722. /* [annotation] */
  723. _In_opt_ const IUnknown *pData);
  724. void ( STDMETHODCALLTYPE *GetDesc )(
  725. ID3D10DepthStencilState * This,
  726. /* [annotation] */
  727. _Out_ D3D10_DEPTH_STENCIL_DESC *pDesc);
  728. END_INTERFACE
  729. } ID3D10DepthStencilStateVtbl;
  730. interface ID3D10DepthStencilState
  731. {
  732. CONST_VTBL struct ID3D10DepthStencilStateVtbl *lpVtbl;
  733. };
  734. #ifdef COBJMACROS
  735. #define ID3D10DepthStencilState_QueryInterface(This,riid,ppvObject) \
  736. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  737. #define ID3D10DepthStencilState_AddRef(This) \
  738. ( (This)->lpVtbl -> AddRef(This) )
  739. #define ID3D10DepthStencilState_Release(This) \
  740. ( (This)->lpVtbl -> Release(This) )
  741. #define ID3D10DepthStencilState_GetDevice(This,ppDevice) \
  742. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  743. #define ID3D10DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) \
  744. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  745. #define ID3D10DepthStencilState_SetPrivateData(This,guid,DataSize,pData) \
  746. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  747. #define ID3D10DepthStencilState_SetPrivateDataInterface(This,guid,pData) \
  748. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  749. #define ID3D10DepthStencilState_GetDesc(This,pDesc) \
  750. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  751. #endif /* COBJMACROS */
  752. #endif /* C style interface */
  753. #endif /* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
  754. /* interface __MIDL_itf_d3d10_0000_0002 */
  755. /* [local] */
  756. typedef
  757. enum D3D10_BLEND
  758. {
  759. D3D10_BLEND_ZERO = 1,
  760. D3D10_BLEND_ONE = 2,
  761. D3D10_BLEND_SRC_COLOR = 3,
  762. D3D10_BLEND_INV_SRC_COLOR = 4,
  763. D3D10_BLEND_SRC_ALPHA = 5,
  764. D3D10_BLEND_INV_SRC_ALPHA = 6,
  765. D3D10_BLEND_DEST_ALPHA = 7,
  766. D3D10_BLEND_INV_DEST_ALPHA = 8,
  767. D3D10_BLEND_DEST_COLOR = 9,
  768. D3D10_BLEND_INV_DEST_COLOR = 10,
  769. D3D10_BLEND_SRC_ALPHA_SAT = 11,
  770. D3D10_BLEND_BLEND_FACTOR = 14,
  771. D3D10_BLEND_INV_BLEND_FACTOR = 15,
  772. D3D10_BLEND_SRC1_COLOR = 16,
  773. D3D10_BLEND_INV_SRC1_COLOR = 17,
  774. D3D10_BLEND_SRC1_ALPHA = 18,
  775. D3D10_BLEND_INV_SRC1_ALPHA = 19
  776. } D3D10_BLEND;
  777. typedef
  778. enum D3D10_BLEND_OP
  779. {
  780. D3D10_BLEND_OP_ADD = 1,
  781. D3D10_BLEND_OP_SUBTRACT = 2,
  782. D3D10_BLEND_OP_REV_SUBTRACT = 3,
  783. D3D10_BLEND_OP_MIN = 4,
  784. D3D10_BLEND_OP_MAX = 5
  785. } D3D10_BLEND_OP;
  786. typedef
  787. enum D3D10_COLOR_WRITE_ENABLE
  788. {
  789. D3D10_COLOR_WRITE_ENABLE_RED = 1,
  790. D3D10_COLOR_WRITE_ENABLE_GREEN = 2,
  791. D3D10_COLOR_WRITE_ENABLE_BLUE = 4,
  792. D3D10_COLOR_WRITE_ENABLE_ALPHA = 8,
  793. D3D10_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN ) | D3D10_COLOR_WRITE_ENABLE_BLUE ) | D3D10_COLOR_WRITE_ENABLE_ALPHA )
  794. } D3D10_COLOR_WRITE_ENABLE;
  795. typedef struct D3D10_BLEND_DESC
  796. {
  797. BOOL AlphaToCoverageEnable;
  798. BOOL BlendEnable[ 8 ];
  799. D3D10_BLEND SrcBlend;
  800. D3D10_BLEND DestBlend;
  801. D3D10_BLEND_OP BlendOp;
  802. D3D10_BLEND SrcBlendAlpha;
  803. D3D10_BLEND DestBlendAlpha;
  804. D3D10_BLEND_OP BlendOpAlpha;
  805. UINT8 RenderTargetWriteMask[ 8 ];
  806. } D3D10_BLEND_DESC;
  807. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0002_v0_0_c_ifspec;
  808. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0002_v0_0_s_ifspec;
  809. #ifndef __ID3D10BlendState_INTERFACE_DEFINED__
  810. #define __ID3D10BlendState_INTERFACE_DEFINED__
  811. /* interface ID3D10BlendState */
  812. /* [unique][local][object][uuid] */
  813. EXTERN_C const IID IID_ID3D10BlendState;
  814. #if defined(__cplusplus) && !defined(CINTERFACE)
  815. MIDL_INTERFACE("EDAD8D19-8A35-4d6d-8566-2EA276CDE161")
  816. ID3D10BlendState : public ID3D10DeviceChild
  817. {
  818. public:
  819. virtual void STDMETHODCALLTYPE GetDesc(
  820. /* [annotation] */
  821. _Out_ D3D10_BLEND_DESC *pDesc) = 0;
  822. };
  823. #else /* C style interface */
  824. typedef struct ID3D10BlendStateVtbl
  825. {
  826. BEGIN_INTERFACE
  827. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  828. ID3D10BlendState * This,
  829. /* [in] */ REFIID riid,
  830. /* [annotation][iid_is][out] */
  831. _COM_Outptr_ void **ppvObject);
  832. ULONG ( STDMETHODCALLTYPE *AddRef )(
  833. ID3D10BlendState * This);
  834. ULONG ( STDMETHODCALLTYPE *Release )(
  835. ID3D10BlendState * This);
  836. void ( STDMETHODCALLTYPE *GetDevice )(
  837. ID3D10BlendState * This,
  838. /* [annotation] */
  839. _Out_ ID3D10Device **ppDevice);
  840. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  841. ID3D10BlendState * This,
  842. /* [annotation] */
  843. _In_ REFGUID guid,
  844. /* [annotation] */
  845. _Inout_ UINT *pDataSize,
  846. /* [annotation] */
  847. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  848. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  849. ID3D10BlendState * This,
  850. /* [annotation] */
  851. _In_ REFGUID guid,
  852. /* [annotation] */
  853. _In_ UINT DataSize,
  854. /* [annotation] */
  855. _In_reads_bytes_opt_(DataSize) const void *pData);
  856. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  857. ID3D10BlendState * This,
  858. /* [annotation] */
  859. _In_ REFGUID guid,
  860. /* [annotation] */
  861. _In_opt_ const IUnknown *pData);
  862. void ( STDMETHODCALLTYPE *GetDesc )(
  863. ID3D10BlendState * This,
  864. /* [annotation] */
  865. _Out_ D3D10_BLEND_DESC *pDesc);
  866. END_INTERFACE
  867. } ID3D10BlendStateVtbl;
  868. interface ID3D10BlendState
  869. {
  870. CONST_VTBL struct ID3D10BlendStateVtbl *lpVtbl;
  871. };
  872. #ifdef COBJMACROS
  873. #define ID3D10BlendState_QueryInterface(This,riid,ppvObject) \
  874. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  875. #define ID3D10BlendState_AddRef(This) \
  876. ( (This)->lpVtbl -> AddRef(This) )
  877. #define ID3D10BlendState_Release(This) \
  878. ( (This)->lpVtbl -> Release(This) )
  879. #define ID3D10BlendState_GetDevice(This,ppDevice) \
  880. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  881. #define ID3D10BlendState_GetPrivateData(This,guid,pDataSize,pData) \
  882. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  883. #define ID3D10BlendState_SetPrivateData(This,guid,DataSize,pData) \
  884. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  885. #define ID3D10BlendState_SetPrivateDataInterface(This,guid,pData) \
  886. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  887. #define ID3D10BlendState_GetDesc(This,pDesc) \
  888. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  889. #endif /* COBJMACROS */
  890. #endif /* C style interface */
  891. #endif /* __ID3D10BlendState_INTERFACE_DEFINED__ */
  892. /* interface __MIDL_itf_d3d10_0000_0003 */
  893. /* [local] */
  894. typedef struct D3D10_RASTERIZER_DESC
  895. {
  896. D3D10_FILL_MODE FillMode;
  897. D3D10_CULL_MODE CullMode;
  898. BOOL FrontCounterClockwise;
  899. INT DepthBias;
  900. FLOAT DepthBiasClamp;
  901. FLOAT SlopeScaledDepthBias;
  902. BOOL DepthClipEnable;
  903. BOOL ScissorEnable;
  904. BOOL MultisampleEnable;
  905. BOOL AntialiasedLineEnable;
  906. } D3D10_RASTERIZER_DESC;
  907. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0003_v0_0_c_ifspec;
  908. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0003_v0_0_s_ifspec;
  909. #ifndef __ID3D10RasterizerState_INTERFACE_DEFINED__
  910. #define __ID3D10RasterizerState_INTERFACE_DEFINED__
  911. /* interface ID3D10RasterizerState */
  912. /* [unique][local][object][uuid] */
  913. EXTERN_C const IID IID_ID3D10RasterizerState;
  914. #if defined(__cplusplus) && !defined(CINTERFACE)
  915. MIDL_INTERFACE("A2A07292-89AF-4345-BE2E-C53D9FBB6E9F")
  916. ID3D10RasterizerState : public ID3D10DeviceChild
  917. {
  918. public:
  919. virtual void STDMETHODCALLTYPE GetDesc(
  920. /* [annotation] */
  921. _Out_ D3D10_RASTERIZER_DESC *pDesc) = 0;
  922. };
  923. #else /* C style interface */
  924. typedef struct ID3D10RasterizerStateVtbl
  925. {
  926. BEGIN_INTERFACE
  927. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  928. ID3D10RasterizerState * This,
  929. /* [in] */ REFIID riid,
  930. /* [annotation][iid_is][out] */
  931. _COM_Outptr_ void **ppvObject);
  932. ULONG ( STDMETHODCALLTYPE *AddRef )(
  933. ID3D10RasterizerState * This);
  934. ULONG ( STDMETHODCALLTYPE *Release )(
  935. ID3D10RasterizerState * This);
  936. void ( STDMETHODCALLTYPE *GetDevice )(
  937. ID3D10RasterizerState * This,
  938. /* [annotation] */
  939. _Out_ ID3D10Device **ppDevice);
  940. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  941. ID3D10RasterizerState * This,
  942. /* [annotation] */
  943. _In_ REFGUID guid,
  944. /* [annotation] */
  945. _Inout_ UINT *pDataSize,
  946. /* [annotation] */
  947. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  948. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  949. ID3D10RasterizerState * This,
  950. /* [annotation] */
  951. _In_ REFGUID guid,
  952. /* [annotation] */
  953. _In_ UINT DataSize,
  954. /* [annotation] */
  955. _In_reads_bytes_opt_(DataSize) const void *pData);
  956. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  957. ID3D10RasterizerState * This,
  958. /* [annotation] */
  959. _In_ REFGUID guid,
  960. /* [annotation] */
  961. _In_opt_ const IUnknown *pData);
  962. void ( STDMETHODCALLTYPE *GetDesc )(
  963. ID3D10RasterizerState * This,
  964. /* [annotation] */
  965. _Out_ D3D10_RASTERIZER_DESC *pDesc);
  966. END_INTERFACE
  967. } ID3D10RasterizerStateVtbl;
  968. interface ID3D10RasterizerState
  969. {
  970. CONST_VTBL struct ID3D10RasterizerStateVtbl *lpVtbl;
  971. };
  972. #ifdef COBJMACROS
  973. #define ID3D10RasterizerState_QueryInterface(This,riid,ppvObject) \
  974. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  975. #define ID3D10RasterizerState_AddRef(This) \
  976. ( (This)->lpVtbl -> AddRef(This) )
  977. #define ID3D10RasterizerState_Release(This) \
  978. ( (This)->lpVtbl -> Release(This) )
  979. #define ID3D10RasterizerState_GetDevice(This,ppDevice) \
  980. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  981. #define ID3D10RasterizerState_GetPrivateData(This,guid,pDataSize,pData) \
  982. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  983. #define ID3D10RasterizerState_SetPrivateData(This,guid,DataSize,pData) \
  984. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  985. #define ID3D10RasterizerState_SetPrivateDataInterface(This,guid,pData) \
  986. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  987. #define ID3D10RasterizerState_GetDesc(This,pDesc) \
  988. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  989. #endif /* COBJMACROS */
  990. #endif /* C style interface */
  991. #endif /* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
  992. /* interface __MIDL_itf_d3d10_0000_0004 */
  993. /* [local] */
  994. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  995. inline UINT D3D10CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT MipLevels )
  996. { return MipSlice + ArraySlice * MipLevels; }
  997. #endif
  998. typedef struct D3D10_SUBRESOURCE_DATA
  999. {
  1000. const void *pSysMem;
  1001. UINT SysMemPitch;
  1002. UINT SysMemSlicePitch;
  1003. } D3D10_SUBRESOURCE_DATA;
  1004. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0004_v0_0_c_ifspec;
  1005. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0004_v0_0_s_ifspec;
  1006. #ifndef __ID3D10Resource_INTERFACE_DEFINED__
  1007. #define __ID3D10Resource_INTERFACE_DEFINED__
  1008. /* interface ID3D10Resource */
  1009. /* [unique][local][object][uuid] */
  1010. EXTERN_C const IID IID_ID3D10Resource;
  1011. #if defined(__cplusplus) && !defined(CINTERFACE)
  1012. MIDL_INTERFACE("9B7E4C01-342C-4106-A19F-4F2704F689F0")
  1013. ID3D10Resource : public ID3D10DeviceChild
  1014. {
  1015. public:
  1016. virtual void STDMETHODCALLTYPE GetType(
  1017. /* [annotation] */
  1018. _Out_ D3D10_RESOURCE_DIMENSION *rType) = 0;
  1019. virtual void STDMETHODCALLTYPE SetEvictionPriority(
  1020. /* [annotation] */
  1021. _In_ UINT EvictionPriority) = 0;
  1022. virtual UINT STDMETHODCALLTYPE GetEvictionPriority( void) = 0;
  1023. };
  1024. #else /* C style interface */
  1025. typedef struct ID3D10ResourceVtbl
  1026. {
  1027. BEGIN_INTERFACE
  1028. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1029. ID3D10Resource * This,
  1030. /* [in] */ REFIID riid,
  1031. /* [annotation][iid_is][out] */
  1032. _COM_Outptr_ void **ppvObject);
  1033. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1034. ID3D10Resource * This);
  1035. ULONG ( STDMETHODCALLTYPE *Release )(
  1036. ID3D10Resource * This);
  1037. void ( STDMETHODCALLTYPE *GetDevice )(
  1038. ID3D10Resource * This,
  1039. /* [annotation] */
  1040. _Out_ ID3D10Device **ppDevice);
  1041. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1042. ID3D10Resource * This,
  1043. /* [annotation] */
  1044. _In_ REFGUID guid,
  1045. /* [annotation] */
  1046. _Inout_ UINT *pDataSize,
  1047. /* [annotation] */
  1048. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  1049. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1050. ID3D10Resource * This,
  1051. /* [annotation] */
  1052. _In_ REFGUID guid,
  1053. /* [annotation] */
  1054. _In_ UINT DataSize,
  1055. /* [annotation] */
  1056. _In_reads_bytes_opt_(DataSize) const void *pData);
  1057. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1058. ID3D10Resource * This,
  1059. /* [annotation] */
  1060. _In_ REFGUID guid,
  1061. /* [annotation] */
  1062. _In_opt_ const IUnknown *pData);
  1063. void ( STDMETHODCALLTYPE *GetType )(
  1064. ID3D10Resource * This,
  1065. /* [annotation] */
  1066. _Out_ D3D10_RESOURCE_DIMENSION *rType);
  1067. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1068. ID3D10Resource * This,
  1069. /* [annotation] */
  1070. _In_ UINT EvictionPriority);
  1071. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1072. ID3D10Resource * This);
  1073. END_INTERFACE
  1074. } ID3D10ResourceVtbl;
  1075. interface ID3D10Resource
  1076. {
  1077. CONST_VTBL struct ID3D10ResourceVtbl *lpVtbl;
  1078. };
  1079. #ifdef COBJMACROS
  1080. #define ID3D10Resource_QueryInterface(This,riid,ppvObject) \
  1081. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1082. #define ID3D10Resource_AddRef(This) \
  1083. ( (This)->lpVtbl -> AddRef(This) )
  1084. #define ID3D10Resource_Release(This) \
  1085. ( (This)->lpVtbl -> Release(This) )
  1086. #define ID3D10Resource_GetDevice(This,ppDevice) \
  1087. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1088. #define ID3D10Resource_GetPrivateData(This,guid,pDataSize,pData) \
  1089. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1090. #define ID3D10Resource_SetPrivateData(This,guid,DataSize,pData) \
  1091. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1092. #define ID3D10Resource_SetPrivateDataInterface(This,guid,pData) \
  1093. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1094. #define ID3D10Resource_GetType(This,rType) \
  1095. ( (This)->lpVtbl -> GetType(This,rType) )
  1096. #define ID3D10Resource_SetEvictionPriority(This,EvictionPriority) \
  1097. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1098. #define ID3D10Resource_GetEvictionPriority(This) \
  1099. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1100. #endif /* COBJMACROS */
  1101. #endif /* C style interface */
  1102. #endif /* __ID3D10Resource_INTERFACE_DEFINED__ */
  1103. /* interface __MIDL_itf_d3d10_0000_0005 */
  1104. /* [local] */
  1105. typedef struct D3D10_BUFFER_DESC
  1106. {
  1107. UINT ByteWidth;
  1108. D3D10_USAGE Usage;
  1109. UINT BindFlags;
  1110. UINT CPUAccessFlags;
  1111. UINT MiscFlags;
  1112. } D3D10_BUFFER_DESC;
  1113. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1114. struct CD3D10_BUFFER_DESC : public D3D10_BUFFER_DESC
  1115. {
  1116. CD3D10_BUFFER_DESC()
  1117. {}
  1118. explicit CD3D10_BUFFER_DESC( const D3D10_BUFFER_DESC& o ) :
  1119. D3D10_BUFFER_DESC( o )
  1120. {}
  1121. explicit CD3D10_BUFFER_DESC(
  1122. UINT byteWidth,
  1123. UINT bindFlags,
  1124. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1125. UINT cpuaccessFlags = 0,
  1126. UINT miscFlags = 0 )
  1127. {
  1128. ByteWidth = byteWidth;
  1129. Usage = usage;
  1130. BindFlags = bindFlags;
  1131. CPUAccessFlags = cpuaccessFlags ;
  1132. MiscFlags = miscFlags;
  1133. }
  1134. ~CD3D10_BUFFER_DESC() {}
  1135. operator const D3D10_BUFFER_DESC&() const { return *this; }
  1136. };
  1137. #endif
  1138. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0005_v0_0_c_ifspec;
  1139. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0005_v0_0_s_ifspec;
  1140. #ifndef __ID3D10Buffer_INTERFACE_DEFINED__
  1141. #define __ID3D10Buffer_INTERFACE_DEFINED__
  1142. /* interface ID3D10Buffer */
  1143. /* [unique][local][object][uuid] */
  1144. EXTERN_C const IID IID_ID3D10Buffer;
  1145. #if defined(__cplusplus) && !defined(CINTERFACE)
  1146. MIDL_INTERFACE("9B7E4C02-342C-4106-A19F-4F2704F689F0")
  1147. ID3D10Buffer : public ID3D10Resource
  1148. {
  1149. public:
  1150. virtual HRESULT STDMETHODCALLTYPE Map(
  1151. /* [annotation] */
  1152. _In_ D3D10_MAP MapType,
  1153. /* [annotation] */
  1154. _In_ UINT MapFlags,
  1155. /* [annotation] */
  1156. _Out_ void **ppData) = 0;
  1157. virtual void STDMETHODCALLTYPE Unmap( void) = 0;
  1158. virtual void STDMETHODCALLTYPE GetDesc(
  1159. /* [annotation] */
  1160. _Out_ D3D10_BUFFER_DESC *pDesc) = 0;
  1161. };
  1162. #else /* C style interface */
  1163. typedef struct ID3D10BufferVtbl
  1164. {
  1165. BEGIN_INTERFACE
  1166. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1167. ID3D10Buffer * This,
  1168. /* [in] */ REFIID riid,
  1169. /* [annotation][iid_is][out] */
  1170. _COM_Outptr_ void **ppvObject);
  1171. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1172. ID3D10Buffer * This);
  1173. ULONG ( STDMETHODCALLTYPE *Release )(
  1174. ID3D10Buffer * This);
  1175. void ( STDMETHODCALLTYPE *GetDevice )(
  1176. ID3D10Buffer * This,
  1177. /* [annotation] */
  1178. _Out_ ID3D10Device **ppDevice);
  1179. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1180. ID3D10Buffer * This,
  1181. /* [annotation] */
  1182. _In_ REFGUID guid,
  1183. /* [annotation] */
  1184. _Inout_ UINT *pDataSize,
  1185. /* [annotation] */
  1186. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  1187. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1188. ID3D10Buffer * This,
  1189. /* [annotation] */
  1190. _In_ REFGUID guid,
  1191. /* [annotation] */
  1192. _In_ UINT DataSize,
  1193. /* [annotation] */
  1194. _In_reads_bytes_opt_(DataSize) const void *pData);
  1195. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1196. ID3D10Buffer * This,
  1197. /* [annotation] */
  1198. _In_ REFGUID guid,
  1199. /* [annotation] */
  1200. _In_opt_ const IUnknown *pData);
  1201. void ( STDMETHODCALLTYPE *GetType )(
  1202. ID3D10Buffer * This,
  1203. /* [annotation] */
  1204. _Out_ D3D10_RESOURCE_DIMENSION *rType);
  1205. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1206. ID3D10Buffer * This,
  1207. /* [annotation] */
  1208. _In_ UINT EvictionPriority);
  1209. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1210. ID3D10Buffer * This);
  1211. HRESULT ( STDMETHODCALLTYPE *Map )(
  1212. ID3D10Buffer * This,
  1213. /* [annotation] */
  1214. _In_ D3D10_MAP MapType,
  1215. /* [annotation] */
  1216. _In_ UINT MapFlags,
  1217. /* [annotation] */
  1218. _Out_ void **ppData);
  1219. void ( STDMETHODCALLTYPE *Unmap )(
  1220. ID3D10Buffer * This);
  1221. void ( STDMETHODCALLTYPE *GetDesc )(
  1222. ID3D10Buffer * This,
  1223. /* [annotation] */
  1224. _Out_ D3D10_BUFFER_DESC *pDesc);
  1225. END_INTERFACE
  1226. } ID3D10BufferVtbl;
  1227. interface ID3D10Buffer
  1228. {
  1229. CONST_VTBL struct ID3D10BufferVtbl *lpVtbl;
  1230. };
  1231. #ifdef COBJMACROS
  1232. #define ID3D10Buffer_QueryInterface(This,riid,ppvObject) \
  1233. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1234. #define ID3D10Buffer_AddRef(This) \
  1235. ( (This)->lpVtbl -> AddRef(This) )
  1236. #define ID3D10Buffer_Release(This) \
  1237. ( (This)->lpVtbl -> Release(This) )
  1238. #define ID3D10Buffer_GetDevice(This,ppDevice) \
  1239. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1240. #define ID3D10Buffer_GetPrivateData(This,guid,pDataSize,pData) \
  1241. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1242. #define ID3D10Buffer_SetPrivateData(This,guid,DataSize,pData) \
  1243. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1244. #define ID3D10Buffer_SetPrivateDataInterface(This,guid,pData) \
  1245. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1246. #define ID3D10Buffer_GetType(This,rType) \
  1247. ( (This)->lpVtbl -> GetType(This,rType) )
  1248. #define ID3D10Buffer_SetEvictionPriority(This,EvictionPriority) \
  1249. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1250. #define ID3D10Buffer_GetEvictionPriority(This) \
  1251. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1252. #define ID3D10Buffer_Map(This,MapType,MapFlags,ppData) \
  1253. ( (This)->lpVtbl -> Map(This,MapType,MapFlags,ppData) )
  1254. #define ID3D10Buffer_Unmap(This) \
  1255. ( (This)->lpVtbl -> Unmap(This) )
  1256. #define ID3D10Buffer_GetDesc(This,pDesc) \
  1257. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1258. #endif /* COBJMACROS */
  1259. #endif /* C style interface */
  1260. #endif /* __ID3D10Buffer_INTERFACE_DEFINED__ */
  1261. /* interface __MIDL_itf_d3d10_0000_0006 */
  1262. /* [local] */
  1263. typedef struct D3D10_TEXTURE1D_DESC
  1264. {
  1265. UINT Width;
  1266. UINT MipLevels;
  1267. UINT ArraySize;
  1268. DXGI_FORMAT Format;
  1269. D3D10_USAGE Usage;
  1270. UINT BindFlags;
  1271. UINT CPUAccessFlags;
  1272. UINT MiscFlags;
  1273. } D3D10_TEXTURE1D_DESC;
  1274. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1275. struct CD3D10_TEXTURE1D_DESC : public D3D10_TEXTURE1D_DESC
  1276. {
  1277. CD3D10_TEXTURE1D_DESC()
  1278. {}
  1279. explicit CD3D10_TEXTURE1D_DESC( const D3D10_TEXTURE1D_DESC& o ) :
  1280. D3D10_TEXTURE1D_DESC( o )
  1281. {}
  1282. explicit CD3D10_TEXTURE1D_DESC(
  1283. DXGI_FORMAT format,
  1284. UINT width,
  1285. UINT arraySize = 1,
  1286. UINT mipLevels = 0,
  1287. UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
  1288. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1289. UINT cpuaccessFlags= 0,
  1290. UINT miscFlags = 0 )
  1291. {
  1292. Width = width;
  1293. MipLevels = mipLevels;
  1294. ArraySize = arraySize;
  1295. Format = format;
  1296. Usage = usage;
  1297. BindFlags = bindFlags;
  1298. CPUAccessFlags = cpuaccessFlags;
  1299. MiscFlags = miscFlags;
  1300. }
  1301. ~CD3D10_TEXTURE1D_DESC() {}
  1302. operator const D3D10_TEXTURE1D_DESC&() const { return *this; }
  1303. };
  1304. #endif
  1305. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0006_v0_0_c_ifspec;
  1306. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0006_v0_0_s_ifspec;
  1307. #ifndef __ID3D10Texture1D_INTERFACE_DEFINED__
  1308. #define __ID3D10Texture1D_INTERFACE_DEFINED__
  1309. /* interface ID3D10Texture1D */
  1310. /* [unique][local][object][uuid] */
  1311. EXTERN_C const IID IID_ID3D10Texture1D;
  1312. #if defined(__cplusplus) && !defined(CINTERFACE)
  1313. MIDL_INTERFACE("9B7E4C03-342C-4106-A19F-4F2704F689F0")
  1314. ID3D10Texture1D : public ID3D10Resource
  1315. {
  1316. public:
  1317. virtual HRESULT STDMETHODCALLTYPE Map(
  1318. /* [annotation] */
  1319. _In_ UINT Subresource,
  1320. /* [annotation] */
  1321. _In_ D3D10_MAP MapType,
  1322. /* [annotation] */
  1323. _In_ UINT MapFlags,
  1324. /* [annotation] */
  1325. _Out_ void **ppData) = 0;
  1326. virtual void STDMETHODCALLTYPE Unmap(
  1327. /* [annotation] */
  1328. _In_ UINT Subresource) = 0;
  1329. virtual void STDMETHODCALLTYPE GetDesc(
  1330. /* [annotation] */
  1331. _Out_ D3D10_TEXTURE1D_DESC *pDesc) = 0;
  1332. };
  1333. #else /* C style interface */
  1334. typedef struct ID3D10Texture1DVtbl
  1335. {
  1336. BEGIN_INTERFACE
  1337. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1338. ID3D10Texture1D * This,
  1339. /* [in] */ REFIID riid,
  1340. /* [annotation][iid_is][out] */
  1341. _COM_Outptr_ void **ppvObject);
  1342. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1343. ID3D10Texture1D * This);
  1344. ULONG ( STDMETHODCALLTYPE *Release )(
  1345. ID3D10Texture1D * This);
  1346. void ( STDMETHODCALLTYPE *GetDevice )(
  1347. ID3D10Texture1D * This,
  1348. /* [annotation] */
  1349. _Out_ ID3D10Device **ppDevice);
  1350. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1351. ID3D10Texture1D * This,
  1352. /* [annotation] */
  1353. _In_ REFGUID guid,
  1354. /* [annotation] */
  1355. _Inout_ UINT *pDataSize,
  1356. /* [annotation] */
  1357. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  1358. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1359. ID3D10Texture1D * This,
  1360. /* [annotation] */
  1361. _In_ REFGUID guid,
  1362. /* [annotation] */
  1363. _In_ UINT DataSize,
  1364. /* [annotation] */
  1365. _In_reads_bytes_opt_(DataSize) const void *pData);
  1366. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1367. ID3D10Texture1D * This,
  1368. /* [annotation] */
  1369. _In_ REFGUID guid,
  1370. /* [annotation] */
  1371. _In_opt_ const IUnknown *pData);
  1372. void ( STDMETHODCALLTYPE *GetType )(
  1373. ID3D10Texture1D * This,
  1374. /* [annotation] */
  1375. _Out_ D3D10_RESOURCE_DIMENSION *rType);
  1376. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1377. ID3D10Texture1D * This,
  1378. /* [annotation] */
  1379. _In_ UINT EvictionPriority);
  1380. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1381. ID3D10Texture1D * This);
  1382. HRESULT ( STDMETHODCALLTYPE *Map )(
  1383. ID3D10Texture1D * This,
  1384. /* [annotation] */
  1385. _In_ UINT Subresource,
  1386. /* [annotation] */
  1387. _In_ D3D10_MAP MapType,
  1388. /* [annotation] */
  1389. _In_ UINT MapFlags,
  1390. /* [annotation] */
  1391. _Out_ void **ppData);
  1392. void ( STDMETHODCALLTYPE *Unmap )(
  1393. ID3D10Texture1D * This,
  1394. /* [annotation] */
  1395. _In_ UINT Subresource);
  1396. void ( STDMETHODCALLTYPE *GetDesc )(
  1397. ID3D10Texture1D * This,
  1398. /* [annotation] */
  1399. _Out_ D3D10_TEXTURE1D_DESC *pDesc);
  1400. END_INTERFACE
  1401. } ID3D10Texture1DVtbl;
  1402. interface ID3D10Texture1D
  1403. {
  1404. CONST_VTBL struct ID3D10Texture1DVtbl *lpVtbl;
  1405. };
  1406. #ifdef COBJMACROS
  1407. #define ID3D10Texture1D_QueryInterface(This,riid,ppvObject) \
  1408. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1409. #define ID3D10Texture1D_AddRef(This) \
  1410. ( (This)->lpVtbl -> AddRef(This) )
  1411. #define ID3D10Texture1D_Release(This) \
  1412. ( (This)->lpVtbl -> Release(This) )
  1413. #define ID3D10Texture1D_GetDevice(This,ppDevice) \
  1414. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1415. #define ID3D10Texture1D_GetPrivateData(This,guid,pDataSize,pData) \
  1416. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1417. #define ID3D10Texture1D_SetPrivateData(This,guid,DataSize,pData) \
  1418. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1419. #define ID3D10Texture1D_SetPrivateDataInterface(This,guid,pData) \
  1420. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1421. #define ID3D10Texture1D_GetType(This,rType) \
  1422. ( (This)->lpVtbl -> GetType(This,rType) )
  1423. #define ID3D10Texture1D_SetEvictionPriority(This,EvictionPriority) \
  1424. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1425. #define ID3D10Texture1D_GetEvictionPriority(This) \
  1426. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1427. #define ID3D10Texture1D_Map(This,Subresource,MapType,MapFlags,ppData) \
  1428. ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,ppData) )
  1429. #define ID3D10Texture1D_Unmap(This,Subresource) \
  1430. ( (This)->lpVtbl -> Unmap(This,Subresource) )
  1431. #define ID3D10Texture1D_GetDesc(This,pDesc) \
  1432. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1433. #endif /* COBJMACROS */
  1434. #endif /* C style interface */
  1435. #endif /* __ID3D10Texture1D_INTERFACE_DEFINED__ */
  1436. /* interface __MIDL_itf_d3d10_0000_0007 */
  1437. /* [local] */
  1438. typedef struct D3D10_TEXTURE2D_DESC
  1439. {
  1440. UINT Width;
  1441. UINT Height;
  1442. UINT MipLevels;
  1443. UINT ArraySize;
  1444. DXGI_FORMAT Format;
  1445. DXGI_SAMPLE_DESC SampleDesc;
  1446. D3D10_USAGE Usage;
  1447. UINT BindFlags;
  1448. UINT CPUAccessFlags;
  1449. UINT MiscFlags;
  1450. } D3D10_TEXTURE2D_DESC;
  1451. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1452. struct CD3D10_TEXTURE2D_DESC : public D3D10_TEXTURE2D_DESC
  1453. {
  1454. CD3D10_TEXTURE2D_DESC()
  1455. {}
  1456. explicit CD3D10_TEXTURE2D_DESC( const D3D10_TEXTURE2D_DESC& o ) :
  1457. D3D10_TEXTURE2D_DESC( o )
  1458. {}
  1459. explicit CD3D10_TEXTURE2D_DESC(
  1460. DXGI_FORMAT format,
  1461. UINT width,
  1462. UINT height,
  1463. UINT arraySize = 1,
  1464. UINT mipLevels = 0,
  1465. UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
  1466. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1467. UINT cpuaccessFlags = 0,
  1468. UINT sampleCount = 1,
  1469. UINT sampleQuality = 0,
  1470. UINT miscFlags = 0 )
  1471. {
  1472. Width = width;
  1473. Height = height;
  1474. MipLevels = mipLevels;
  1475. ArraySize = arraySize;
  1476. Format = format;
  1477. SampleDesc.Count = sampleCount;
  1478. SampleDesc.Quality = sampleQuality;
  1479. Usage = usage;
  1480. BindFlags = bindFlags;
  1481. CPUAccessFlags = cpuaccessFlags;
  1482. MiscFlags = miscFlags;
  1483. }
  1484. ~CD3D10_TEXTURE2D_DESC() {}
  1485. operator const D3D10_TEXTURE2D_DESC&() const { return *this; }
  1486. };
  1487. #endif
  1488. typedef struct D3D10_MAPPED_TEXTURE2D
  1489. {
  1490. void *pData;
  1491. UINT RowPitch;
  1492. } D3D10_MAPPED_TEXTURE2D;
  1493. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0007_v0_0_c_ifspec;
  1494. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0007_v0_0_s_ifspec;
  1495. #ifndef __ID3D10Texture2D_INTERFACE_DEFINED__
  1496. #define __ID3D10Texture2D_INTERFACE_DEFINED__
  1497. /* interface ID3D10Texture2D */
  1498. /* [unique][local][object][uuid] */
  1499. EXTERN_C const IID IID_ID3D10Texture2D;
  1500. #if defined(__cplusplus) && !defined(CINTERFACE)
  1501. MIDL_INTERFACE("9B7E4C04-342C-4106-A19F-4F2704F689F0")
  1502. ID3D10Texture2D : public ID3D10Resource
  1503. {
  1504. public:
  1505. virtual HRESULT STDMETHODCALLTYPE Map(
  1506. /* [annotation] */
  1507. _In_ UINT Subresource,
  1508. /* [annotation] */
  1509. _In_ D3D10_MAP MapType,
  1510. /* [annotation] */
  1511. _In_ UINT MapFlags,
  1512. /* [annotation] */
  1513. _Out_ D3D10_MAPPED_TEXTURE2D *pMappedTex2D) = 0;
  1514. virtual void STDMETHODCALLTYPE Unmap(
  1515. /* [annotation] */
  1516. _In_ UINT Subresource) = 0;
  1517. virtual void STDMETHODCALLTYPE GetDesc(
  1518. /* [annotation] */
  1519. _Out_ D3D10_TEXTURE2D_DESC *pDesc) = 0;
  1520. };
  1521. #else /* C style interface */
  1522. typedef struct ID3D10Texture2DVtbl
  1523. {
  1524. BEGIN_INTERFACE
  1525. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1526. ID3D10Texture2D * This,
  1527. /* [in] */ REFIID riid,
  1528. /* [annotation][iid_is][out] */
  1529. _COM_Outptr_ void **ppvObject);
  1530. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1531. ID3D10Texture2D * This);
  1532. ULONG ( STDMETHODCALLTYPE *Release )(
  1533. ID3D10Texture2D * This);
  1534. void ( STDMETHODCALLTYPE *GetDevice )(
  1535. ID3D10Texture2D * This,
  1536. /* [annotation] */
  1537. _Out_ ID3D10Device **ppDevice);
  1538. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1539. ID3D10Texture2D * This,
  1540. /* [annotation] */
  1541. _In_ REFGUID guid,
  1542. /* [annotation] */
  1543. _Inout_ UINT *pDataSize,
  1544. /* [annotation] */
  1545. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  1546. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1547. ID3D10Texture2D * This,
  1548. /* [annotation] */
  1549. _In_ REFGUID guid,
  1550. /* [annotation] */
  1551. _In_ UINT DataSize,
  1552. /* [annotation] */
  1553. _In_reads_bytes_opt_(DataSize) const void *pData);
  1554. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1555. ID3D10Texture2D * This,
  1556. /* [annotation] */
  1557. _In_ REFGUID guid,
  1558. /* [annotation] */
  1559. _In_opt_ const IUnknown *pData);
  1560. void ( STDMETHODCALLTYPE *GetType )(
  1561. ID3D10Texture2D * This,
  1562. /* [annotation] */
  1563. _Out_ D3D10_RESOURCE_DIMENSION *rType);
  1564. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1565. ID3D10Texture2D * This,
  1566. /* [annotation] */
  1567. _In_ UINT EvictionPriority);
  1568. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1569. ID3D10Texture2D * This);
  1570. HRESULT ( STDMETHODCALLTYPE *Map )(
  1571. ID3D10Texture2D * This,
  1572. /* [annotation] */
  1573. _In_ UINT Subresource,
  1574. /* [annotation] */
  1575. _In_ D3D10_MAP MapType,
  1576. /* [annotation] */
  1577. _In_ UINT MapFlags,
  1578. /* [annotation] */
  1579. _Out_ D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
  1580. void ( STDMETHODCALLTYPE *Unmap )(
  1581. ID3D10Texture2D * This,
  1582. /* [annotation] */
  1583. _In_ UINT Subresource);
  1584. void ( STDMETHODCALLTYPE *GetDesc )(
  1585. ID3D10Texture2D * This,
  1586. /* [annotation] */
  1587. _Out_ D3D10_TEXTURE2D_DESC *pDesc);
  1588. END_INTERFACE
  1589. } ID3D10Texture2DVtbl;
  1590. interface ID3D10Texture2D
  1591. {
  1592. CONST_VTBL struct ID3D10Texture2DVtbl *lpVtbl;
  1593. };
  1594. #ifdef COBJMACROS
  1595. #define ID3D10Texture2D_QueryInterface(This,riid,ppvObject) \
  1596. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1597. #define ID3D10Texture2D_AddRef(This) \
  1598. ( (This)->lpVtbl -> AddRef(This) )
  1599. #define ID3D10Texture2D_Release(This) \
  1600. ( (This)->lpVtbl -> Release(This) )
  1601. #define ID3D10Texture2D_GetDevice(This,ppDevice) \
  1602. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1603. #define ID3D10Texture2D_GetPrivateData(This,guid,pDataSize,pData) \
  1604. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1605. #define ID3D10Texture2D_SetPrivateData(This,guid,DataSize,pData) \
  1606. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1607. #define ID3D10Texture2D_SetPrivateDataInterface(This,guid,pData) \
  1608. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1609. #define ID3D10Texture2D_GetType(This,rType) \
  1610. ( (This)->lpVtbl -> GetType(This,rType) )
  1611. #define ID3D10Texture2D_SetEvictionPriority(This,EvictionPriority) \
  1612. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1613. #define ID3D10Texture2D_GetEvictionPriority(This) \
  1614. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1615. #define ID3D10Texture2D_Map(This,Subresource,MapType,MapFlags,pMappedTex2D) \
  1616. ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,pMappedTex2D) )
  1617. #define ID3D10Texture2D_Unmap(This,Subresource) \
  1618. ( (This)->lpVtbl -> Unmap(This,Subresource) )
  1619. #define ID3D10Texture2D_GetDesc(This,pDesc) \
  1620. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1621. #endif /* COBJMACROS */
  1622. #endif /* C style interface */
  1623. #endif /* __ID3D10Texture2D_INTERFACE_DEFINED__ */
  1624. /* interface __MIDL_itf_d3d10_0000_0008 */
  1625. /* [local] */
  1626. typedef struct D3D10_TEXTURE3D_DESC
  1627. {
  1628. UINT Width;
  1629. UINT Height;
  1630. UINT Depth;
  1631. UINT MipLevels;
  1632. DXGI_FORMAT Format;
  1633. D3D10_USAGE Usage;
  1634. UINT BindFlags;
  1635. UINT CPUAccessFlags;
  1636. UINT MiscFlags;
  1637. } D3D10_TEXTURE3D_DESC;
  1638. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1639. struct CD3D10_TEXTURE3D_DESC : public D3D10_TEXTURE3D_DESC
  1640. {
  1641. CD3D10_TEXTURE3D_DESC()
  1642. {}
  1643. explicit CD3D10_TEXTURE3D_DESC( const D3D10_TEXTURE3D_DESC& o ) :
  1644. D3D10_TEXTURE3D_DESC( o )
  1645. {}
  1646. explicit CD3D10_TEXTURE3D_DESC(
  1647. DXGI_FORMAT format,
  1648. UINT width,
  1649. UINT height,
  1650. UINT depth,
  1651. UINT mipLevels = 0,
  1652. UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
  1653. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1654. UINT cpuaccessFlags = 0,
  1655. UINT miscFlags = 0 )
  1656. {
  1657. Width = width;
  1658. Height = height;
  1659. Depth = depth;
  1660. MipLevels = mipLevels;
  1661. Format = format;
  1662. Usage = usage;
  1663. BindFlags = bindFlags;
  1664. CPUAccessFlags = cpuaccessFlags;
  1665. MiscFlags = miscFlags;
  1666. }
  1667. ~CD3D10_TEXTURE3D_DESC() {}
  1668. operator const D3D10_TEXTURE3D_DESC&() const { return *this; }
  1669. };
  1670. #endif
  1671. typedef struct D3D10_MAPPED_TEXTURE3D
  1672. {
  1673. void *pData;
  1674. UINT RowPitch;
  1675. UINT DepthPitch;
  1676. } D3D10_MAPPED_TEXTURE3D;
  1677. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0008_v0_0_c_ifspec;
  1678. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0008_v0_0_s_ifspec;
  1679. #ifndef __ID3D10Texture3D_INTERFACE_DEFINED__
  1680. #define __ID3D10Texture3D_INTERFACE_DEFINED__
  1681. /* interface ID3D10Texture3D */
  1682. /* [unique][local][object][uuid] */
  1683. EXTERN_C const IID IID_ID3D10Texture3D;
  1684. #if defined(__cplusplus) && !defined(CINTERFACE)
  1685. MIDL_INTERFACE("9B7E4C05-342C-4106-A19F-4F2704F689F0")
  1686. ID3D10Texture3D : public ID3D10Resource
  1687. {
  1688. public:
  1689. virtual HRESULT STDMETHODCALLTYPE Map(
  1690. /* [annotation] */
  1691. _In_ UINT Subresource,
  1692. /* [annotation] */
  1693. _In_ D3D10_MAP MapType,
  1694. /* [annotation] */
  1695. _In_ UINT MapFlags,
  1696. /* [annotation] */
  1697. _Out_ D3D10_MAPPED_TEXTURE3D *pMappedTex3D) = 0;
  1698. virtual void STDMETHODCALLTYPE Unmap(
  1699. /* [annotation] */
  1700. _In_ UINT Subresource) = 0;
  1701. virtual void STDMETHODCALLTYPE GetDesc(
  1702. /* [annotation] */
  1703. _Out_ D3D10_TEXTURE3D_DESC *pDesc) = 0;
  1704. };
  1705. #else /* C style interface */
  1706. typedef struct ID3D10Texture3DVtbl
  1707. {
  1708. BEGIN_INTERFACE
  1709. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1710. ID3D10Texture3D * This,
  1711. /* [in] */ REFIID riid,
  1712. /* [annotation][iid_is][out] */
  1713. _COM_Outptr_ void **ppvObject);
  1714. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1715. ID3D10Texture3D * This);
  1716. ULONG ( STDMETHODCALLTYPE *Release )(
  1717. ID3D10Texture3D * This);
  1718. void ( STDMETHODCALLTYPE *GetDevice )(
  1719. ID3D10Texture3D * This,
  1720. /* [annotation] */
  1721. _Out_ ID3D10Device **ppDevice);
  1722. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1723. ID3D10Texture3D * This,
  1724. /* [annotation] */
  1725. _In_ REFGUID guid,
  1726. /* [annotation] */
  1727. _Inout_ UINT *pDataSize,
  1728. /* [annotation] */
  1729. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  1730. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1731. ID3D10Texture3D * This,
  1732. /* [annotation] */
  1733. _In_ REFGUID guid,
  1734. /* [annotation] */
  1735. _In_ UINT DataSize,
  1736. /* [annotation] */
  1737. _In_reads_bytes_opt_(DataSize) const void *pData);
  1738. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1739. ID3D10Texture3D * This,
  1740. /* [annotation] */
  1741. _In_ REFGUID guid,
  1742. /* [annotation] */
  1743. _In_opt_ const IUnknown *pData);
  1744. void ( STDMETHODCALLTYPE *GetType )(
  1745. ID3D10Texture3D * This,
  1746. /* [annotation] */
  1747. _Out_ D3D10_RESOURCE_DIMENSION *rType);
  1748. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1749. ID3D10Texture3D * This,
  1750. /* [annotation] */
  1751. _In_ UINT EvictionPriority);
  1752. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1753. ID3D10Texture3D * This);
  1754. HRESULT ( STDMETHODCALLTYPE *Map )(
  1755. ID3D10Texture3D * This,
  1756. /* [annotation] */
  1757. _In_ UINT Subresource,
  1758. /* [annotation] */
  1759. _In_ D3D10_MAP MapType,
  1760. /* [annotation] */
  1761. _In_ UINT MapFlags,
  1762. /* [annotation] */
  1763. _Out_ D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
  1764. void ( STDMETHODCALLTYPE *Unmap )(
  1765. ID3D10Texture3D * This,
  1766. /* [annotation] */
  1767. _In_ UINT Subresource);
  1768. void ( STDMETHODCALLTYPE *GetDesc )(
  1769. ID3D10Texture3D * This,
  1770. /* [annotation] */
  1771. _Out_ D3D10_TEXTURE3D_DESC *pDesc);
  1772. END_INTERFACE
  1773. } ID3D10Texture3DVtbl;
  1774. interface ID3D10Texture3D
  1775. {
  1776. CONST_VTBL struct ID3D10Texture3DVtbl *lpVtbl;
  1777. };
  1778. #ifdef COBJMACROS
  1779. #define ID3D10Texture3D_QueryInterface(This,riid,ppvObject) \
  1780. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1781. #define ID3D10Texture3D_AddRef(This) \
  1782. ( (This)->lpVtbl -> AddRef(This) )
  1783. #define ID3D10Texture3D_Release(This) \
  1784. ( (This)->lpVtbl -> Release(This) )
  1785. #define ID3D10Texture3D_GetDevice(This,ppDevice) \
  1786. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1787. #define ID3D10Texture3D_GetPrivateData(This,guid,pDataSize,pData) \
  1788. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1789. #define ID3D10Texture3D_SetPrivateData(This,guid,DataSize,pData) \
  1790. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1791. #define ID3D10Texture3D_SetPrivateDataInterface(This,guid,pData) \
  1792. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1793. #define ID3D10Texture3D_GetType(This,rType) \
  1794. ( (This)->lpVtbl -> GetType(This,rType) )
  1795. #define ID3D10Texture3D_SetEvictionPriority(This,EvictionPriority) \
  1796. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1797. #define ID3D10Texture3D_GetEvictionPriority(This) \
  1798. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1799. #define ID3D10Texture3D_Map(This,Subresource,MapType,MapFlags,pMappedTex3D) \
  1800. ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,pMappedTex3D) )
  1801. #define ID3D10Texture3D_Unmap(This,Subresource) \
  1802. ( (This)->lpVtbl -> Unmap(This,Subresource) )
  1803. #define ID3D10Texture3D_GetDesc(This,pDesc) \
  1804. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1805. #endif /* COBJMACROS */
  1806. #endif /* C style interface */
  1807. #endif /* __ID3D10Texture3D_INTERFACE_DEFINED__ */
  1808. /* interface __MIDL_itf_d3d10_0000_0009 */
  1809. /* [local] */
  1810. typedef
  1811. enum D3D10_TEXTURECUBE_FACE
  1812. {
  1813. D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0,
  1814. D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1,
  1815. D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2,
  1816. D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
  1817. D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4,
  1818. D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5
  1819. } D3D10_TEXTURECUBE_FACE;
  1820. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0009_v0_0_c_ifspec;
  1821. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0009_v0_0_s_ifspec;
  1822. #ifndef __ID3D10View_INTERFACE_DEFINED__
  1823. #define __ID3D10View_INTERFACE_DEFINED__
  1824. /* interface ID3D10View */
  1825. /* [unique][local][object][uuid] */
  1826. EXTERN_C const IID IID_ID3D10View;
  1827. #if defined(__cplusplus) && !defined(CINTERFACE)
  1828. MIDL_INTERFACE("C902B03F-60A7-49BA-9936-2A3AB37A7E33")
  1829. ID3D10View : public ID3D10DeviceChild
  1830. {
  1831. public:
  1832. virtual void STDMETHODCALLTYPE GetResource(
  1833. /* [annotation] */
  1834. _Out_ ID3D10Resource **ppResource) = 0;
  1835. };
  1836. #else /* C style interface */
  1837. typedef struct ID3D10ViewVtbl
  1838. {
  1839. BEGIN_INTERFACE
  1840. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1841. ID3D10View * This,
  1842. /* [in] */ REFIID riid,
  1843. /* [annotation][iid_is][out] */
  1844. _COM_Outptr_ void **ppvObject);
  1845. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1846. ID3D10View * This);
  1847. ULONG ( STDMETHODCALLTYPE *Release )(
  1848. ID3D10View * This);
  1849. void ( STDMETHODCALLTYPE *GetDevice )(
  1850. ID3D10View * This,
  1851. /* [annotation] */
  1852. _Out_ ID3D10Device **ppDevice);
  1853. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1854. ID3D10View * This,
  1855. /* [annotation] */
  1856. _In_ REFGUID guid,
  1857. /* [annotation] */
  1858. _Inout_ UINT *pDataSize,
  1859. /* [annotation] */
  1860. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  1861. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1862. ID3D10View * This,
  1863. /* [annotation] */
  1864. _In_ REFGUID guid,
  1865. /* [annotation] */
  1866. _In_ UINT DataSize,
  1867. /* [annotation] */
  1868. _In_reads_bytes_opt_(DataSize) const void *pData);
  1869. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1870. ID3D10View * This,
  1871. /* [annotation] */
  1872. _In_ REFGUID guid,
  1873. /* [annotation] */
  1874. _In_opt_ const IUnknown *pData);
  1875. void ( STDMETHODCALLTYPE *GetResource )(
  1876. ID3D10View * This,
  1877. /* [annotation] */
  1878. _Out_ ID3D10Resource **ppResource);
  1879. END_INTERFACE
  1880. } ID3D10ViewVtbl;
  1881. interface ID3D10View
  1882. {
  1883. CONST_VTBL struct ID3D10ViewVtbl *lpVtbl;
  1884. };
  1885. #ifdef COBJMACROS
  1886. #define ID3D10View_QueryInterface(This,riid,ppvObject) \
  1887. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1888. #define ID3D10View_AddRef(This) \
  1889. ( (This)->lpVtbl -> AddRef(This) )
  1890. #define ID3D10View_Release(This) \
  1891. ( (This)->lpVtbl -> Release(This) )
  1892. #define ID3D10View_GetDevice(This,ppDevice) \
  1893. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1894. #define ID3D10View_GetPrivateData(This,guid,pDataSize,pData) \
  1895. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1896. #define ID3D10View_SetPrivateData(This,guid,DataSize,pData) \
  1897. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1898. #define ID3D10View_SetPrivateDataInterface(This,guid,pData) \
  1899. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1900. #define ID3D10View_GetResource(This,ppResource) \
  1901. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  1902. #endif /* COBJMACROS */
  1903. #endif /* C style interface */
  1904. #endif /* __ID3D10View_INTERFACE_DEFINED__ */
  1905. /* interface __MIDL_itf_d3d10_0000_0010 */
  1906. /* [local] */
  1907. typedef struct D3D10_BUFFER_SRV
  1908. {
  1909. union
  1910. {
  1911. UINT FirstElement;
  1912. UINT ElementOffset;
  1913. } ;
  1914. union
  1915. {
  1916. UINT NumElements;
  1917. UINT ElementWidth;
  1918. } ;
  1919. } D3D10_BUFFER_SRV;
  1920. typedef struct D3D10_TEX1D_SRV
  1921. {
  1922. UINT MostDetailedMip;
  1923. UINT MipLevels;
  1924. } D3D10_TEX1D_SRV;
  1925. typedef struct D3D10_TEX1D_ARRAY_SRV
  1926. {
  1927. UINT MostDetailedMip;
  1928. UINT MipLevels;
  1929. UINT FirstArraySlice;
  1930. UINT ArraySize;
  1931. } D3D10_TEX1D_ARRAY_SRV;
  1932. typedef struct D3D10_TEX2D_SRV
  1933. {
  1934. UINT MostDetailedMip;
  1935. UINT MipLevels;
  1936. } D3D10_TEX2D_SRV;
  1937. typedef struct D3D10_TEX2D_ARRAY_SRV
  1938. {
  1939. UINT MostDetailedMip;
  1940. UINT MipLevels;
  1941. UINT FirstArraySlice;
  1942. UINT ArraySize;
  1943. } D3D10_TEX2D_ARRAY_SRV;
  1944. typedef struct D3D10_TEX3D_SRV
  1945. {
  1946. UINT MostDetailedMip;
  1947. UINT MipLevels;
  1948. } D3D10_TEX3D_SRV;
  1949. typedef struct D3D10_TEXCUBE_SRV
  1950. {
  1951. UINT MostDetailedMip;
  1952. UINT MipLevels;
  1953. } D3D10_TEXCUBE_SRV;
  1954. typedef struct D3D10_TEX2DMS_SRV
  1955. {
  1956. UINT UnusedField_NothingToDefine;
  1957. } D3D10_TEX2DMS_SRV;
  1958. typedef struct D3D10_TEX2DMS_ARRAY_SRV
  1959. {
  1960. UINT FirstArraySlice;
  1961. UINT ArraySize;
  1962. } D3D10_TEX2DMS_ARRAY_SRV;
  1963. typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC
  1964. {
  1965. DXGI_FORMAT Format;
  1966. D3D10_SRV_DIMENSION ViewDimension;
  1967. union
  1968. {
  1969. D3D10_BUFFER_SRV Buffer;
  1970. D3D10_TEX1D_SRV Texture1D;
  1971. D3D10_TEX1D_ARRAY_SRV Texture1DArray;
  1972. D3D10_TEX2D_SRV Texture2D;
  1973. D3D10_TEX2D_ARRAY_SRV Texture2DArray;
  1974. D3D10_TEX2DMS_SRV Texture2DMS;
  1975. D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
  1976. D3D10_TEX3D_SRV Texture3D;
  1977. D3D10_TEXCUBE_SRV TextureCube;
  1978. } ;
  1979. } D3D10_SHADER_RESOURCE_VIEW_DESC;
  1980. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0010_v0_0_c_ifspec;
  1981. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0010_v0_0_s_ifspec;
  1982. #ifndef __ID3D10ShaderResourceView_INTERFACE_DEFINED__
  1983. #define __ID3D10ShaderResourceView_INTERFACE_DEFINED__
  1984. /* interface ID3D10ShaderResourceView */
  1985. /* [unique][local][object][uuid] */
  1986. EXTERN_C const IID IID_ID3D10ShaderResourceView;
  1987. #if defined(__cplusplus) && !defined(CINTERFACE)
  1988. MIDL_INTERFACE("9B7E4C07-342C-4106-A19F-4F2704F689F0")
  1989. ID3D10ShaderResourceView : public ID3D10View
  1990. {
  1991. public:
  1992. virtual void STDMETHODCALLTYPE GetDesc(
  1993. /* [annotation] */
  1994. _Out_ D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
  1995. };
  1996. #else /* C style interface */
  1997. typedef struct ID3D10ShaderResourceViewVtbl
  1998. {
  1999. BEGIN_INTERFACE
  2000. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2001. ID3D10ShaderResourceView * This,
  2002. /* [in] */ REFIID riid,
  2003. /* [annotation][iid_is][out] */
  2004. _COM_Outptr_ void **ppvObject);
  2005. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2006. ID3D10ShaderResourceView * This);
  2007. ULONG ( STDMETHODCALLTYPE *Release )(
  2008. ID3D10ShaderResourceView * This);
  2009. void ( STDMETHODCALLTYPE *GetDevice )(
  2010. ID3D10ShaderResourceView * This,
  2011. /* [annotation] */
  2012. _Out_ ID3D10Device **ppDevice);
  2013. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2014. ID3D10ShaderResourceView * This,
  2015. /* [annotation] */
  2016. _In_ REFGUID guid,
  2017. /* [annotation] */
  2018. _Inout_ UINT *pDataSize,
  2019. /* [annotation] */
  2020. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2021. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2022. ID3D10ShaderResourceView * This,
  2023. /* [annotation] */
  2024. _In_ REFGUID guid,
  2025. /* [annotation] */
  2026. _In_ UINT DataSize,
  2027. /* [annotation] */
  2028. _In_reads_bytes_opt_(DataSize) const void *pData);
  2029. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2030. ID3D10ShaderResourceView * This,
  2031. /* [annotation] */
  2032. _In_ REFGUID guid,
  2033. /* [annotation] */
  2034. _In_opt_ const IUnknown *pData);
  2035. void ( STDMETHODCALLTYPE *GetResource )(
  2036. ID3D10ShaderResourceView * This,
  2037. /* [annotation] */
  2038. _Out_ ID3D10Resource **ppResource);
  2039. void ( STDMETHODCALLTYPE *GetDesc )(
  2040. ID3D10ShaderResourceView * This,
  2041. /* [annotation] */
  2042. _Out_ D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
  2043. END_INTERFACE
  2044. } ID3D10ShaderResourceViewVtbl;
  2045. interface ID3D10ShaderResourceView
  2046. {
  2047. CONST_VTBL struct ID3D10ShaderResourceViewVtbl *lpVtbl;
  2048. };
  2049. #ifdef COBJMACROS
  2050. #define ID3D10ShaderResourceView_QueryInterface(This,riid,ppvObject) \
  2051. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2052. #define ID3D10ShaderResourceView_AddRef(This) \
  2053. ( (This)->lpVtbl -> AddRef(This) )
  2054. #define ID3D10ShaderResourceView_Release(This) \
  2055. ( (This)->lpVtbl -> Release(This) )
  2056. #define ID3D10ShaderResourceView_GetDevice(This,ppDevice) \
  2057. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2058. #define ID3D10ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) \
  2059. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2060. #define ID3D10ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) \
  2061. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2062. #define ID3D10ShaderResourceView_SetPrivateDataInterface(This,guid,pData) \
  2063. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2064. #define ID3D10ShaderResourceView_GetResource(This,ppResource) \
  2065. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2066. #define ID3D10ShaderResourceView_GetDesc(This,pDesc) \
  2067. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2068. #endif /* COBJMACROS */
  2069. #endif /* C style interface */
  2070. #endif /* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
  2071. /* interface __MIDL_itf_d3d10_0000_0011 */
  2072. /* [local] */
  2073. typedef struct D3D10_BUFFER_RTV
  2074. {
  2075. union
  2076. {
  2077. UINT FirstElement;
  2078. UINT ElementOffset;
  2079. } ;
  2080. union
  2081. {
  2082. UINT NumElements;
  2083. UINT ElementWidth;
  2084. } ;
  2085. } D3D10_BUFFER_RTV;
  2086. typedef struct D3D10_TEX1D_RTV
  2087. {
  2088. UINT MipSlice;
  2089. } D3D10_TEX1D_RTV;
  2090. typedef struct D3D10_TEX1D_ARRAY_RTV
  2091. {
  2092. UINT MipSlice;
  2093. UINT FirstArraySlice;
  2094. UINT ArraySize;
  2095. } D3D10_TEX1D_ARRAY_RTV;
  2096. typedef struct D3D10_TEX2D_RTV
  2097. {
  2098. UINT MipSlice;
  2099. } D3D10_TEX2D_RTV;
  2100. typedef struct D3D10_TEX2DMS_RTV
  2101. {
  2102. UINT UnusedField_NothingToDefine;
  2103. } D3D10_TEX2DMS_RTV;
  2104. typedef struct D3D10_TEX2D_ARRAY_RTV
  2105. {
  2106. UINT MipSlice;
  2107. UINT FirstArraySlice;
  2108. UINT ArraySize;
  2109. } D3D10_TEX2D_ARRAY_RTV;
  2110. typedef struct D3D10_TEX2DMS_ARRAY_RTV
  2111. {
  2112. UINT FirstArraySlice;
  2113. UINT ArraySize;
  2114. } D3D10_TEX2DMS_ARRAY_RTV;
  2115. typedef struct D3D10_TEX3D_RTV
  2116. {
  2117. UINT MipSlice;
  2118. UINT FirstWSlice;
  2119. UINT WSize;
  2120. } D3D10_TEX3D_RTV;
  2121. typedef struct D3D10_RENDER_TARGET_VIEW_DESC
  2122. {
  2123. DXGI_FORMAT Format;
  2124. D3D10_RTV_DIMENSION ViewDimension;
  2125. union
  2126. {
  2127. D3D10_BUFFER_RTV Buffer;
  2128. D3D10_TEX1D_RTV Texture1D;
  2129. D3D10_TEX1D_ARRAY_RTV Texture1DArray;
  2130. D3D10_TEX2D_RTV Texture2D;
  2131. D3D10_TEX2D_ARRAY_RTV Texture2DArray;
  2132. D3D10_TEX2DMS_RTV Texture2DMS;
  2133. D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
  2134. D3D10_TEX3D_RTV Texture3D;
  2135. } ;
  2136. } D3D10_RENDER_TARGET_VIEW_DESC;
  2137. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0011_v0_0_c_ifspec;
  2138. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0011_v0_0_s_ifspec;
  2139. #ifndef __ID3D10RenderTargetView_INTERFACE_DEFINED__
  2140. #define __ID3D10RenderTargetView_INTERFACE_DEFINED__
  2141. /* interface ID3D10RenderTargetView */
  2142. /* [unique][local][object][uuid] */
  2143. EXTERN_C const IID IID_ID3D10RenderTargetView;
  2144. #if defined(__cplusplus) && !defined(CINTERFACE)
  2145. MIDL_INTERFACE("9B7E4C08-342C-4106-A19F-4F2704F689F0")
  2146. ID3D10RenderTargetView : public ID3D10View
  2147. {
  2148. public:
  2149. virtual void STDMETHODCALLTYPE GetDesc(
  2150. /* [annotation] */
  2151. _Out_ D3D10_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
  2152. };
  2153. #else /* C style interface */
  2154. typedef struct ID3D10RenderTargetViewVtbl
  2155. {
  2156. BEGIN_INTERFACE
  2157. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2158. ID3D10RenderTargetView * This,
  2159. /* [in] */ REFIID riid,
  2160. /* [annotation][iid_is][out] */
  2161. _COM_Outptr_ void **ppvObject);
  2162. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2163. ID3D10RenderTargetView * This);
  2164. ULONG ( STDMETHODCALLTYPE *Release )(
  2165. ID3D10RenderTargetView * This);
  2166. void ( STDMETHODCALLTYPE *GetDevice )(
  2167. ID3D10RenderTargetView * This,
  2168. /* [annotation] */
  2169. _Out_ ID3D10Device **ppDevice);
  2170. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2171. ID3D10RenderTargetView * This,
  2172. /* [annotation] */
  2173. _In_ REFGUID guid,
  2174. /* [annotation] */
  2175. _Inout_ UINT *pDataSize,
  2176. /* [annotation] */
  2177. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2178. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2179. ID3D10RenderTargetView * This,
  2180. /* [annotation] */
  2181. _In_ REFGUID guid,
  2182. /* [annotation] */
  2183. _In_ UINT DataSize,
  2184. /* [annotation] */
  2185. _In_reads_bytes_opt_(DataSize) const void *pData);
  2186. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2187. ID3D10RenderTargetView * This,
  2188. /* [annotation] */
  2189. _In_ REFGUID guid,
  2190. /* [annotation] */
  2191. _In_opt_ const IUnknown *pData);
  2192. void ( STDMETHODCALLTYPE *GetResource )(
  2193. ID3D10RenderTargetView * This,
  2194. /* [annotation] */
  2195. _Out_ ID3D10Resource **ppResource);
  2196. void ( STDMETHODCALLTYPE *GetDesc )(
  2197. ID3D10RenderTargetView * This,
  2198. /* [annotation] */
  2199. _Out_ D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
  2200. END_INTERFACE
  2201. } ID3D10RenderTargetViewVtbl;
  2202. interface ID3D10RenderTargetView
  2203. {
  2204. CONST_VTBL struct ID3D10RenderTargetViewVtbl *lpVtbl;
  2205. };
  2206. #ifdef COBJMACROS
  2207. #define ID3D10RenderTargetView_QueryInterface(This,riid,ppvObject) \
  2208. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2209. #define ID3D10RenderTargetView_AddRef(This) \
  2210. ( (This)->lpVtbl -> AddRef(This) )
  2211. #define ID3D10RenderTargetView_Release(This) \
  2212. ( (This)->lpVtbl -> Release(This) )
  2213. #define ID3D10RenderTargetView_GetDevice(This,ppDevice) \
  2214. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2215. #define ID3D10RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) \
  2216. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2217. #define ID3D10RenderTargetView_SetPrivateData(This,guid,DataSize,pData) \
  2218. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2219. #define ID3D10RenderTargetView_SetPrivateDataInterface(This,guid,pData) \
  2220. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2221. #define ID3D10RenderTargetView_GetResource(This,ppResource) \
  2222. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2223. #define ID3D10RenderTargetView_GetDesc(This,pDesc) \
  2224. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2225. #endif /* COBJMACROS */
  2226. #endif /* C style interface */
  2227. #endif /* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
  2228. /* interface __MIDL_itf_d3d10_0000_0012 */
  2229. /* [local] */
  2230. typedef struct D3D10_TEX1D_DSV
  2231. {
  2232. UINT MipSlice;
  2233. } D3D10_TEX1D_DSV;
  2234. typedef struct D3D10_TEX1D_ARRAY_DSV
  2235. {
  2236. UINT MipSlice;
  2237. UINT FirstArraySlice;
  2238. UINT ArraySize;
  2239. } D3D10_TEX1D_ARRAY_DSV;
  2240. typedef struct D3D10_TEX2D_DSV
  2241. {
  2242. UINT MipSlice;
  2243. } D3D10_TEX2D_DSV;
  2244. typedef struct D3D10_TEX2D_ARRAY_DSV
  2245. {
  2246. UINT MipSlice;
  2247. UINT FirstArraySlice;
  2248. UINT ArraySize;
  2249. } D3D10_TEX2D_ARRAY_DSV;
  2250. typedef struct D3D10_TEX2DMS_DSV
  2251. {
  2252. UINT UnusedField_NothingToDefine;
  2253. } D3D10_TEX2DMS_DSV;
  2254. typedef struct D3D10_TEX2DMS_ARRAY_DSV
  2255. {
  2256. UINT FirstArraySlice;
  2257. UINT ArraySize;
  2258. } D3D10_TEX2DMS_ARRAY_DSV;
  2259. typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC
  2260. {
  2261. DXGI_FORMAT Format;
  2262. D3D10_DSV_DIMENSION ViewDimension;
  2263. union
  2264. {
  2265. D3D10_TEX1D_DSV Texture1D;
  2266. D3D10_TEX1D_ARRAY_DSV Texture1DArray;
  2267. D3D10_TEX2D_DSV Texture2D;
  2268. D3D10_TEX2D_ARRAY_DSV Texture2DArray;
  2269. D3D10_TEX2DMS_DSV Texture2DMS;
  2270. D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
  2271. } ;
  2272. } D3D10_DEPTH_STENCIL_VIEW_DESC;
  2273. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0012_v0_0_c_ifspec;
  2274. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0012_v0_0_s_ifspec;
  2275. #ifndef __ID3D10DepthStencilView_INTERFACE_DEFINED__
  2276. #define __ID3D10DepthStencilView_INTERFACE_DEFINED__
  2277. /* interface ID3D10DepthStencilView */
  2278. /* [unique][local][object][uuid] */
  2279. EXTERN_C const IID IID_ID3D10DepthStencilView;
  2280. #if defined(__cplusplus) && !defined(CINTERFACE)
  2281. MIDL_INTERFACE("9B7E4C09-342C-4106-A19F-4F2704F689F0")
  2282. ID3D10DepthStencilView : public ID3D10View
  2283. {
  2284. public:
  2285. virtual void STDMETHODCALLTYPE GetDesc(
  2286. /* [annotation] */
  2287. _Out_ D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
  2288. };
  2289. #else /* C style interface */
  2290. typedef struct ID3D10DepthStencilViewVtbl
  2291. {
  2292. BEGIN_INTERFACE
  2293. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2294. ID3D10DepthStencilView * This,
  2295. /* [in] */ REFIID riid,
  2296. /* [annotation][iid_is][out] */
  2297. _COM_Outptr_ void **ppvObject);
  2298. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2299. ID3D10DepthStencilView * This);
  2300. ULONG ( STDMETHODCALLTYPE *Release )(
  2301. ID3D10DepthStencilView * This);
  2302. void ( STDMETHODCALLTYPE *GetDevice )(
  2303. ID3D10DepthStencilView * This,
  2304. /* [annotation] */
  2305. _Out_ ID3D10Device **ppDevice);
  2306. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2307. ID3D10DepthStencilView * This,
  2308. /* [annotation] */
  2309. _In_ REFGUID guid,
  2310. /* [annotation] */
  2311. _Inout_ UINT *pDataSize,
  2312. /* [annotation] */
  2313. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2314. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2315. ID3D10DepthStencilView * This,
  2316. /* [annotation] */
  2317. _In_ REFGUID guid,
  2318. /* [annotation] */
  2319. _In_ UINT DataSize,
  2320. /* [annotation] */
  2321. _In_reads_bytes_opt_(DataSize) const void *pData);
  2322. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2323. ID3D10DepthStencilView * This,
  2324. /* [annotation] */
  2325. _In_ REFGUID guid,
  2326. /* [annotation] */
  2327. _In_opt_ const IUnknown *pData);
  2328. void ( STDMETHODCALLTYPE *GetResource )(
  2329. ID3D10DepthStencilView * This,
  2330. /* [annotation] */
  2331. _Out_ ID3D10Resource **ppResource);
  2332. void ( STDMETHODCALLTYPE *GetDesc )(
  2333. ID3D10DepthStencilView * This,
  2334. /* [annotation] */
  2335. _Out_ D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
  2336. END_INTERFACE
  2337. } ID3D10DepthStencilViewVtbl;
  2338. interface ID3D10DepthStencilView
  2339. {
  2340. CONST_VTBL struct ID3D10DepthStencilViewVtbl *lpVtbl;
  2341. };
  2342. #ifdef COBJMACROS
  2343. #define ID3D10DepthStencilView_QueryInterface(This,riid,ppvObject) \
  2344. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2345. #define ID3D10DepthStencilView_AddRef(This) \
  2346. ( (This)->lpVtbl -> AddRef(This) )
  2347. #define ID3D10DepthStencilView_Release(This) \
  2348. ( (This)->lpVtbl -> Release(This) )
  2349. #define ID3D10DepthStencilView_GetDevice(This,ppDevice) \
  2350. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2351. #define ID3D10DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) \
  2352. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2353. #define ID3D10DepthStencilView_SetPrivateData(This,guid,DataSize,pData) \
  2354. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2355. #define ID3D10DepthStencilView_SetPrivateDataInterface(This,guid,pData) \
  2356. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2357. #define ID3D10DepthStencilView_GetResource(This,ppResource) \
  2358. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2359. #define ID3D10DepthStencilView_GetDesc(This,pDesc) \
  2360. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2361. #endif /* COBJMACROS */
  2362. #endif /* C style interface */
  2363. #endif /* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
  2364. #ifndef __ID3D10VertexShader_INTERFACE_DEFINED__
  2365. #define __ID3D10VertexShader_INTERFACE_DEFINED__
  2366. /* interface ID3D10VertexShader */
  2367. /* [unique][local][object][uuid] */
  2368. EXTERN_C const IID IID_ID3D10VertexShader;
  2369. #if defined(__cplusplus) && !defined(CINTERFACE)
  2370. MIDL_INTERFACE("9B7E4C0A-342C-4106-A19F-4F2704F689F0")
  2371. ID3D10VertexShader : public ID3D10DeviceChild
  2372. {
  2373. public:
  2374. };
  2375. #else /* C style interface */
  2376. typedef struct ID3D10VertexShaderVtbl
  2377. {
  2378. BEGIN_INTERFACE
  2379. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2380. ID3D10VertexShader * This,
  2381. /* [in] */ REFIID riid,
  2382. /* [annotation][iid_is][out] */
  2383. _COM_Outptr_ void **ppvObject);
  2384. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2385. ID3D10VertexShader * This);
  2386. ULONG ( STDMETHODCALLTYPE *Release )(
  2387. ID3D10VertexShader * This);
  2388. void ( STDMETHODCALLTYPE *GetDevice )(
  2389. ID3D10VertexShader * This,
  2390. /* [annotation] */
  2391. _Out_ ID3D10Device **ppDevice);
  2392. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2393. ID3D10VertexShader * This,
  2394. /* [annotation] */
  2395. _In_ REFGUID guid,
  2396. /* [annotation] */
  2397. _Inout_ UINT *pDataSize,
  2398. /* [annotation] */
  2399. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2400. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2401. ID3D10VertexShader * This,
  2402. /* [annotation] */
  2403. _In_ REFGUID guid,
  2404. /* [annotation] */
  2405. _In_ UINT DataSize,
  2406. /* [annotation] */
  2407. _In_reads_bytes_opt_(DataSize) const void *pData);
  2408. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2409. ID3D10VertexShader * This,
  2410. /* [annotation] */
  2411. _In_ REFGUID guid,
  2412. /* [annotation] */
  2413. _In_opt_ const IUnknown *pData);
  2414. END_INTERFACE
  2415. } ID3D10VertexShaderVtbl;
  2416. interface ID3D10VertexShader
  2417. {
  2418. CONST_VTBL struct ID3D10VertexShaderVtbl *lpVtbl;
  2419. };
  2420. #ifdef COBJMACROS
  2421. #define ID3D10VertexShader_QueryInterface(This,riid,ppvObject) \
  2422. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2423. #define ID3D10VertexShader_AddRef(This) \
  2424. ( (This)->lpVtbl -> AddRef(This) )
  2425. #define ID3D10VertexShader_Release(This) \
  2426. ( (This)->lpVtbl -> Release(This) )
  2427. #define ID3D10VertexShader_GetDevice(This,ppDevice) \
  2428. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2429. #define ID3D10VertexShader_GetPrivateData(This,guid,pDataSize,pData) \
  2430. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2431. #define ID3D10VertexShader_SetPrivateData(This,guid,DataSize,pData) \
  2432. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2433. #define ID3D10VertexShader_SetPrivateDataInterface(This,guid,pData) \
  2434. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2435. #endif /* COBJMACROS */
  2436. #endif /* C style interface */
  2437. #endif /* __ID3D10VertexShader_INTERFACE_DEFINED__ */
  2438. #ifndef __ID3D10GeometryShader_INTERFACE_DEFINED__
  2439. #define __ID3D10GeometryShader_INTERFACE_DEFINED__
  2440. /* interface ID3D10GeometryShader */
  2441. /* [unique][local][object][uuid] */
  2442. EXTERN_C const IID IID_ID3D10GeometryShader;
  2443. #if defined(__cplusplus) && !defined(CINTERFACE)
  2444. MIDL_INTERFACE("6316BE88-54CD-4040-AB44-20461BC81F68")
  2445. ID3D10GeometryShader : public ID3D10DeviceChild
  2446. {
  2447. public:
  2448. };
  2449. #else /* C style interface */
  2450. typedef struct ID3D10GeometryShaderVtbl
  2451. {
  2452. BEGIN_INTERFACE
  2453. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2454. ID3D10GeometryShader * This,
  2455. /* [in] */ REFIID riid,
  2456. /* [annotation][iid_is][out] */
  2457. _COM_Outptr_ void **ppvObject);
  2458. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2459. ID3D10GeometryShader * This);
  2460. ULONG ( STDMETHODCALLTYPE *Release )(
  2461. ID3D10GeometryShader * This);
  2462. void ( STDMETHODCALLTYPE *GetDevice )(
  2463. ID3D10GeometryShader * This,
  2464. /* [annotation] */
  2465. _Out_ ID3D10Device **ppDevice);
  2466. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2467. ID3D10GeometryShader * This,
  2468. /* [annotation] */
  2469. _In_ REFGUID guid,
  2470. /* [annotation] */
  2471. _Inout_ UINT *pDataSize,
  2472. /* [annotation] */
  2473. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2474. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2475. ID3D10GeometryShader * This,
  2476. /* [annotation] */
  2477. _In_ REFGUID guid,
  2478. /* [annotation] */
  2479. _In_ UINT DataSize,
  2480. /* [annotation] */
  2481. _In_reads_bytes_opt_(DataSize) const void *pData);
  2482. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2483. ID3D10GeometryShader * This,
  2484. /* [annotation] */
  2485. _In_ REFGUID guid,
  2486. /* [annotation] */
  2487. _In_opt_ const IUnknown *pData);
  2488. END_INTERFACE
  2489. } ID3D10GeometryShaderVtbl;
  2490. interface ID3D10GeometryShader
  2491. {
  2492. CONST_VTBL struct ID3D10GeometryShaderVtbl *lpVtbl;
  2493. };
  2494. #ifdef COBJMACROS
  2495. #define ID3D10GeometryShader_QueryInterface(This,riid,ppvObject) \
  2496. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2497. #define ID3D10GeometryShader_AddRef(This) \
  2498. ( (This)->lpVtbl -> AddRef(This) )
  2499. #define ID3D10GeometryShader_Release(This) \
  2500. ( (This)->lpVtbl -> Release(This) )
  2501. #define ID3D10GeometryShader_GetDevice(This,ppDevice) \
  2502. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2503. #define ID3D10GeometryShader_GetPrivateData(This,guid,pDataSize,pData) \
  2504. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2505. #define ID3D10GeometryShader_SetPrivateData(This,guid,DataSize,pData) \
  2506. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2507. #define ID3D10GeometryShader_SetPrivateDataInterface(This,guid,pData) \
  2508. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2509. #endif /* COBJMACROS */
  2510. #endif /* C style interface */
  2511. #endif /* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
  2512. #ifndef __ID3D10PixelShader_INTERFACE_DEFINED__
  2513. #define __ID3D10PixelShader_INTERFACE_DEFINED__
  2514. /* interface ID3D10PixelShader */
  2515. /* [unique][local][object][uuid] */
  2516. EXTERN_C const IID IID_ID3D10PixelShader;
  2517. #if defined(__cplusplus) && !defined(CINTERFACE)
  2518. MIDL_INTERFACE("4968B601-9D00-4cde-8346-8E7F675819B6")
  2519. ID3D10PixelShader : public ID3D10DeviceChild
  2520. {
  2521. public:
  2522. };
  2523. #else /* C style interface */
  2524. typedef struct ID3D10PixelShaderVtbl
  2525. {
  2526. BEGIN_INTERFACE
  2527. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2528. ID3D10PixelShader * This,
  2529. /* [in] */ REFIID riid,
  2530. /* [annotation][iid_is][out] */
  2531. _COM_Outptr_ void **ppvObject);
  2532. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2533. ID3D10PixelShader * This);
  2534. ULONG ( STDMETHODCALLTYPE *Release )(
  2535. ID3D10PixelShader * This);
  2536. void ( STDMETHODCALLTYPE *GetDevice )(
  2537. ID3D10PixelShader * This,
  2538. /* [annotation] */
  2539. _Out_ ID3D10Device **ppDevice);
  2540. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2541. ID3D10PixelShader * This,
  2542. /* [annotation] */
  2543. _In_ REFGUID guid,
  2544. /* [annotation] */
  2545. _Inout_ UINT *pDataSize,
  2546. /* [annotation] */
  2547. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2548. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2549. ID3D10PixelShader * This,
  2550. /* [annotation] */
  2551. _In_ REFGUID guid,
  2552. /* [annotation] */
  2553. _In_ UINT DataSize,
  2554. /* [annotation] */
  2555. _In_reads_bytes_opt_(DataSize) const void *pData);
  2556. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2557. ID3D10PixelShader * This,
  2558. /* [annotation] */
  2559. _In_ REFGUID guid,
  2560. /* [annotation] */
  2561. _In_opt_ const IUnknown *pData);
  2562. END_INTERFACE
  2563. } ID3D10PixelShaderVtbl;
  2564. interface ID3D10PixelShader
  2565. {
  2566. CONST_VTBL struct ID3D10PixelShaderVtbl *lpVtbl;
  2567. };
  2568. #ifdef COBJMACROS
  2569. #define ID3D10PixelShader_QueryInterface(This,riid,ppvObject) \
  2570. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2571. #define ID3D10PixelShader_AddRef(This) \
  2572. ( (This)->lpVtbl -> AddRef(This) )
  2573. #define ID3D10PixelShader_Release(This) \
  2574. ( (This)->lpVtbl -> Release(This) )
  2575. #define ID3D10PixelShader_GetDevice(This,ppDevice) \
  2576. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2577. #define ID3D10PixelShader_GetPrivateData(This,guid,pDataSize,pData) \
  2578. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2579. #define ID3D10PixelShader_SetPrivateData(This,guid,DataSize,pData) \
  2580. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2581. #define ID3D10PixelShader_SetPrivateDataInterface(This,guid,pData) \
  2582. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2583. #endif /* COBJMACROS */
  2584. #endif /* C style interface */
  2585. #endif /* __ID3D10PixelShader_INTERFACE_DEFINED__ */
  2586. #ifndef __ID3D10InputLayout_INTERFACE_DEFINED__
  2587. #define __ID3D10InputLayout_INTERFACE_DEFINED__
  2588. /* interface ID3D10InputLayout */
  2589. /* [unique][local][object][uuid] */
  2590. EXTERN_C const IID IID_ID3D10InputLayout;
  2591. #if defined(__cplusplus) && !defined(CINTERFACE)
  2592. MIDL_INTERFACE("9B7E4C0B-342C-4106-A19F-4F2704F689F0")
  2593. ID3D10InputLayout : public ID3D10DeviceChild
  2594. {
  2595. public:
  2596. };
  2597. #else /* C style interface */
  2598. typedef struct ID3D10InputLayoutVtbl
  2599. {
  2600. BEGIN_INTERFACE
  2601. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2602. ID3D10InputLayout * This,
  2603. /* [in] */ REFIID riid,
  2604. /* [annotation][iid_is][out] */
  2605. _COM_Outptr_ void **ppvObject);
  2606. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2607. ID3D10InputLayout * This);
  2608. ULONG ( STDMETHODCALLTYPE *Release )(
  2609. ID3D10InputLayout * This);
  2610. void ( STDMETHODCALLTYPE *GetDevice )(
  2611. ID3D10InputLayout * This,
  2612. /* [annotation] */
  2613. _Out_ ID3D10Device **ppDevice);
  2614. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2615. ID3D10InputLayout * This,
  2616. /* [annotation] */
  2617. _In_ REFGUID guid,
  2618. /* [annotation] */
  2619. _Inout_ UINT *pDataSize,
  2620. /* [annotation] */
  2621. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2622. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2623. ID3D10InputLayout * This,
  2624. /* [annotation] */
  2625. _In_ REFGUID guid,
  2626. /* [annotation] */
  2627. _In_ UINT DataSize,
  2628. /* [annotation] */
  2629. _In_reads_bytes_opt_(DataSize) const void *pData);
  2630. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2631. ID3D10InputLayout * This,
  2632. /* [annotation] */
  2633. _In_ REFGUID guid,
  2634. /* [annotation] */
  2635. _In_opt_ const IUnknown *pData);
  2636. END_INTERFACE
  2637. } ID3D10InputLayoutVtbl;
  2638. interface ID3D10InputLayout
  2639. {
  2640. CONST_VTBL struct ID3D10InputLayoutVtbl *lpVtbl;
  2641. };
  2642. #ifdef COBJMACROS
  2643. #define ID3D10InputLayout_QueryInterface(This,riid,ppvObject) \
  2644. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2645. #define ID3D10InputLayout_AddRef(This) \
  2646. ( (This)->lpVtbl -> AddRef(This) )
  2647. #define ID3D10InputLayout_Release(This) \
  2648. ( (This)->lpVtbl -> Release(This) )
  2649. #define ID3D10InputLayout_GetDevice(This,ppDevice) \
  2650. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2651. #define ID3D10InputLayout_GetPrivateData(This,guid,pDataSize,pData) \
  2652. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2653. #define ID3D10InputLayout_SetPrivateData(This,guid,DataSize,pData) \
  2654. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2655. #define ID3D10InputLayout_SetPrivateDataInterface(This,guid,pData) \
  2656. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2657. #endif /* COBJMACROS */
  2658. #endif /* C style interface */
  2659. #endif /* __ID3D10InputLayout_INTERFACE_DEFINED__ */
  2660. /* interface __MIDL_itf_d3d10_0000_0017 */
  2661. /* [local] */
  2662. typedef
  2663. enum D3D10_FILTER
  2664. {
  2665. D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
  2666. D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
  2667. D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
  2668. D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
  2669. D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
  2670. D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
  2671. D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
  2672. D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
  2673. D3D10_FILTER_ANISOTROPIC = 0x55,
  2674. D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
  2675. D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
  2676. D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
  2677. D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
  2678. D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
  2679. D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
  2680. D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
  2681. D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
  2682. D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
  2683. D3D10_FILTER_TEXT_1BIT = 0x80000000
  2684. } D3D10_FILTER;
  2685. typedef
  2686. enum D3D10_FILTER_TYPE
  2687. {
  2688. D3D10_FILTER_TYPE_POINT = 0,
  2689. D3D10_FILTER_TYPE_LINEAR = 1
  2690. } D3D10_FILTER_TYPE;
  2691. #define D3D10_FILTER_TYPE_MASK ( 0x3 )
  2692. #define D3D10_MIN_FILTER_SHIFT ( 4 )
  2693. #define D3D10_MAG_FILTER_SHIFT ( 2 )
  2694. #define D3D10_MIP_FILTER_SHIFT ( 0 )
  2695. #define D3D10_COMPARISON_FILTERING_BIT ( 0x80 )
  2696. #define D3D10_ANISOTROPIC_FILTERING_BIT ( 0x40 )
  2697. #define D3D10_TEXT_1BIT_BIT ( 0x80000000 )
  2698. #define D3D10_ENCODE_BASIC_FILTER( min, mag, mip, bComparison ) \
  2699. ( ( D3D10_FILTER ) ( \
  2700. ( ( bComparison ) ? D3D10_COMPARISON_FILTERING_BIT : 0 ) | \
  2701. ( ( ( min ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIN_FILTER_SHIFT ) | \
  2702. ( ( ( mag ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MAG_FILTER_SHIFT ) | \
  2703. ( ( ( mip ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIP_FILTER_SHIFT ) ) )
  2704. #define D3D10_ENCODE_ANISOTROPIC_FILTER( bComparison ) \
  2705. ( ( D3D10_FILTER ) ( \
  2706. D3D10_ANISOTROPIC_FILTERING_BIT | \
  2707. D3D10_ENCODE_BASIC_FILTER( D3D10_FILTER_TYPE_LINEAR, \
  2708. D3D10_FILTER_TYPE_LINEAR, \
  2709. D3D10_FILTER_TYPE_LINEAR, \
  2710. bComparison ) ) )
  2711. #define D3D10_DECODE_MIN_FILTER( d3d10Filter ) \
  2712. ( ( D3D10_FILTER_TYPE ) \
  2713. ( ( ( d3d10Filter ) >> D3D10_MIN_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
  2714. #define D3D10_DECODE_MAG_FILTER( d3d10Filter ) \
  2715. ( ( D3D10_FILTER_TYPE ) \
  2716. ( ( ( d3d10Filter ) >> D3D10_MAG_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
  2717. #define D3D10_DECODE_MIP_FILTER( d3d10Filter ) \
  2718. ( ( D3D10_FILTER_TYPE ) \
  2719. ( ( ( d3d10Filter ) >> D3D10_MIP_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
  2720. #define D3D10_DECODE_IS_COMPARISON_FILTER( d3d10Filter ) \
  2721. ( ( d3d10Filter ) & D3D10_COMPARISON_FILTERING_BIT )
  2722. #define D3D10_DECODE_IS_ANISOTROPIC_FILTER( d3d10Filter ) \
  2723. ( ( ( d3d10Filter ) & D3D10_ANISOTROPIC_FILTERING_BIT ) && \
  2724. ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_FILTER( d3d10Filter ) ) && \
  2725. ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_FILTER( d3d10Filter ) ) && \
  2726. ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_FILTER( d3d10Filter ) ) )
  2727. #define D3D10_DECODE_IS_TEXT_1BIT_FILTER( d3d10Filter ) \
  2728. ( ( d3d10Filter ) == D3D10_TEXT_1BIT_BIT )
  2729. typedef
  2730. enum D3D10_TEXTURE_ADDRESS_MODE
  2731. {
  2732. D3D10_TEXTURE_ADDRESS_WRAP = 1,
  2733. D3D10_TEXTURE_ADDRESS_MIRROR = 2,
  2734. D3D10_TEXTURE_ADDRESS_CLAMP = 3,
  2735. D3D10_TEXTURE_ADDRESS_BORDER = 4,
  2736. D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
  2737. } D3D10_TEXTURE_ADDRESS_MODE;
  2738. typedef struct D3D10_SAMPLER_DESC
  2739. {
  2740. D3D10_FILTER Filter;
  2741. D3D10_TEXTURE_ADDRESS_MODE AddressU;
  2742. D3D10_TEXTURE_ADDRESS_MODE AddressV;
  2743. D3D10_TEXTURE_ADDRESS_MODE AddressW;
  2744. FLOAT MipLODBias;
  2745. UINT MaxAnisotropy;
  2746. D3D10_COMPARISON_FUNC ComparisonFunc;
  2747. FLOAT BorderColor[ 4 ];
  2748. FLOAT MinLOD;
  2749. FLOAT MaxLOD;
  2750. } D3D10_SAMPLER_DESC;
  2751. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0017_v0_0_c_ifspec;
  2752. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0017_v0_0_s_ifspec;
  2753. #ifndef __ID3D10SamplerState_INTERFACE_DEFINED__
  2754. #define __ID3D10SamplerState_INTERFACE_DEFINED__
  2755. /* interface ID3D10SamplerState */
  2756. /* [unique][local][object][uuid] */
  2757. EXTERN_C const IID IID_ID3D10SamplerState;
  2758. #if defined(__cplusplus) && !defined(CINTERFACE)
  2759. MIDL_INTERFACE("9B7E4C0C-342C-4106-A19F-4F2704F689F0")
  2760. ID3D10SamplerState : public ID3D10DeviceChild
  2761. {
  2762. public:
  2763. virtual void STDMETHODCALLTYPE GetDesc(
  2764. /* [annotation] */
  2765. _Out_ D3D10_SAMPLER_DESC *pDesc) = 0;
  2766. };
  2767. #else /* C style interface */
  2768. typedef struct ID3D10SamplerStateVtbl
  2769. {
  2770. BEGIN_INTERFACE
  2771. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2772. ID3D10SamplerState * This,
  2773. /* [in] */ REFIID riid,
  2774. /* [annotation][iid_is][out] */
  2775. _COM_Outptr_ void **ppvObject);
  2776. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2777. ID3D10SamplerState * This);
  2778. ULONG ( STDMETHODCALLTYPE *Release )(
  2779. ID3D10SamplerState * This);
  2780. void ( STDMETHODCALLTYPE *GetDevice )(
  2781. ID3D10SamplerState * This,
  2782. /* [annotation] */
  2783. _Out_ ID3D10Device **ppDevice);
  2784. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2785. ID3D10SamplerState * This,
  2786. /* [annotation] */
  2787. _In_ REFGUID guid,
  2788. /* [annotation] */
  2789. _Inout_ UINT *pDataSize,
  2790. /* [annotation] */
  2791. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2792. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2793. ID3D10SamplerState * This,
  2794. /* [annotation] */
  2795. _In_ REFGUID guid,
  2796. /* [annotation] */
  2797. _In_ UINT DataSize,
  2798. /* [annotation] */
  2799. _In_reads_bytes_opt_(DataSize) const void *pData);
  2800. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2801. ID3D10SamplerState * This,
  2802. /* [annotation] */
  2803. _In_ REFGUID guid,
  2804. /* [annotation] */
  2805. _In_opt_ const IUnknown *pData);
  2806. void ( STDMETHODCALLTYPE *GetDesc )(
  2807. ID3D10SamplerState * This,
  2808. /* [annotation] */
  2809. _Out_ D3D10_SAMPLER_DESC *pDesc);
  2810. END_INTERFACE
  2811. } ID3D10SamplerStateVtbl;
  2812. interface ID3D10SamplerState
  2813. {
  2814. CONST_VTBL struct ID3D10SamplerStateVtbl *lpVtbl;
  2815. };
  2816. #ifdef COBJMACROS
  2817. #define ID3D10SamplerState_QueryInterface(This,riid,ppvObject) \
  2818. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2819. #define ID3D10SamplerState_AddRef(This) \
  2820. ( (This)->lpVtbl -> AddRef(This) )
  2821. #define ID3D10SamplerState_Release(This) \
  2822. ( (This)->lpVtbl -> Release(This) )
  2823. #define ID3D10SamplerState_GetDevice(This,ppDevice) \
  2824. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2825. #define ID3D10SamplerState_GetPrivateData(This,guid,pDataSize,pData) \
  2826. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2827. #define ID3D10SamplerState_SetPrivateData(This,guid,DataSize,pData) \
  2828. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2829. #define ID3D10SamplerState_SetPrivateDataInterface(This,guid,pData) \
  2830. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2831. #define ID3D10SamplerState_GetDesc(This,pDesc) \
  2832. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2833. #endif /* COBJMACROS */
  2834. #endif /* C style interface */
  2835. #endif /* __ID3D10SamplerState_INTERFACE_DEFINED__ */
  2836. /* interface __MIDL_itf_d3d10_0000_0018 */
  2837. /* [local] */
  2838. typedef
  2839. enum D3D10_FORMAT_SUPPORT
  2840. {
  2841. D3D10_FORMAT_SUPPORT_BUFFER = 0x1,
  2842. D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
  2843. D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
  2844. D3D10_FORMAT_SUPPORT_SO_BUFFER = 0x8,
  2845. D3D10_FORMAT_SUPPORT_TEXTURE1D = 0x10,
  2846. D3D10_FORMAT_SUPPORT_TEXTURE2D = 0x20,
  2847. D3D10_FORMAT_SUPPORT_TEXTURE3D = 0x40,
  2848. D3D10_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
  2849. D3D10_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
  2850. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
  2851. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
  2852. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
  2853. D3D10_FORMAT_SUPPORT_MIP = 0x1000,
  2854. D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
  2855. D3D10_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
  2856. D3D10_FORMAT_SUPPORT_BLENDABLE = 0x8000,
  2857. D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
  2858. D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
  2859. D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
  2860. D3D10_FORMAT_SUPPORT_DISPLAY = 0x80000,
  2861. D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
  2862. D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
  2863. D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
  2864. D3D10_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
  2865. D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000
  2866. } D3D10_FORMAT_SUPPORT;
  2867. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0018_v0_0_c_ifspec;
  2868. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0018_v0_0_s_ifspec;
  2869. #ifndef __ID3D10Asynchronous_INTERFACE_DEFINED__
  2870. #define __ID3D10Asynchronous_INTERFACE_DEFINED__
  2871. /* interface ID3D10Asynchronous */
  2872. /* [unique][local][object][uuid] */
  2873. EXTERN_C const IID IID_ID3D10Asynchronous;
  2874. #if defined(__cplusplus) && !defined(CINTERFACE)
  2875. MIDL_INTERFACE("9B7E4C0D-342C-4106-A19F-4F2704F689F0")
  2876. ID3D10Asynchronous : public ID3D10DeviceChild
  2877. {
  2878. public:
  2879. virtual void STDMETHODCALLTYPE Begin( void) = 0;
  2880. virtual void STDMETHODCALLTYPE End( void) = 0;
  2881. virtual HRESULT STDMETHODCALLTYPE GetData(
  2882. /* [annotation] */
  2883. _Out_writes_bytes_opt_(DataSize) void *pData,
  2884. /* [annotation] */
  2885. _In_ UINT DataSize,
  2886. /* [annotation] */
  2887. _In_ UINT GetDataFlags) = 0;
  2888. virtual UINT STDMETHODCALLTYPE GetDataSize( void) = 0;
  2889. };
  2890. #else /* C style interface */
  2891. typedef struct ID3D10AsynchronousVtbl
  2892. {
  2893. BEGIN_INTERFACE
  2894. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2895. ID3D10Asynchronous * This,
  2896. /* [in] */ REFIID riid,
  2897. /* [annotation][iid_is][out] */
  2898. _COM_Outptr_ void **ppvObject);
  2899. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2900. ID3D10Asynchronous * This);
  2901. ULONG ( STDMETHODCALLTYPE *Release )(
  2902. ID3D10Asynchronous * This);
  2903. void ( STDMETHODCALLTYPE *GetDevice )(
  2904. ID3D10Asynchronous * This,
  2905. /* [annotation] */
  2906. _Out_ ID3D10Device **ppDevice);
  2907. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2908. ID3D10Asynchronous * This,
  2909. /* [annotation] */
  2910. _In_ REFGUID guid,
  2911. /* [annotation] */
  2912. _Inout_ UINT *pDataSize,
  2913. /* [annotation] */
  2914. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  2915. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2916. ID3D10Asynchronous * This,
  2917. /* [annotation] */
  2918. _In_ REFGUID guid,
  2919. /* [annotation] */
  2920. _In_ UINT DataSize,
  2921. /* [annotation] */
  2922. _In_reads_bytes_opt_(DataSize) const void *pData);
  2923. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2924. ID3D10Asynchronous * This,
  2925. /* [annotation] */
  2926. _In_ REFGUID guid,
  2927. /* [annotation] */
  2928. _In_opt_ const IUnknown *pData);
  2929. void ( STDMETHODCALLTYPE *Begin )(
  2930. ID3D10Asynchronous * This);
  2931. void ( STDMETHODCALLTYPE *End )(
  2932. ID3D10Asynchronous * This);
  2933. HRESULT ( STDMETHODCALLTYPE *GetData )(
  2934. ID3D10Asynchronous * This,
  2935. /* [annotation] */
  2936. _Out_writes_bytes_opt_(DataSize) void *pData,
  2937. /* [annotation] */
  2938. _In_ UINT DataSize,
  2939. /* [annotation] */
  2940. _In_ UINT GetDataFlags);
  2941. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  2942. ID3D10Asynchronous * This);
  2943. END_INTERFACE
  2944. } ID3D10AsynchronousVtbl;
  2945. interface ID3D10Asynchronous
  2946. {
  2947. CONST_VTBL struct ID3D10AsynchronousVtbl *lpVtbl;
  2948. };
  2949. #ifdef COBJMACROS
  2950. #define ID3D10Asynchronous_QueryInterface(This,riid,ppvObject) \
  2951. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2952. #define ID3D10Asynchronous_AddRef(This) \
  2953. ( (This)->lpVtbl -> AddRef(This) )
  2954. #define ID3D10Asynchronous_Release(This) \
  2955. ( (This)->lpVtbl -> Release(This) )
  2956. #define ID3D10Asynchronous_GetDevice(This,ppDevice) \
  2957. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2958. #define ID3D10Asynchronous_GetPrivateData(This,guid,pDataSize,pData) \
  2959. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2960. #define ID3D10Asynchronous_SetPrivateData(This,guid,DataSize,pData) \
  2961. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2962. #define ID3D10Asynchronous_SetPrivateDataInterface(This,guid,pData) \
  2963. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2964. #define ID3D10Asynchronous_Begin(This) \
  2965. ( (This)->lpVtbl -> Begin(This) )
  2966. #define ID3D10Asynchronous_End(This) \
  2967. ( (This)->lpVtbl -> End(This) )
  2968. #define ID3D10Asynchronous_GetData(This,pData,DataSize,GetDataFlags) \
  2969. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  2970. #define ID3D10Asynchronous_GetDataSize(This) \
  2971. ( (This)->lpVtbl -> GetDataSize(This) )
  2972. #endif /* COBJMACROS */
  2973. #endif /* C style interface */
  2974. #endif /* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
  2975. /* interface __MIDL_itf_d3d10_0000_0019 */
  2976. /* [local] */
  2977. typedef
  2978. enum D3D10_ASYNC_GETDATA_FLAG
  2979. {
  2980. D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1
  2981. } D3D10_ASYNC_GETDATA_FLAG;
  2982. typedef
  2983. enum D3D10_QUERY
  2984. {
  2985. D3D10_QUERY_EVENT = 0,
  2986. D3D10_QUERY_OCCLUSION = ( D3D10_QUERY_EVENT + 1 ) ,
  2987. D3D10_QUERY_TIMESTAMP = ( D3D10_QUERY_OCCLUSION + 1 ) ,
  2988. D3D10_QUERY_TIMESTAMP_DISJOINT = ( D3D10_QUERY_TIMESTAMP + 1 ) ,
  2989. D3D10_QUERY_PIPELINE_STATISTICS = ( D3D10_QUERY_TIMESTAMP_DISJOINT + 1 ) ,
  2990. D3D10_QUERY_OCCLUSION_PREDICATE = ( D3D10_QUERY_PIPELINE_STATISTICS + 1 ) ,
  2991. D3D10_QUERY_SO_STATISTICS = ( D3D10_QUERY_OCCLUSION_PREDICATE + 1 ) ,
  2992. D3D10_QUERY_SO_OVERFLOW_PREDICATE = ( D3D10_QUERY_SO_STATISTICS + 1 )
  2993. } D3D10_QUERY;
  2994. typedef
  2995. enum D3D10_QUERY_MISC_FLAG
  2996. {
  2997. D3D10_QUERY_MISC_PREDICATEHINT = 0x1
  2998. } D3D10_QUERY_MISC_FLAG;
  2999. typedef struct D3D10_QUERY_DESC
  3000. {
  3001. D3D10_QUERY Query;
  3002. UINT MiscFlags;
  3003. } D3D10_QUERY_DESC;
  3004. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0019_v0_0_c_ifspec;
  3005. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0019_v0_0_s_ifspec;
  3006. #ifndef __ID3D10Query_INTERFACE_DEFINED__
  3007. #define __ID3D10Query_INTERFACE_DEFINED__
  3008. /* interface ID3D10Query */
  3009. /* [unique][local][object][uuid] */
  3010. EXTERN_C const IID IID_ID3D10Query;
  3011. #if defined(__cplusplus) && !defined(CINTERFACE)
  3012. MIDL_INTERFACE("9B7E4C0E-342C-4106-A19F-4F2704F689F0")
  3013. ID3D10Query : public ID3D10Asynchronous
  3014. {
  3015. public:
  3016. virtual void STDMETHODCALLTYPE GetDesc(
  3017. /* [annotation] */
  3018. _Out_ D3D10_QUERY_DESC *pDesc) = 0;
  3019. };
  3020. #else /* C style interface */
  3021. typedef struct ID3D10QueryVtbl
  3022. {
  3023. BEGIN_INTERFACE
  3024. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3025. ID3D10Query * This,
  3026. /* [in] */ REFIID riid,
  3027. /* [annotation][iid_is][out] */
  3028. _COM_Outptr_ void **ppvObject);
  3029. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3030. ID3D10Query * This);
  3031. ULONG ( STDMETHODCALLTYPE *Release )(
  3032. ID3D10Query * This);
  3033. void ( STDMETHODCALLTYPE *GetDevice )(
  3034. ID3D10Query * This,
  3035. /* [annotation] */
  3036. _Out_ ID3D10Device **ppDevice);
  3037. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3038. ID3D10Query * This,
  3039. /* [annotation] */
  3040. _In_ REFGUID guid,
  3041. /* [annotation] */
  3042. _Inout_ UINT *pDataSize,
  3043. /* [annotation] */
  3044. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  3045. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3046. ID3D10Query * This,
  3047. /* [annotation] */
  3048. _In_ REFGUID guid,
  3049. /* [annotation] */
  3050. _In_ UINT DataSize,
  3051. /* [annotation] */
  3052. _In_reads_bytes_opt_(DataSize) const void *pData);
  3053. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3054. ID3D10Query * This,
  3055. /* [annotation] */
  3056. _In_ REFGUID guid,
  3057. /* [annotation] */
  3058. _In_opt_ const IUnknown *pData);
  3059. void ( STDMETHODCALLTYPE *Begin )(
  3060. ID3D10Query * This);
  3061. void ( STDMETHODCALLTYPE *End )(
  3062. ID3D10Query * This);
  3063. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3064. ID3D10Query * This,
  3065. /* [annotation] */
  3066. _Out_writes_bytes_opt_(DataSize) void *pData,
  3067. /* [annotation] */
  3068. _In_ UINT DataSize,
  3069. /* [annotation] */
  3070. _In_ UINT GetDataFlags);
  3071. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  3072. ID3D10Query * This);
  3073. void ( STDMETHODCALLTYPE *GetDesc )(
  3074. ID3D10Query * This,
  3075. /* [annotation] */
  3076. _Out_ D3D10_QUERY_DESC *pDesc);
  3077. END_INTERFACE
  3078. } ID3D10QueryVtbl;
  3079. interface ID3D10Query
  3080. {
  3081. CONST_VTBL struct ID3D10QueryVtbl *lpVtbl;
  3082. };
  3083. #ifdef COBJMACROS
  3084. #define ID3D10Query_QueryInterface(This,riid,ppvObject) \
  3085. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3086. #define ID3D10Query_AddRef(This) \
  3087. ( (This)->lpVtbl -> AddRef(This) )
  3088. #define ID3D10Query_Release(This) \
  3089. ( (This)->lpVtbl -> Release(This) )
  3090. #define ID3D10Query_GetDevice(This,ppDevice) \
  3091. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3092. #define ID3D10Query_GetPrivateData(This,guid,pDataSize,pData) \
  3093. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3094. #define ID3D10Query_SetPrivateData(This,guid,DataSize,pData) \
  3095. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3096. #define ID3D10Query_SetPrivateDataInterface(This,guid,pData) \
  3097. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3098. #define ID3D10Query_Begin(This) \
  3099. ( (This)->lpVtbl -> Begin(This) )
  3100. #define ID3D10Query_End(This) \
  3101. ( (This)->lpVtbl -> End(This) )
  3102. #define ID3D10Query_GetData(This,pData,DataSize,GetDataFlags) \
  3103. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  3104. #define ID3D10Query_GetDataSize(This) \
  3105. ( (This)->lpVtbl -> GetDataSize(This) )
  3106. #define ID3D10Query_GetDesc(This,pDesc) \
  3107. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3108. #endif /* COBJMACROS */
  3109. #endif /* C style interface */
  3110. #endif /* __ID3D10Query_INTERFACE_DEFINED__ */
  3111. #ifndef __ID3D10Predicate_INTERFACE_DEFINED__
  3112. #define __ID3D10Predicate_INTERFACE_DEFINED__
  3113. /* interface ID3D10Predicate */
  3114. /* [unique][local][object][uuid] */
  3115. EXTERN_C const IID IID_ID3D10Predicate;
  3116. #if defined(__cplusplus) && !defined(CINTERFACE)
  3117. MIDL_INTERFACE("9B7E4C10-342C-4106-A19F-4F2704F689F0")
  3118. ID3D10Predicate : public ID3D10Query
  3119. {
  3120. public:
  3121. };
  3122. #else /* C style interface */
  3123. typedef struct ID3D10PredicateVtbl
  3124. {
  3125. BEGIN_INTERFACE
  3126. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3127. ID3D10Predicate * This,
  3128. /* [in] */ REFIID riid,
  3129. /* [annotation][iid_is][out] */
  3130. _COM_Outptr_ void **ppvObject);
  3131. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3132. ID3D10Predicate * This);
  3133. ULONG ( STDMETHODCALLTYPE *Release )(
  3134. ID3D10Predicate * This);
  3135. void ( STDMETHODCALLTYPE *GetDevice )(
  3136. ID3D10Predicate * This,
  3137. /* [annotation] */
  3138. _Out_ ID3D10Device **ppDevice);
  3139. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3140. ID3D10Predicate * This,
  3141. /* [annotation] */
  3142. _In_ REFGUID guid,
  3143. /* [annotation] */
  3144. _Inout_ UINT *pDataSize,
  3145. /* [annotation] */
  3146. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  3147. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3148. ID3D10Predicate * This,
  3149. /* [annotation] */
  3150. _In_ REFGUID guid,
  3151. /* [annotation] */
  3152. _In_ UINT DataSize,
  3153. /* [annotation] */
  3154. _In_reads_bytes_opt_(DataSize) const void *pData);
  3155. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3156. ID3D10Predicate * This,
  3157. /* [annotation] */
  3158. _In_ REFGUID guid,
  3159. /* [annotation] */
  3160. _In_opt_ const IUnknown *pData);
  3161. void ( STDMETHODCALLTYPE *Begin )(
  3162. ID3D10Predicate * This);
  3163. void ( STDMETHODCALLTYPE *End )(
  3164. ID3D10Predicate * This);
  3165. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3166. ID3D10Predicate * This,
  3167. /* [annotation] */
  3168. _Out_writes_bytes_opt_(DataSize) void *pData,
  3169. /* [annotation] */
  3170. _In_ UINT DataSize,
  3171. /* [annotation] */
  3172. _In_ UINT GetDataFlags);
  3173. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  3174. ID3D10Predicate * This);
  3175. void ( STDMETHODCALLTYPE *GetDesc )(
  3176. ID3D10Predicate * This,
  3177. /* [annotation] */
  3178. _Out_ D3D10_QUERY_DESC *pDesc);
  3179. END_INTERFACE
  3180. } ID3D10PredicateVtbl;
  3181. interface ID3D10Predicate
  3182. {
  3183. CONST_VTBL struct ID3D10PredicateVtbl *lpVtbl;
  3184. };
  3185. #ifdef COBJMACROS
  3186. #define ID3D10Predicate_QueryInterface(This,riid,ppvObject) \
  3187. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3188. #define ID3D10Predicate_AddRef(This) \
  3189. ( (This)->lpVtbl -> AddRef(This) )
  3190. #define ID3D10Predicate_Release(This) \
  3191. ( (This)->lpVtbl -> Release(This) )
  3192. #define ID3D10Predicate_GetDevice(This,ppDevice) \
  3193. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3194. #define ID3D10Predicate_GetPrivateData(This,guid,pDataSize,pData) \
  3195. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3196. #define ID3D10Predicate_SetPrivateData(This,guid,DataSize,pData) \
  3197. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3198. #define ID3D10Predicate_SetPrivateDataInterface(This,guid,pData) \
  3199. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3200. #define ID3D10Predicate_Begin(This) \
  3201. ( (This)->lpVtbl -> Begin(This) )
  3202. #define ID3D10Predicate_End(This) \
  3203. ( (This)->lpVtbl -> End(This) )
  3204. #define ID3D10Predicate_GetData(This,pData,DataSize,GetDataFlags) \
  3205. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  3206. #define ID3D10Predicate_GetDataSize(This) \
  3207. ( (This)->lpVtbl -> GetDataSize(This) )
  3208. #define ID3D10Predicate_GetDesc(This,pDesc) \
  3209. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3210. #endif /* COBJMACROS */
  3211. #endif /* C style interface */
  3212. #endif /* __ID3D10Predicate_INTERFACE_DEFINED__ */
  3213. /* interface __MIDL_itf_d3d10_0000_0021 */
  3214. /* [local] */
  3215. typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT
  3216. {
  3217. UINT64 Frequency;
  3218. BOOL Disjoint;
  3219. } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
  3220. typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS
  3221. {
  3222. UINT64 IAVertices;
  3223. UINT64 IAPrimitives;
  3224. UINT64 VSInvocations;
  3225. UINT64 GSInvocations;
  3226. UINT64 GSPrimitives;
  3227. UINT64 CInvocations;
  3228. UINT64 CPrimitives;
  3229. UINT64 PSInvocations;
  3230. } D3D10_QUERY_DATA_PIPELINE_STATISTICS;
  3231. typedef struct D3D10_QUERY_DATA_SO_STATISTICS
  3232. {
  3233. UINT64 NumPrimitivesWritten;
  3234. UINT64 PrimitivesStorageNeeded;
  3235. } D3D10_QUERY_DATA_SO_STATISTICS;
  3236. typedef
  3237. enum D3D10_COUNTER
  3238. {
  3239. D3D10_COUNTER_GPU_IDLE = 0,
  3240. D3D10_COUNTER_VERTEX_PROCESSING = ( D3D10_COUNTER_GPU_IDLE + 1 ) ,
  3241. D3D10_COUNTER_GEOMETRY_PROCESSING = ( D3D10_COUNTER_VERTEX_PROCESSING + 1 ) ,
  3242. D3D10_COUNTER_PIXEL_PROCESSING = ( D3D10_COUNTER_GEOMETRY_PROCESSING + 1 ) ,
  3243. D3D10_COUNTER_OTHER_GPU_PROCESSING = ( D3D10_COUNTER_PIXEL_PROCESSING + 1 ) ,
  3244. D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = ( D3D10_COUNTER_OTHER_GPU_PROCESSING + 1 ) ,
  3245. D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = ( D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION + 1 ) ,
  3246. D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION + 1 ) ,
  3247. D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION + 1 ) ,
  3248. D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION + 1 ) ,
  3249. D3D10_COUNTER_VS_MEMORY_LIMITED = ( D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION + 1 ) ,
  3250. D3D10_COUNTER_VS_COMPUTATION_LIMITED = ( D3D10_COUNTER_VS_MEMORY_LIMITED + 1 ) ,
  3251. D3D10_COUNTER_GS_MEMORY_LIMITED = ( D3D10_COUNTER_VS_COMPUTATION_LIMITED + 1 ) ,
  3252. D3D10_COUNTER_GS_COMPUTATION_LIMITED = ( D3D10_COUNTER_GS_MEMORY_LIMITED + 1 ) ,
  3253. D3D10_COUNTER_PS_MEMORY_LIMITED = ( D3D10_COUNTER_GS_COMPUTATION_LIMITED + 1 ) ,
  3254. D3D10_COUNTER_PS_COMPUTATION_LIMITED = ( D3D10_COUNTER_PS_MEMORY_LIMITED + 1 ) ,
  3255. D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = ( D3D10_COUNTER_PS_COMPUTATION_LIMITED + 1 ) ,
  3256. D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = ( D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE + 1 ) ,
  3257. D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
  3258. } D3D10_COUNTER;
  3259. typedef
  3260. enum D3D10_COUNTER_TYPE
  3261. {
  3262. D3D10_COUNTER_TYPE_FLOAT32 = 0,
  3263. D3D10_COUNTER_TYPE_UINT16 = ( D3D10_COUNTER_TYPE_FLOAT32 + 1 ) ,
  3264. D3D10_COUNTER_TYPE_UINT32 = ( D3D10_COUNTER_TYPE_UINT16 + 1 ) ,
  3265. D3D10_COUNTER_TYPE_UINT64 = ( D3D10_COUNTER_TYPE_UINT32 + 1 )
  3266. } D3D10_COUNTER_TYPE;
  3267. typedef struct D3D10_COUNTER_DESC
  3268. {
  3269. D3D10_COUNTER Counter;
  3270. UINT MiscFlags;
  3271. } D3D10_COUNTER_DESC;
  3272. typedef struct D3D10_COUNTER_INFO
  3273. {
  3274. D3D10_COUNTER LastDeviceDependentCounter;
  3275. UINT NumSimultaneousCounters;
  3276. UINT8 NumDetectableParallelUnits;
  3277. } D3D10_COUNTER_INFO;
  3278. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0021_v0_0_c_ifspec;
  3279. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0021_v0_0_s_ifspec;
  3280. #ifndef __ID3D10Counter_INTERFACE_DEFINED__
  3281. #define __ID3D10Counter_INTERFACE_DEFINED__
  3282. /* interface ID3D10Counter */
  3283. /* [unique][local][object][uuid] */
  3284. EXTERN_C const IID IID_ID3D10Counter;
  3285. #if defined(__cplusplus) && !defined(CINTERFACE)
  3286. MIDL_INTERFACE("9B7E4C11-342C-4106-A19F-4F2704F689F0")
  3287. ID3D10Counter : public ID3D10Asynchronous
  3288. {
  3289. public:
  3290. virtual void STDMETHODCALLTYPE GetDesc(
  3291. /* [annotation] */
  3292. _Out_ D3D10_COUNTER_DESC *pDesc) = 0;
  3293. };
  3294. #else /* C style interface */
  3295. typedef struct ID3D10CounterVtbl
  3296. {
  3297. BEGIN_INTERFACE
  3298. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3299. ID3D10Counter * This,
  3300. /* [in] */ REFIID riid,
  3301. /* [annotation][iid_is][out] */
  3302. _COM_Outptr_ void **ppvObject);
  3303. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3304. ID3D10Counter * This);
  3305. ULONG ( STDMETHODCALLTYPE *Release )(
  3306. ID3D10Counter * This);
  3307. void ( STDMETHODCALLTYPE *GetDevice )(
  3308. ID3D10Counter * This,
  3309. /* [annotation] */
  3310. _Out_ ID3D10Device **ppDevice);
  3311. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3312. ID3D10Counter * This,
  3313. /* [annotation] */
  3314. _In_ REFGUID guid,
  3315. /* [annotation] */
  3316. _Inout_ UINT *pDataSize,
  3317. /* [annotation] */
  3318. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  3319. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3320. ID3D10Counter * This,
  3321. /* [annotation] */
  3322. _In_ REFGUID guid,
  3323. /* [annotation] */
  3324. _In_ UINT DataSize,
  3325. /* [annotation] */
  3326. _In_reads_bytes_opt_(DataSize) const void *pData);
  3327. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3328. ID3D10Counter * This,
  3329. /* [annotation] */
  3330. _In_ REFGUID guid,
  3331. /* [annotation] */
  3332. _In_opt_ const IUnknown *pData);
  3333. void ( STDMETHODCALLTYPE *Begin )(
  3334. ID3D10Counter * This);
  3335. void ( STDMETHODCALLTYPE *End )(
  3336. ID3D10Counter * This);
  3337. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3338. ID3D10Counter * This,
  3339. /* [annotation] */
  3340. _Out_writes_bytes_opt_(DataSize) void *pData,
  3341. /* [annotation] */
  3342. _In_ UINT DataSize,
  3343. /* [annotation] */
  3344. _In_ UINT GetDataFlags);
  3345. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  3346. ID3D10Counter * This);
  3347. void ( STDMETHODCALLTYPE *GetDesc )(
  3348. ID3D10Counter * This,
  3349. /* [annotation] */
  3350. _Out_ D3D10_COUNTER_DESC *pDesc);
  3351. END_INTERFACE
  3352. } ID3D10CounterVtbl;
  3353. interface ID3D10Counter
  3354. {
  3355. CONST_VTBL struct ID3D10CounterVtbl *lpVtbl;
  3356. };
  3357. #ifdef COBJMACROS
  3358. #define ID3D10Counter_QueryInterface(This,riid,ppvObject) \
  3359. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3360. #define ID3D10Counter_AddRef(This) \
  3361. ( (This)->lpVtbl -> AddRef(This) )
  3362. #define ID3D10Counter_Release(This) \
  3363. ( (This)->lpVtbl -> Release(This) )
  3364. #define ID3D10Counter_GetDevice(This,ppDevice) \
  3365. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3366. #define ID3D10Counter_GetPrivateData(This,guid,pDataSize,pData) \
  3367. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3368. #define ID3D10Counter_SetPrivateData(This,guid,DataSize,pData) \
  3369. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3370. #define ID3D10Counter_SetPrivateDataInterface(This,guid,pData) \
  3371. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3372. #define ID3D10Counter_Begin(This) \
  3373. ( (This)->lpVtbl -> Begin(This) )
  3374. #define ID3D10Counter_End(This) \
  3375. ( (This)->lpVtbl -> End(This) )
  3376. #define ID3D10Counter_GetData(This,pData,DataSize,GetDataFlags) \
  3377. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  3378. #define ID3D10Counter_GetDataSize(This) \
  3379. ( (This)->lpVtbl -> GetDataSize(This) )
  3380. #define ID3D10Counter_GetDesc(This,pDesc) \
  3381. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3382. #endif /* COBJMACROS */
  3383. #endif /* C style interface */
  3384. #endif /* __ID3D10Counter_INTERFACE_DEFINED__ */
  3385. #ifndef __ID3D10Device_INTERFACE_DEFINED__
  3386. #define __ID3D10Device_INTERFACE_DEFINED__
  3387. /* interface ID3D10Device */
  3388. /* [unique][local][object][uuid] */
  3389. EXTERN_C const IID IID_ID3D10Device;
  3390. #if defined(__cplusplus) && !defined(CINTERFACE)
  3391. MIDL_INTERFACE("9B7E4C0F-342C-4106-A19F-4F2704F689F0")
  3392. ID3D10Device : public IUnknown
  3393. {
  3394. public:
  3395. virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
  3396. /* [annotation] */
  3397. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3398. /* [annotation] */
  3399. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3400. /* [annotation] */
  3401. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppConstantBuffers) = 0;
  3402. virtual void STDMETHODCALLTYPE PSSetShaderResources(
  3403. /* [annotation] */
  3404. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3405. /* [annotation] */
  3406. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3407. /* [annotation] */
  3408. _In_reads_opt_(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
  3409. virtual void STDMETHODCALLTYPE PSSetShader(
  3410. /* [annotation] */
  3411. _In_opt_ ID3D10PixelShader *pPixelShader) = 0;
  3412. virtual void STDMETHODCALLTYPE PSSetSamplers(
  3413. /* [annotation] */
  3414. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3415. /* [annotation] */
  3416. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3417. /* [annotation] */
  3418. _In_reads_opt_(NumSamplers) ID3D10SamplerState *const *ppSamplers) = 0;
  3419. virtual void STDMETHODCALLTYPE VSSetShader(
  3420. /* [annotation] */
  3421. _In_opt_ ID3D10VertexShader *pVertexShader) = 0;
  3422. virtual void STDMETHODCALLTYPE DrawIndexed(
  3423. /* [annotation] */
  3424. _In_ UINT IndexCount,
  3425. /* [annotation] */
  3426. _In_ UINT StartIndexLocation,
  3427. /* [annotation] */
  3428. _In_ INT BaseVertexLocation) = 0;
  3429. virtual void STDMETHODCALLTYPE Draw(
  3430. /* [annotation] */
  3431. _In_ UINT VertexCount,
  3432. /* [annotation] */
  3433. _In_ UINT StartVertexLocation) = 0;
  3434. virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
  3435. /* [annotation] */
  3436. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3437. /* [annotation] */
  3438. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3439. /* [annotation] */
  3440. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppConstantBuffers) = 0;
  3441. virtual void STDMETHODCALLTYPE IASetInputLayout(
  3442. /* [annotation] */
  3443. _In_opt_ ID3D10InputLayout *pInputLayout) = 0;
  3444. virtual void STDMETHODCALLTYPE IASetVertexBuffers(
  3445. /* [annotation] */
  3446. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3447. /* [annotation] */
  3448. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3449. /* [annotation] */
  3450. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppVertexBuffers,
  3451. /* [annotation] */
  3452. _In_reads_opt_(NumBuffers) const UINT *pStrides,
  3453. /* [annotation] */
  3454. _In_reads_opt_(NumBuffers) const UINT *pOffsets) = 0;
  3455. virtual void STDMETHODCALLTYPE IASetIndexBuffer(
  3456. /* [annotation] */
  3457. _In_opt_ ID3D10Buffer *pIndexBuffer,
  3458. /* [annotation] */
  3459. _In_ DXGI_FORMAT Format,
  3460. /* [annotation] */
  3461. _In_ UINT Offset) = 0;
  3462. virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
  3463. /* [annotation] */
  3464. _In_ UINT IndexCountPerInstance,
  3465. /* [annotation] */
  3466. _In_ UINT InstanceCount,
  3467. /* [annotation] */
  3468. _In_ UINT StartIndexLocation,
  3469. /* [annotation] */
  3470. _In_ INT BaseVertexLocation,
  3471. /* [annotation] */
  3472. _In_ UINT StartInstanceLocation) = 0;
  3473. virtual void STDMETHODCALLTYPE DrawInstanced(
  3474. /* [annotation] */
  3475. _In_ UINT VertexCountPerInstance,
  3476. /* [annotation] */
  3477. _In_ UINT InstanceCount,
  3478. /* [annotation] */
  3479. _In_ UINT StartVertexLocation,
  3480. /* [annotation] */
  3481. _In_ UINT StartInstanceLocation) = 0;
  3482. virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
  3483. /* [annotation] */
  3484. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3485. /* [annotation] */
  3486. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3487. /* [annotation] */
  3488. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppConstantBuffers) = 0;
  3489. virtual void STDMETHODCALLTYPE GSSetShader(
  3490. /* [annotation] */
  3491. _In_opt_ ID3D10GeometryShader *pShader) = 0;
  3492. virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
  3493. /* [annotation] */
  3494. _In_ D3D10_PRIMITIVE_TOPOLOGY Topology) = 0;
  3495. virtual void STDMETHODCALLTYPE VSSetShaderResources(
  3496. /* [annotation] */
  3497. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3498. /* [annotation] */
  3499. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3500. /* [annotation] */
  3501. _In_reads_opt_(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
  3502. virtual void STDMETHODCALLTYPE VSSetSamplers(
  3503. /* [annotation] */
  3504. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3505. /* [annotation] */
  3506. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3507. /* [annotation] */
  3508. _In_reads_opt_(NumSamplers) ID3D10SamplerState *const *ppSamplers) = 0;
  3509. virtual void STDMETHODCALLTYPE SetPredication(
  3510. /* [annotation] */
  3511. _In_opt_ ID3D10Predicate *pPredicate,
  3512. /* [annotation] */
  3513. _In_ BOOL PredicateValue) = 0;
  3514. virtual void STDMETHODCALLTYPE GSSetShaderResources(
  3515. /* [annotation] */
  3516. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3517. /* [annotation] */
  3518. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3519. /* [annotation] */
  3520. _In_reads_opt_(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
  3521. virtual void STDMETHODCALLTYPE GSSetSamplers(
  3522. /* [annotation] */
  3523. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3524. /* [annotation] */
  3525. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3526. /* [annotation] */
  3527. _In_reads_opt_(NumSamplers) ID3D10SamplerState *const *ppSamplers) = 0;
  3528. virtual void STDMETHODCALLTYPE OMSetRenderTargets(
  3529. /* [annotation] */
  3530. _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  3531. /* [annotation] */
  3532. _In_reads_opt_(NumViews) ID3D10RenderTargetView *const *ppRenderTargetViews,
  3533. /* [annotation] */
  3534. _In_opt_ ID3D10DepthStencilView *pDepthStencilView) = 0;
  3535. virtual void STDMETHODCALLTYPE OMSetBlendState(
  3536. /* [annotation] */
  3537. _In_opt_ ID3D10BlendState *pBlendState,
  3538. /* [annotation] */
  3539. _In_ const FLOAT BlendFactor[ 4 ],
  3540. /* [annotation] */
  3541. _In_ UINT SampleMask) = 0;
  3542. virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
  3543. /* [annotation] */
  3544. _In_opt_ ID3D10DepthStencilState *pDepthStencilState,
  3545. /* [annotation] */
  3546. _In_ UINT StencilRef) = 0;
  3547. virtual void STDMETHODCALLTYPE SOSetTargets(
  3548. /* [annotation] */
  3549. _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT) UINT NumBuffers,
  3550. /* [annotation] */
  3551. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppSOTargets,
  3552. /* [annotation] */
  3553. _In_reads_opt_(NumBuffers) const UINT *pOffsets) = 0;
  3554. virtual void STDMETHODCALLTYPE DrawAuto( void) = 0;
  3555. virtual void STDMETHODCALLTYPE RSSetState(
  3556. /* [annotation] */
  3557. _In_opt_ ID3D10RasterizerState *pRasterizerState) = 0;
  3558. virtual void STDMETHODCALLTYPE RSSetViewports(
  3559. /* [annotation] */
  3560. _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
  3561. /* [annotation] */
  3562. _In_reads_opt_(NumViewports) const D3D10_VIEWPORT *pViewports) = 0;
  3563. virtual void STDMETHODCALLTYPE RSSetScissorRects(
  3564. /* [annotation] */
  3565. _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
  3566. /* [annotation] */
  3567. _In_reads_opt_(NumRects) const D3D10_RECT *pRects) = 0;
  3568. virtual void STDMETHODCALLTYPE CopySubresourceRegion(
  3569. /* [annotation] */
  3570. _In_ ID3D10Resource *pDstResource,
  3571. /* [annotation] */
  3572. _In_ UINT DstSubresource,
  3573. /* [annotation] */
  3574. _In_ UINT DstX,
  3575. /* [annotation] */
  3576. _In_ UINT DstY,
  3577. /* [annotation] */
  3578. _In_ UINT DstZ,
  3579. /* [annotation] */
  3580. _In_ ID3D10Resource *pSrcResource,
  3581. /* [annotation] */
  3582. _In_ UINT SrcSubresource,
  3583. /* [annotation] */
  3584. _In_opt_ const D3D10_BOX *pSrcBox) = 0;
  3585. virtual void STDMETHODCALLTYPE CopyResource(
  3586. /* [annotation] */
  3587. _In_ ID3D10Resource *pDstResource,
  3588. /* [annotation] */
  3589. _In_ ID3D10Resource *pSrcResource) = 0;
  3590. virtual void STDMETHODCALLTYPE UpdateSubresource(
  3591. /* [annotation] */
  3592. _In_ ID3D10Resource *pDstResource,
  3593. /* [annotation] */
  3594. _In_ UINT DstSubresource,
  3595. /* [annotation] */
  3596. _In_opt_ const D3D10_BOX *pDstBox,
  3597. /* [annotation] */
  3598. _In_ const void *pSrcData,
  3599. /* [annotation] */
  3600. _In_ UINT SrcRowPitch,
  3601. /* [annotation] */
  3602. _In_ UINT SrcDepthPitch) = 0;
  3603. virtual void STDMETHODCALLTYPE ClearRenderTargetView(
  3604. /* [annotation] */
  3605. _In_ ID3D10RenderTargetView *pRenderTargetView,
  3606. /* [annotation] */
  3607. _In_ const FLOAT ColorRGBA[ 4 ]) = 0;
  3608. virtual void STDMETHODCALLTYPE ClearDepthStencilView(
  3609. /* [annotation] */
  3610. _In_ ID3D10DepthStencilView *pDepthStencilView,
  3611. /* [annotation] */
  3612. _In_ UINT ClearFlags,
  3613. /* [annotation] */
  3614. _In_ FLOAT Depth,
  3615. /* [annotation] */
  3616. _In_ UINT8 Stencil) = 0;
  3617. virtual void STDMETHODCALLTYPE GenerateMips(
  3618. /* [annotation] */
  3619. _In_ ID3D10ShaderResourceView *pShaderResourceView) = 0;
  3620. virtual void STDMETHODCALLTYPE ResolveSubresource(
  3621. /* [annotation] */
  3622. _In_ ID3D10Resource *pDstResource,
  3623. /* [annotation] */
  3624. _In_ UINT DstSubresource,
  3625. /* [annotation] */
  3626. _In_ ID3D10Resource *pSrcResource,
  3627. /* [annotation] */
  3628. _In_ UINT SrcSubresource,
  3629. /* [annotation] */
  3630. _In_ DXGI_FORMAT Format) = 0;
  3631. virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
  3632. /* [annotation] */
  3633. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3634. /* [annotation] */
  3635. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3636. /* [annotation] */
  3637. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppConstantBuffers) = 0;
  3638. virtual void STDMETHODCALLTYPE PSGetShaderResources(
  3639. /* [annotation] */
  3640. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3641. /* [annotation] */
  3642. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3643. /* [annotation] */
  3644. _Out_writes_opt_(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
  3645. virtual void STDMETHODCALLTYPE PSGetShader(
  3646. /* [annotation] */
  3647. _Out_ ID3D10PixelShader **ppPixelShader) = 0;
  3648. virtual void STDMETHODCALLTYPE PSGetSamplers(
  3649. /* [annotation] */
  3650. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3651. /* [annotation] */
  3652. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3653. /* [annotation] */
  3654. _Out_writes_opt_(NumSamplers) ID3D10SamplerState **ppSamplers) = 0;
  3655. virtual void STDMETHODCALLTYPE VSGetShader(
  3656. /* [annotation] */
  3657. _Out_ ID3D10VertexShader **ppVertexShader) = 0;
  3658. virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
  3659. /* [annotation] */
  3660. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3661. /* [annotation] */
  3662. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3663. /* [annotation] */
  3664. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppConstantBuffers) = 0;
  3665. virtual void STDMETHODCALLTYPE IAGetInputLayout(
  3666. /* [annotation] */
  3667. _Out_ ID3D10InputLayout **ppInputLayout) = 0;
  3668. virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
  3669. /* [annotation] */
  3670. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3671. /* [annotation] */
  3672. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3673. /* [annotation] */
  3674. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppVertexBuffers,
  3675. /* [annotation] */
  3676. _Out_writes_opt_(NumBuffers) UINT *pStrides,
  3677. /* [annotation] */
  3678. _Out_writes_opt_(NumBuffers) UINT *pOffsets) = 0;
  3679. virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
  3680. /* [annotation] */
  3681. _Out_opt_ ID3D10Buffer **pIndexBuffer,
  3682. /* [annotation] */
  3683. _Out_opt_ DXGI_FORMAT *Format,
  3684. /* [annotation] */
  3685. _Out_opt_ UINT *Offset) = 0;
  3686. virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
  3687. /* [annotation] */
  3688. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3689. /* [annotation] */
  3690. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3691. /* [annotation] */
  3692. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppConstantBuffers) = 0;
  3693. virtual void STDMETHODCALLTYPE GSGetShader(
  3694. /* [annotation] */
  3695. _Out_ ID3D10GeometryShader **ppGeometryShader) = 0;
  3696. virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
  3697. /* [annotation] */
  3698. _Out_ D3D10_PRIMITIVE_TOPOLOGY *pTopology) = 0;
  3699. virtual void STDMETHODCALLTYPE VSGetShaderResources(
  3700. /* [annotation] */
  3701. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3702. /* [annotation] */
  3703. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3704. /* [annotation] */
  3705. _Out_writes_opt_(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
  3706. virtual void STDMETHODCALLTYPE VSGetSamplers(
  3707. /* [annotation] */
  3708. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3709. /* [annotation] */
  3710. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3711. /* [annotation] */
  3712. _Out_writes_opt_(NumSamplers) ID3D10SamplerState **ppSamplers) = 0;
  3713. virtual void STDMETHODCALLTYPE GetPredication(
  3714. /* [annotation] */
  3715. _Out_opt_ ID3D10Predicate **ppPredicate,
  3716. /* [annotation] */
  3717. _Out_opt_ BOOL *pPredicateValue) = 0;
  3718. virtual void STDMETHODCALLTYPE GSGetShaderResources(
  3719. /* [annotation] */
  3720. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3721. /* [annotation] */
  3722. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3723. /* [annotation] */
  3724. _Out_writes_opt_(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
  3725. virtual void STDMETHODCALLTYPE GSGetSamplers(
  3726. /* [annotation] */
  3727. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3728. /* [annotation] */
  3729. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3730. /* [annotation] */
  3731. _Out_writes_opt_(NumSamplers) ID3D10SamplerState **ppSamplers) = 0;
  3732. virtual void STDMETHODCALLTYPE OMGetRenderTargets(
  3733. /* [annotation] */
  3734. _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  3735. /* [annotation] */
  3736. _Out_writes_opt_(NumViews) ID3D10RenderTargetView **ppRenderTargetViews,
  3737. /* [annotation] */
  3738. _Out_opt_ ID3D10DepthStencilView **ppDepthStencilView) = 0;
  3739. virtual void STDMETHODCALLTYPE OMGetBlendState(
  3740. /* [annotation] */
  3741. _Out_opt_ ID3D10BlendState **ppBlendState,
  3742. /* [annotation] */
  3743. _Out_opt_ FLOAT BlendFactor[ 4 ],
  3744. /* [annotation] */
  3745. _Out_opt_ UINT *pSampleMask) = 0;
  3746. virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
  3747. /* [annotation] */
  3748. _Out_opt_ ID3D10DepthStencilState **ppDepthStencilState,
  3749. /* [annotation] */
  3750. _Out_opt_ UINT *pStencilRef) = 0;
  3751. virtual void STDMETHODCALLTYPE SOGetTargets(
  3752. /* [annotation] */
  3753. _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT ) UINT NumBuffers,
  3754. /* [annotation] */
  3755. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppSOTargets,
  3756. /* [annotation] */
  3757. _Out_writes_opt_(NumBuffers) UINT *pOffsets) = 0;
  3758. virtual void STDMETHODCALLTYPE RSGetState(
  3759. /* [annotation] */
  3760. _Out_ ID3D10RasterizerState **ppRasterizerState) = 0;
  3761. virtual void STDMETHODCALLTYPE RSGetViewports(
  3762. /* [annotation] */
  3763. _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumViewports,
  3764. /* [annotation] */
  3765. _Out_writes_opt_(*NumViewports) D3D10_VIEWPORT *pViewports) = 0;
  3766. virtual void STDMETHODCALLTYPE RSGetScissorRects(
  3767. /* [annotation] */
  3768. _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumRects,
  3769. /* [annotation] */
  3770. _Out_writes_opt_(*NumRects) D3D10_RECT *pRects) = 0;
  3771. virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
  3772. virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
  3773. UINT RaiseFlags) = 0;
  3774. virtual UINT STDMETHODCALLTYPE GetExceptionMode( void) = 0;
  3775. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  3776. /* [annotation] */
  3777. _In_ REFGUID guid,
  3778. /* [annotation] */
  3779. _Inout_ UINT *pDataSize,
  3780. /* [annotation] */
  3781. _Out_writes_bytes_opt_(*pDataSize) void *pData) = 0;
  3782. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  3783. /* [annotation] */
  3784. _In_ REFGUID guid,
  3785. /* [annotation] */
  3786. _In_ UINT DataSize,
  3787. /* [annotation] */
  3788. _In_reads_bytes_opt_(DataSize) const void *pData) = 0;
  3789. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  3790. /* [annotation] */
  3791. _In_ REFGUID guid,
  3792. /* [annotation] */
  3793. _In_opt_ const IUnknown *pData) = 0;
  3794. virtual void STDMETHODCALLTYPE ClearState( void) = 0;
  3795. virtual void STDMETHODCALLTYPE Flush( void) = 0;
  3796. virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
  3797. /* [annotation] */
  3798. _In_ const D3D10_BUFFER_DESC *pDesc,
  3799. /* [annotation] */
  3800. _In_opt_ const D3D10_SUBRESOURCE_DATA *pInitialData,
  3801. /* [annotation] */
  3802. _Out_opt_ ID3D10Buffer **ppBuffer) = 0;
  3803. virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
  3804. /* [annotation] */
  3805. _In_ const D3D10_TEXTURE1D_DESC *pDesc,
  3806. /* [annotation] */
  3807. _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize)) const D3D10_SUBRESOURCE_DATA *pInitialData,
  3808. /* [annotation] */
  3809. _Out_ ID3D10Texture1D **ppTexture1D) = 0;
  3810. virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
  3811. /* [annotation] */
  3812. _In_ const D3D10_TEXTURE2D_DESC *pDesc,
  3813. /* [annotation] */
  3814. _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize)) const D3D10_SUBRESOURCE_DATA *pInitialData,
  3815. /* [annotation] */
  3816. _Out_ ID3D10Texture2D **ppTexture2D) = 0;
  3817. virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
  3818. /* [annotation] */
  3819. _In_ const D3D10_TEXTURE3D_DESC *pDesc,
  3820. /* [annotation] */
  3821. _In_reads_opt_(_Inexpressible_(pDesc->MipLevels)) const D3D10_SUBRESOURCE_DATA *pInitialData,
  3822. /* [annotation] */
  3823. _Out_ ID3D10Texture3D **ppTexture3D) = 0;
  3824. virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
  3825. /* [annotation] */
  3826. _In_ ID3D10Resource *pResource,
  3827. /* [annotation] */
  3828. _In_opt_ const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
  3829. /* [annotation] */
  3830. _Out_opt_ ID3D10ShaderResourceView **ppSRView) = 0;
  3831. virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
  3832. /* [annotation] */
  3833. _In_ ID3D10Resource *pResource,
  3834. /* [annotation] */
  3835. _In_opt_ const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
  3836. /* [annotation] */
  3837. _Out_opt_ ID3D10RenderTargetView **ppRTView) = 0;
  3838. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
  3839. /* [annotation] */
  3840. _In_ ID3D10Resource *pResource,
  3841. /* [annotation] */
  3842. _In_opt_ const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
  3843. /* [annotation] */
  3844. _Out_opt_ ID3D10DepthStencilView **ppDepthStencilView) = 0;
  3845. virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
  3846. /* [annotation] */
  3847. _In_reads_(NumElements) const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
  3848. /* [annotation] */
  3849. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ) UINT NumElements,
  3850. /* [annotation] */
  3851. _In_reads_(BytecodeLength) const void *pShaderBytecodeWithInputSignature,
  3852. /* [annotation] */
  3853. _In_ SIZE_T BytecodeLength,
  3854. /* [annotation] */
  3855. _Out_opt_ ID3D10InputLayout **ppInputLayout) = 0;
  3856. virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
  3857. /* [annotation] */
  3858. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  3859. /* [annotation] */
  3860. _In_ SIZE_T BytecodeLength,
  3861. /* [annotation] */
  3862. _Out_opt_ ID3D10VertexShader **ppVertexShader) = 0;
  3863. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
  3864. /* [annotation] */
  3865. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  3866. /* [annotation] */
  3867. _In_ SIZE_T BytecodeLength,
  3868. /* [annotation] */
  3869. _Out_opt_ ID3D10GeometryShader **ppGeometryShader) = 0;
  3870. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
  3871. /* [annotation] */
  3872. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  3873. /* [annotation] */
  3874. _In_ SIZE_T BytecodeLength,
  3875. /* [annotation] */
  3876. _In_reads_opt_(NumEntries) const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
  3877. /* [annotation] */
  3878. _In_range_( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT ) UINT NumEntries,
  3879. /* [annotation] */
  3880. _In_ UINT OutputStreamStride,
  3881. /* [annotation] */
  3882. _Out_opt_ ID3D10GeometryShader **ppGeometryShader) = 0;
  3883. virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
  3884. /* [annotation] */
  3885. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  3886. /* [annotation] */
  3887. _In_ SIZE_T BytecodeLength,
  3888. /* [annotation] */
  3889. _Out_opt_ ID3D10PixelShader **ppPixelShader) = 0;
  3890. virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
  3891. /* [annotation] */
  3892. _In_ const D3D10_BLEND_DESC *pBlendStateDesc,
  3893. /* [annotation] */
  3894. _Out_opt_ ID3D10BlendState **ppBlendState) = 0;
  3895. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
  3896. /* [annotation] */
  3897. _In_ const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  3898. /* [annotation] */
  3899. _Out_opt_ ID3D10DepthStencilState **ppDepthStencilState) = 0;
  3900. virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
  3901. /* [annotation] */
  3902. _In_ const D3D10_RASTERIZER_DESC *pRasterizerDesc,
  3903. /* [annotation] */
  3904. _Out_opt_ ID3D10RasterizerState **ppRasterizerState) = 0;
  3905. virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
  3906. /* [annotation] */
  3907. _In_ const D3D10_SAMPLER_DESC *pSamplerDesc,
  3908. /* [annotation] */
  3909. _Out_opt_ ID3D10SamplerState **ppSamplerState) = 0;
  3910. virtual HRESULT STDMETHODCALLTYPE CreateQuery(
  3911. /* [annotation] */
  3912. _In_ const D3D10_QUERY_DESC *pQueryDesc,
  3913. /* [annotation] */
  3914. _Out_opt_ ID3D10Query **ppQuery) = 0;
  3915. virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
  3916. /* [annotation] */
  3917. _In_ const D3D10_QUERY_DESC *pPredicateDesc,
  3918. /* [annotation] */
  3919. _Out_opt_ ID3D10Predicate **ppPredicate) = 0;
  3920. virtual HRESULT STDMETHODCALLTYPE CreateCounter(
  3921. /* [annotation] */
  3922. _In_ const D3D10_COUNTER_DESC *pCounterDesc,
  3923. /* [annotation] */
  3924. _Out_opt_ ID3D10Counter **ppCounter) = 0;
  3925. virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
  3926. /* [annotation] */
  3927. _In_ DXGI_FORMAT Format,
  3928. /* [annotation] */
  3929. _Out_ UINT *pFormatSupport) = 0;
  3930. virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
  3931. /* [annotation] */
  3932. _In_ DXGI_FORMAT Format,
  3933. /* [annotation] */
  3934. _In_ UINT SampleCount,
  3935. /* [annotation] */
  3936. _Out_ UINT *pNumQualityLevels) = 0;
  3937. virtual void STDMETHODCALLTYPE CheckCounterInfo(
  3938. /* [annotation] */
  3939. _Out_ D3D10_COUNTER_INFO *pCounterInfo) = 0;
  3940. virtual HRESULT STDMETHODCALLTYPE CheckCounter(
  3941. /* [annotation] */
  3942. _In_ const D3D10_COUNTER_DESC *pDesc,
  3943. /* [annotation] */
  3944. _Out_ D3D10_COUNTER_TYPE *pType,
  3945. /* [annotation] */
  3946. _Out_ UINT *pActiveCounters,
  3947. /* [annotation] */
  3948. _Out_writes_opt_(*pNameLength) LPSTR szName,
  3949. /* [annotation] */
  3950. _Inout_opt_ UINT *pNameLength,
  3951. /* [annotation] */
  3952. _Out_writes_opt_(*pUnitsLength) LPSTR szUnits,
  3953. /* [annotation] */
  3954. _Inout_opt_ UINT *pUnitsLength,
  3955. /* [annotation] */
  3956. _Out_writes_opt_(*pDescriptionLength) LPSTR szDescription,
  3957. /* [annotation] */
  3958. _Inout_opt_ UINT *pDescriptionLength) = 0;
  3959. virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;
  3960. virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
  3961. /* [annotation] */
  3962. _In_ HANDLE hResource,
  3963. /* [annotation] */
  3964. _In_ REFIID ReturnedInterface,
  3965. /* [annotation] */
  3966. _Out_opt_ void **ppResource) = 0;
  3967. virtual void STDMETHODCALLTYPE SetTextFilterSize(
  3968. /* [annotation] */
  3969. _In_ UINT Width,
  3970. /* [annotation] */
  3971. _In_ UINT Height) = 0;
  3972. virtual void STDMETHODCALLTYPE GetTextFilterSize(
  3973. /* [annotation] */
  3974. _Out_opt_ UINT *pWidth,
  3975. /* [annotation] */
  3976. _Out_opt_ UINT *pHeight) = 0;
  3977. };
  3978. #else /* C style interface */
  3979. typedef struct ID3D10DeviceVtbl
  3980. {
  3981. BEGIN_INTERFACE
  3982. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3983. ID3D10Device * This,
  3984. /* [in] */ REFIID riid,
  3985. /* [annotation][iid_is][out] */
  3986. _COM_Outptr_ void **ppvObject);
  3987. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3988. ID3D10Device * This);
  3989. ULONG ( STDMETHODCALLTYPE *Release )(
  3990. ID3D10Device * This);
  3991. void ( STDMETHODCALLTYPE *VSSetConstantBuffers )(
  3992. ID3D10Device * This,
  3993. /* [annotation] */
  3994. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3995. /* [annotation] */
  3996. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3997. /* [annotation] */
  3998. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppConstantBuffers);
  3999. void ( STDMETHODCALLTYPE *PSSetShaderResources )(
  4000. ID3D10Device * This,
  4001. /* [annotation] */
  4002. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4003. /* [annotation] */
  4004. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4005. /* [annotation] */
  4006. _In_reads_opt_(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews);
  4007. void ( STDMETHODCALLTYPE *PSSetShader )(
  4008. ID3D10Device * This,
  4009. /* [annotation] */
  4010. _In_opt_ ID3D10PixelShader *pPixelShader);
  4011. void ( STDMETHODCALLTYPE *PSSetSamplers )(
  4012. ID3D10Device * This,
  4013. /* [annotation] */
  4014. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4015. /* [annotation] */
  4016. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4017. /* [annotation] */
  4018. _In_reads_opt_(NumSamplers) ID3D10SamplerState *const *ppSamplers);
  4019. void ( STDMETHODCALLTYPE *VSSetShader )(
  4020. ID3D10Device * This,
  4021. /* [annotation] */
  4022. _In_opt_ ID3D10VertexShader *pVertexShader);
  4023. void ( STDMETHODCALLTYPE *DrawIndexed )(
  4024. ID3D10Device * This,
  4025. /* [annotation] */
  4026. _In_ UINT IndexCount,
  4027. /* [annotation] */
  4028. _In_ UINT StartIndexLocation,
  4029. /* [annotation] */
  4030. _In_ INT BaseVertexLocation);
  4031. void ( STDMETHODCALLTYPE *Draw )(
  4032. ID3D10Device * This,
  4033. /* [annotation] */
  4034. _In_ UINT VertexCount,
  4035. /* [annotation] */
  4036. _In_ UINT StartVertexLocation);
  4037. void ( STDMETHODCALLTYPE *PSSetConstantBuffers )(
  4038. ID3D10Device * This,
  4039. /* [annotation] */
  4040. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4041. /* [annotation] */
  4042. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4043. /* [annotation] */
  4044. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppConstantBuffers);
  4045. void ( STDMETHODCALLTYPE *IASetInputLayout )(
  4046. ID3D10Device * This,
  4047. /* [annotation] */
  4048. _In_opt_ ID3D10InputLayout *pInputLayout);
  4049. void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
  4050. ID3D10Device * This,
  4051. /* [annotation] */
  4052. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4053. /* [annotation] */
  4054. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4055. /* [annotation] */
  4056. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppVertexBuffers,
  4057. /* [annotation] */
  4058. _In_reads_opt_(NumBuffers) const UINT *pStrides,
  4059. /* [annotation] */
  4060. _In_reads_opt_(NumBuffers) const UINT *pOffsets);
  4061. void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
  4062. ID3D10Device * This,
  4063. /* [annotation] */
  4064. _In_opt_ ID3D10Buffer *pIndexBuffer,
  4065. /* [annotation] */
  4066. _In_ DXGI_FORMAT Format,
  4067. /* [annotation] */
  4068. _In_ UINT Offset);
  4069. void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
  4070. ID3D10Device * This,
  4071. /* [annotation] */
  4072. _In_ UINT IndexCountPerInstance,
  4073. /* [annotation] */
  4074. _In_ UINT InstanceCount,
  4075. /* [annotation] */
  4076. _In_ UINT StartIndexLocation,
  4077. /* [annotation] */
  4078. _In_ INT BaseVertexLocation,
  4079. /* [annotation] */
  4080. _In_ UINT StartInstanceLocation);
  4081. void ( STDMETHODCALLTYPE *DrawInstanced )(
  4082. ID3D10Device * This,
  4083. /* [annotation] */
  4084. _In_ UINT VertexCountPerInstance,
  4085. /* [annotation] */
  4086. _In_ UINT InstanceCount,
  4087. /* [annotation] */
  4088. _In_ UINT StartVertexLocation,
  4089. /* [annotation] */
  4090. _In_ UINT StartInstanceLocation);
  4091. void ( STDMETHODCALLTYPE *GSSetConstantBuffers )(
  4092. ID3D10Device * This,
  4093. /* [annotation] */
  4094. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4095. /* [annotation] */
  4096. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4097. /* [annotation] */
  4098. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppConstantBuffers);
  4099. void ( STDMETHODCALLTYPE *GSSetShader )(
  4100. ID3D10Device * This,
  4101. /* [annotation] */
  4102. _In_opt_ ID3D10GeometryShader *pShader);
  4103. void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
  4104. ID3D10Device * This,
  4105. /* [annotation] */
  4106. _In_ D3D10_PRIMITIVE_TOPOLOGY Topology);
  4107. void ( STDMETHODCALLTYPE *VSSetShaderResources )(
  4108. ID3D10Device * This,
  4109. /* [annotation] */
  4110. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4111. /* [annotation] */
  4112. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4113. /* [annotation] */
  4114. _In_reads_opt_(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews);
  4115. void ( STDMETHODCALLTYPE *VSSetSamplers )(
  4116. ID3D10Device * This,
  4117. /* [annotation] */
  4118. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4119. /* [annotation] */
  4120. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4121. /* [annotation] */
  4122. _In_reads_opt_(NumSamplers) ID3D10SamplerState *const *ppSamplers);
  4123. void ( STDMETHODCALLTYPE *SetPredication )(
  4124. ID3D10Device * This,
  4125. /* [annotation] */
  4126. _In_opt_ ID3D10Predicate *pPredicate,
  4127. /* [annotation] */
  4128. _In_ BOOL PredicateValue);
  4129. void ( STDMETHODCALLTYPE *GSSetShaderResources )(
  4130. ID3D10Device * This,
  4131. /* [annotation] */
  4132. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4133. /* [annotation] */
  4134. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4135. /* [annotation] */
  4136. _In_reads_opt_(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews);
  4137. void ( STDMETHODCALLTYPE *GSSetSamplers )(
  4138. ID3D10Device * This,
  4139. /* [annotation] */
  4140. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4141. /* [annotation] */
  4142. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4143. /* [annotation] */
  4144. _In_reads_opt_(NumSamplers) ID3D10SamplerState *const *ppSamplers);
  4145. void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
  4146. ID3D10Device * This,
  4147. /* [annotation] */
  4148. _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  4149. /* [annotation] */
  4150. _In_reads_opt_(NumViews) ID3D10RenderTargetView *const *ppRenderTargetViews,
  4151. /* [annotation] */
  4152. _In_opt_ ID3D10DepthStencilView *pDepthStencilView);
  4153. void ( STDMETHODCALLTYPE *OMSetBlendState )(
  4154. ID3D10Device * This,
  4155. /* [annotation] */
  4156. _In_opt_ ID3D10BlendState *pBlendState,
  4157. /* [annotation] */
  4158. _In_ const FLOAT BlendFactor[ 4 ],
  4159. /* [annotation] */
  4160. _In_ UINT SampleMask);
  4161. void ( STDMETHODCALLTYPE *OMSetDepthStencilState )(
  4162. ID3D10Device * This,
  4163. /* [annotation] */
  4164. _In_opt_ ID3D10DepthStencilState *pDepthStencilState,
  4165. /* [annotation] */
  4166. _In_ UINT StencilRef);
  4167. void ( STDMETHODCALLTYPE *SOSetTargets )(
  4168. ID3D10Device * This,
  4169. /* [annotation] */
  4170. _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT) UINT NumBuffers,
  4171. /* [annotation] */
  4172. _In_reads_opt_(NumBuffers) ID3D10Buffer *const *ppSOTargets,
  4173. /* [annotation] */
  4174. _In_reads_opt_(NumBuffers) const UINT *pOffsets);
  4175. void ( STDMETHODCALLTYPE *DrawAuto )(
  4176. ID3D10Device * This);
  4177. void ( STDMETHODCALLTYPE *RSSetState )(
  4178. ID3D10Device * This,
  4179. /* [annotation] */
  4180. _In_opt_ ID3D10RasterizerState *pRasterizerState);
  4181. void ( STDMETHODCALLTYPE *RSSetViewports )(
  4182. ID3D10Device * This,
  4183. /* [annotation] */
  4184. _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
  4185. /* [annotation] */
  4186. _In_reads_opt_(NumViewports) const D3D10_VIEWPORT *pViewports);
  4187. void ( STDMETHODCALLTYPE *RSSetScissorRects )(
  4188. ID3D10Device * This,
  4189. /* [annotation] */
  4190. _In_range_(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
  4191. /* [annotation] */
  4192. _In_reads_opt_(NumRects) const D3D10_RECT *pRects);
  4193. void ( STDMETHODCALLTYPE *CopySubresourceRegion )(
  4194. ID3D10Device * This,
  4195. /* [annotation] */
  4196. _In_ ID3D10Resource *pDstResource,
  4197. /* [annotation] */
  4198. _In_ UINT DstSubresource,
  4199. /* [annotation] */
  4200. _In_ UINT DstX,
  4201. /* [annotation] */
  4202. _In_ UINT DstY,
  4203. /* [annotation] */
  4204. _In_ UINT DstZ,
  4205. /* [annotation] */
  4206. _In_ ID3D10Resource *pSrcResource,
  4207. /* [annotation] */
  4208. _In_ UINT SrcSubresource,
  4209. /* [annotation] */
  4210. _In_opt_ const D3D10_BOX *pSrcBox);
  4211. void ( STDMETHODCALLTYPE *CopyResource )(
  4212. ID3D10Device * This,
  4213. /* [annotation] */
  4214. _In_ ID3D10Resource *pDstResource,
  4215. /* [annotation] */
  4216. _In_ ID3D10Resource *pSrcResource);
  4217. void ( STDMETHODCALLTYPE *UpdateSubresource )(
  4218. ID3D10Device * This,
  4219. /* [annotation] */
  4220. _In_ ID3D10Resource *pDstResource,
  4221. /* [annotation] */
  4222. _In_ UINT DstSubresource,
  4223. /* [annotation] */
  4224. _In_opt_ const D3D10_BOX *pDstBox,
  4225. /* [annotation] */
  4226. _In_ const void *pSrcData,
  4227. /* [annotation] */
  4228. _In_ UINT SrcRowPitch,
  4229. /* [annotation] */
  4230. _In_ UINT SrcDepthPitch);
  4231. void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
  4232. ID3D10Device * This,
  4233. /* [annotation] */
  4234. _In_ ID3D10RenderTargetView *pRenderTargetView,
  4235. /* [annotation] */
  4236. _In_ const FLOAT ColorRGBA[ 4 ]);
  4237. void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
  4238. ID3D10Device * This,
  4239. /* [annotation] */
  4240. _In_ ID3D10DepthStencilView *pDepthStencilView,
  4241. /* [annotation] */
  4242. _In_ UINT ClearFlags,
  4243. /* [annotation] */
  4244. _In_ FLOAT Depth,
  4245. /* [annotation] */
  4246. _In_ UINT8 Stencil);
  4247. void ( STDMETHODCALLTYPE *GenerateMips )(
  4248. ID3D10Device * This,
  4249. /* [annotation] */
  4250. _In_ ID3D10ShaderResourceView *pShaderResourceView);
  4251. void ( STDMETHODCALLTYPE *ResolveSubresource )(
  4252. ID3D10Device * This,
  4253. /* [annotation] */
  4254. _In_ ID3D10Resource *pDstResource,
  4255. /* [annotation] */
  4256. _In_ UINT DstSubresource,
  4257. /* [annotation] */
  4258. _In_ ID3D10Resource *pSrcResource,
  4259. /* [annotation] */
  4260. _In_ UINT SrcSubresource,
  4261. /* [annotation] */
  4262. _In_ DXGI_FORMAT Format);
  4263. void ( STDMETHODCALLTYPE *VSGetConstantBuffers )(
  4264. ID3D10Device * This,
  4265. /* [annotation] */
  4266. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4267. /* [annotation] */
  4268. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4269. /* [annotation] */
  4270. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppConstantBuffers);
  4271. void ( STDMETHODCALLTYPE *PSGetShaderResources )(
  4272. ID3D10Device * This,
  4273. /* [annotation] */
  4274. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4275. /* [annotation] */
  4276. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4277. /* [annotation] */
  4278. _Out_writes_opt_(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews);
  4279. void ( STDMETHODCALLTYPE *PSGetShader )(
  4280. ID3D10Device * This,
  4281. /* [annotation] */
  4282. _Out_ ID3D10PixelShader **ppPixelShader);
  4283. void ( STDMETHODCALLTYPE *PSGetSamplers )(
  4284. ID3D10Device * This,
  4285. /* [annotation] */
  4286. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4287. /* [annotation] */
  4288. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4289. /* [annotation] */
  4290. _Out_writes_opt_(NumSamplers) ID3D10SamplerState **ppSamplers);
  4291. void ( STDMETHODCALLTYPE *VSGetShader )(
  4292. ID3D10Device * This,
  4293. /* [annotation] */
  4294. _Out_ ID3D10VertexShader **ppVertexShader);
  4295. void ( STDMETHODCALLTYPE *PSGetConstantBuffers )(
  4296. ID3D10Device * This,
  4297. /* [annotation] */
  4298. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4299. /* [annotation] */
  4300. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4301. /* [annotation] */
  4302. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppConstantBuffers);
  4303. void ( STDMETHODCALLTYPE *IAGetInputLayout )(
  4304. ID3D10Device * This,
  4305. /* [annotation] */
  4306. _Out_ ID3D10InputLayout **ppInputLayout);
  4307. void ( STDMETHODCALLTYPE *IAGetVertexBuffers )(
  4308. ID3D10Device * This,
  4309. /* [annotation] */
  4310. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4311. /* [annotation] */
  4312. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4313. /* [annotation] */
  4314. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppVertexBuffers,
  4315. /* [annotation] */
  4316. _Out_writes_opt_(NumBuffers) UINT *pStrides,
  4317. /* [annotation] */
  4318. _Out_writes_opt_(NumBuffers) UINT *pOffsets);
  4319. void ( STDMETHODCALLTYPE *IAGetIndexBuffer )(
  4320. ID3D10Device * This,
  4321. /* [annotation] */
  4322. _Out_opt_ ID3D10Buffer **pIndexBuffer,
  4323. /* [annotation] */
  4324. _Out_opt_ DXGI_FORMAT *Format,
  4325. /* [annotation] */
  4326. _Out_opt_ UINT *Offset);
  4327. void ( STDMETHODCALLTYPE *GSGetConstantBuffers )(
  4328. ID3D10Device * This,
  4329. /* [annotation] */
  4330. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4331. /* [annotation] */
  4332. _In_range_( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4333. /* [annotation] */
  4334. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppConstantBuffers);
  4335. void ( STDMETHODCALLTYPE *GSGetShader )(
  4336. ID3D10Device * This,
  4337. /* [annotation] */
  4338. _Out_ ID3D10GeometryShader **ppGeometryShader);
  4339. void ( STDMETHODCALLTYPE *IAGetPrimitiveTopology )(
  4340. ID3D10Device * This,
  4341. /* [annotation] */
  4342. _Out_ D3D10_PRIMITIVE_TOPOLOGY *pTopology);
  4343. void ( STDMETHODCALLTYPE *VSGetShaderResources )(
  4344. ID3D10Device * This,
  4345. /* [annotation] */
  4346. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4347. /* [annotation] */
  4348. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4349. /* [annotation] */
  4350. _Out_writes_opt_(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews);
  4351. void ( STDMETHODCALLTYPE *VSGetSamplers )(
  4352. ID3D10Device * This,
  4353. /* [annotation] */
  4354. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4355. /* [annotation] */
  4356. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4357. /* [annotation] */
  4358. _Out_writes_opt_(NumSamplers) ID3D10SamplerState **ppSamplers);
  4359. void ( STDMETHODCALLTYPE *GetPredication )(
  4360. ID3D10Device * This,
  4361. /* [annotation] */
  4362. _Out_opt_ ID3D10Predicate **ppPredicate,
  4363. /* [annotation] */
  4364. _Out_opt_ BOOL *pPredicateValue);
  4365. void ( STDMETHODCALLTYPE *GSGetShaderResources )(
  4366. ID3D10Device * This,
  4367. /* [annotation] */
  4368. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4369. /* [annotation] */
  4370. _In_range_( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4371. /* [annotation] */
  4372. _Out_writes_opt_(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews);
  4373. void ( STDMETHODCALLTYPE *GSGetSamplers )(
  4374. ID3D10Device * This,
  4375. /* [annotation] */
  4376. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4377. /* [annotation] */
  4378. _In_range_( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4379. /* [annotation] */
  4380. _Out_writes_opt_(NumSamplers) ID3D10SamplerState **ppSamplers);
  4381. void ( STDMETHODCALLTYPE *OMGetRenderTargets )(
  4382. ID3D10Device * This,
  4383. /* [annotation] */
  4384. _In_range_( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  4385. /* [annotation] */
  4386. _Out_writes_opt_(NumViews) ID3D10RenderTargetView **ppRenderTargetViews,
  4387. /* [annotation] */
  4388. _Out_opt_ ID3D10DepthStencilView **ppDepthStencilView);
  4389. void ( STDMETHODCALLTYPE *OMGetBlendState )(
  4390. ID3D10Device * This,
  4391. /* [annotation] */
  4392. _Out_opt_ ID3D10BlendState **ppBlendState,
  4393. /* [annotation] */
  4394. _Out_opt_ FLOAT BlendFactor[ 4 ],
  4395. /* [annotation] */
  4396. _Out_opt_ UINT *pSampleMask);
  4397. void ( STDMETHODCALLTYPE *OMGetDepthStencilState )(
  4398. ID3D10Device * This,
  4399. /* [annotation] */
  4400. _Out_opt_ ID3D10DepthStencilState **ppDepthStencilState,
  4401. /* [annotation] */
  4402. _Out_opt_ UINT *pStencilRef);
  4403. void ( STDMETHODCALLTYPE *SOGetTargets )(
  4404. ID3D10Device * This,
  4405. /* [annotation] */
  4406. _In_range_( 0, D3D10_SO_BUFFER_SLOT_COUNT ) UINT NumBuffers,
  4407. /* [annotation] */
  4408. _Out_writes_opt_(NumBuffers) ID3D10Buffer **ppSOTargets,
  4409. /* [annotation] */
  4410. _Out_writes_opt_(NumBuffers) UINT *pOffsets);
  4411. void ( STDMETHODCALLTYPE *RSGetState )(
  4412. ID3D10Device * This,
  4413. /* [annotation] */
  4414. _Out_ ID3D10RasterizerState **ppRasterizerState);
  4415. void ( STDMETHODCALLTYPE *RSGetViewports )(
  4416. ID3D10Device * This,
  4417. /* [annotation] */
  4418. _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumViewports,
  4419. /* [annotation] */
  4420. _Out_writes_opt_(*NumViewports) D3D10_VIEWPORT *pViewports);
  4421. void ( STDMETHODCALLTYPE *RSGetScissorRects )(
  4422. ID3D10Device * This,
  4423. /* [annotation] */
  4424. _Inout_ /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumRects,
  4425. /* [annotation] */
  4426. _Out_writes_opt_(*NumRects) D3D10_RECT *pRects);
  4427. HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
  4428. ID3D10Device * This);
  4429. HRESULT ( STDMETHODCALLTYPE *SetExceptionMode )(
  4430. ID3D10Device * This,
  4431. UINT RaiseFlags);
  4432. UINT ( STDMETHODCALLTYPE *GetExceptionMode )(
  4433. ID3D10Device * This);
  4434. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4435. ID3D10Device * This,
  4436. /* [annotation] */
  4437. _In_ REFGUID guid,
  4438. /* [annotation] */
  4439. _Inout_ UINT *pDataSize,
  4440. /* [annotation] */
  4441. _Out_writes_bytes_opt_(*pDataSize) void *pData);
  4442. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4443. ID3D10Device * This,
  4444. /* [annotation] */
  4445. _In_ REFGUID guid,
  4446. /* [annotation] */
  4447. _In_ UINT DataSize,
  4448. /* [annotation] */
  4449. _In_reads_bytes_opt_(DataSize) const void *pData);
  4450. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4451. ID3D10Device * This,
  4452. /* [annotation] */
  4453. _In_ REFGUID guid,
  4454. /* [annotation] */
  4455. _In_opt_ const IUnknown *pData);
  4456. void ( STDMETHODCALLTYPE *ClearState )(
  4457. ID3D10Device * This);
  4458. void ( STDMETHODCALLTYPE *Flush )(
  4459. ID3D10Device * This);
  4460. HRESULT ( STDMETHODCALLTYPE *CreateBuffer )(
  4461. ID3D10Device * This,
  4462. /* [annotation] */
  4463. _In_ const D3D10_BUFFER_DESC *pDesc,
  4464. /* [annotation] */
  4465. _In_opt_ const D3D10_SUBRESOURCE_DATA *pInitialData,
  4466. /* [annotation] */
  4467. _Out_opt_ ID3D10Buffer **ppBuffer);
  4468. HRESULT ( STDMETHODCALLTYPE *CreateTexture1D )(
  4469. ID3D10Device * This,
  4470. /* [annotation] */
  4471. _In_ const D3D10_TEXTURE1D_DESC *pDesc,
  4472. /* [annotation] */
  4473. _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize)) const D3D10_SUBRESOURCE_DATA *pInitialData,
  4474. /* [annotation] */
  4475. _Out_ ID3D10Texture1D **ppTexture1D);
  4476. HRESULT ( STDMETHODCALLTYPE *CreateTexture2D )(
  4477. ID3D10Device * This,
  4478. /* [annotation] */
  4479. _In_ const D3D10_TEXTURE2D_DESC *pDesc,
  4480. /* [annotation] */
  4481. _In_reads_opt_(_Inexpressible_(pDesc->MipLevels * pDesc->ArraySize)) const D3D10_SUBRESOURCE_DATA *pInitialData,
  4482. /* [annotation] */
  4483. _Out_ ID3D10Texture2D **ppTexture2D);
  4484. HRESULT ( STDMETHODCALLTYPE *CreateTexture3D )(
  4485. ID3D10Device * This,
  4486. /* [annotation] */
  4487. _In_ const D3D10_TEXTURE3D_DESC *pDesc,
  4488. /* [annotation] */
  4489. _In_reads_opt_(_Inexpressible_(pDesc->MipLevels)) const D3D10_SUBRESOURCE_DATA *pInitialData,
  4490. /* [annotation] */
  4491. _Out_ ID3D10Texture3D **ppTexture3D);
  4492. HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView )(
  4493. ID3D10Device * This,
  4494. /* [annotation] */
  4495. _In_ ID3D10Resource *pResource,
  4496. /* [annotation] */
  4497. _In_opt_ const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
  4498. /* [annotation] */
  4499. _Out_opt_ ID3D10ShaderResourceView **ppSRView);
  4500. HRESULT ( STDMETHODCALLTYPE *CreateRenderTargetView )(
  4501. ID3D10Device * This,
  4502. /* [annotation] */
  4503. _In_ ID3D10Resource *pResource,
  4504. /* [annotation] */
  4505. _In_opt_ const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
  4506. /* [annotation] */
  4507. _Out_opt_ ID3D10RenderTargetView **ppRTView);
  4508. HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilView )(
  4509. ID3D10Device * This,
  4510. /* [annotation] */
  4511. _In_ ID3D10Resource *pResource,
  4512. /* [annotation] */
  4513. _In_opt_ const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
  4514. /* [annotation] */
  4515. _Out_opt_ ID3D10DepthStencilView **ppDepthStencilView);
  4516. HRESULT ( STDMETHODCALLTYPE *CreateInputLayout )(
  4517. ID3D10Device * This,
  4518. /* [annotation] */
  4519. _In_reads_(NumElements) const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
  4520. /* [annotation] */
  4521. _In_range_( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ) UINT NumElements,
  4522. /* [annotation] */
  4523. _In_reads_(BytecodeLength) const void *pShaderBytecodeWithInputSignature,
  4524. /* [annotation] */
  4525. _In_ SIZE_T BytecodeLength,
  4526. /* [annotation] */
  4527. _Out_opt_ ID3D10InputLayout **ppInputLayout);
  4528. HRESULT ( STDMETHODCALLTYPE *CreateVertexShader )(
  4529. ID3D10Device * This,
  4530. /* [annotation] */
  4531. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  4532. /* [annotation] */
  4533. _In_ SIZE_T BytecodeLength,
  4534. /* [annotation] */
  4535. _Out_opt_ ID3D10VertexShader **ppVertexShader);
  4536. HRESULT ( STDMETHODCALLTYPE *CreateGeometryShader )(
  4537. ID3D10Device * This,
  4538. /* [annotation] */
  4539. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  4540. /* [annotation] */
  4541. _In_ SIZE_T BytecodeLength,
  4542. /* [annotation] */
  4543. _Out_opt_ ID3D10GeometryShader **ppGeometryShader);
  4544. HRESULT ( STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput )(
  4545. ID3D10Device * This,
  4546. /* [annotation] */
  4547. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  4548. /* [annotation] */
  4549. _In_ SIZE_T BytecodeLength,
  4550. /* [annotation] */
  4551. _In_reads_opt_(NumEntries) const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
  4552. /* [annotation] */
  4553. _In_range_( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT ) UINT NumEntries,
  4554. /* [annotation] */
  4555. _In_ UINT OutputStreamStride,
  4556. /* [annotation] */
  4557. _Out_opt_ ID3D10GeometryShader **ppGeometryShader);
  4558. HRESULT ( STDMETHODCALLTYPE *CreatePixelShader )(
  4559. ID3D10Device * This,
  4560. /* [annotation] */
  4561. _In_reads_(BytecodeLength) const void *pShaderBytecode,
  4562. /* [annotation] */
  4563. _In_ SIZE_T BytecodeLength,
  4564. /* [annotation] */
  4565. _Out_opt_ ID3D10PixelShader **ppPixelShader);
  4566. HRESULT ( STDMETHODCALLTYPE *CreateBlendState )(
  4567. ID3D10Device * This,
  4568. /* [annotation] */
  4569. _In_ const D3D10_BLEND_DESC *pBlendStateDesc,
  4570. /* [annotation] */
  4571. _Out_opt_ ID3D10BlendState **ppBlendState);
  4572. HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilState )(
  4573. ID3D10Device * This,
  4574. /* [annotation] */
  4575. _In_ const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  4576. /* [annotation] */
  4577. _Out_opt_ ID3D10DepthStencilState **ppDepthStencilState);
  4578. HRESULT ( STDMETHODCALLTYPE *CreateRasterizerState )(
  4579. ID3D10Device * This,
  4580. /* [annotation] */
  4581. _In_ const D3D10_RASTERIZER_DESC *pRasterizerDesc,
  4582. /* [annotation] */
  4583. _Out_opt_ ID3D10RasterizerState **ppRasterizerState);
  4584. HRESULT ( STDMETHODCALLTYPE *CreateSamplerState )(
  4585. ID3D10Device * This,
  4586. /* [annotation] */
  4587. _In_ const D3D10_SAMPLER_DESC *pSamplerDesc,
  4588. /* [annotation] */
  4589. _Out_opt_ ID3D10SamplerState **ppSamplerState);
  4590. HRESULT ( STDMETHODCALLTYPE *CreateQuery )(
  4591. ID3D10Device * This,
  4592. /* [annotation] */
  4593. _In_ const D3D10_QUERY_DESC *pQueryDesc,
  4594. /* [annotation] */
  4595. _Out_opt_ ID3D10Query **ppQuery);
  4596. HRESULT ( STDMETHODCALLTYPE *CreatePredicate )(
  4597. ID3D10Device * This,
  4598. /* [annotation] */
  4599. _In_ const D3D10_QUERY_DESC *pPredicateDesc,
  4600. /* [annotation] */
  4601. _Out_opt_ ID3D10Predicate **ppPredicate);
  4602. HRESULT ( STDMETHODCALLTYPE *CreateCounter )(
  4603. ID3D10Device * This,
  4604. /* [annotation] */
  4605. _In_ const D3D10_COUNTER_DESC *pCounterDesc,
  4606. /* [annotation] */
  4607. _Out_opt_ ID3D10Counter **ppCounter);
  4608. HRESULT ( STDMETHODCALLTYPE *CheckFormatSupport )(
  4609. ID3D10Device * This,
  4610. /* [annotation] */
  4611. _In_ DXGI_FORMAT Format,
  4612. /* [annotation] */
  4613. _Out_ UINT *pFormatSupport);
  4614. HRESULT ( STDMETHODCALLTYPE *CheckMultisampleQualityLevels )(
  4615. ID3D10Device * This,
  4616. /* [annotation] */
  4617. _In_ DXGI_FORMAT Format,
  4618. /* [annotation] */
  4619. _In_ UINT SampleCount,
  4620. /* [annotation] */
  4621. _Out_ UINT *pNumQualityLevels);
  4622. void ( STDMETHODCALLTYPE *CheckCounterInfo )(
  4623. ID3D10Device * This,
  4624. /* [annotation] */
  4625. _Out_ D3D10_COUNTER_INFO *pCounterInfo);
  4626. HRESULT ( STDMETHODCALLTYPE *CheckCounter )(
  4627. ID3D10Device * This,
  4628. /* [annotation] */
  4629. _In_ const D3D10_COUNTER_DESC *pDesc,
  4630. /* [annotation] */
  4631. _Out_ D3D10_COUNTER_TYPE *pType,
  4632. /* [annotation] */
  4633. _Out_ UINT *pActiveCounters,
  4634. /* [annotation] */
  4635. _Out_writes_opt_(*pNameLength) LPSTR szName,
  4636. /* [annotation] */
  4637. _Inout_opt_ UINT *pNameLength,
  4638. /* [annotation] */
  4639. _Out_writes_opt_(*pUnitsLength) LPSTR szUnits,
  4640. /* [annotation] */
  4641. _Inout_opt_ UINT *pUnitsLength,
  4642. /* [annotation] */
  4643. _Out_writes_opt_(*pDescriptionLength) LPSTR szDescription,
  4644. /* [annotation] */
  4645. _Inout_opt_ UINT *pDescriptionLength);
  4646. UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
  4647. ID3D10Device * This);
  4648. HRESULT ( STDMETHODCALLTYPE *OpenSharedResource )(
  4649. ID3D10Device * This,
  4650. /* [annotation] */
  4651. _In_ HANDLE hResource,
  4652. /* [annotation] */
  4653. _In_ REFIID ReturnedInterface,
  4654. /* [annotation] */
  4655. _Out_opt_ void **ppResource);
  4656. void ( STDMETHODCALLTYPE *SetTextFilterSize )(
  4657. ID3D10Device * This,
  4658. /* [annotation] */
  4659. _In_ UINT Width,
  4660. /* [annotation] */
  4661. _In_ UINT Height);
  4662. void ( STDMETHODCALLTYPE *GetTextFilterSize )(
  4663. ID3D10Device * This,
  4664. /* [annotation] */
  4665. _Out_opt_ UINT *pWidth,
  4666. /* [annotation] */
  4667. _Out_opt_ UINT *pHeight);
  4668. END_INTERFACE
  4669. } ID3D10DeviceVtbl;
  4670. interface ID3D10Device
  4671. {
  4672. CONST_VTBL struct ID3D10DeviceVtbl *lpVtbl;
  4673. };
  4674. #ifdef COBJMACROS
  4675. #define ID3D10Device_QueryInterface(This,riid,ppvObject) \
  4676. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4677. #define ID3D10Device_AddRef(This) \
  4678. ( (This)->lpVtbl -> AddRef(This) )
  4679. #define ID3D10Device_Release(This) \
  4680. ( (This)->lpVtbl -> Release(This) )
  4681. #define ID3D10Device_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4682. ( (This)->lpVtbl -> VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4683. #define ID3D10Device_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4684. ( (This)->lpVtbl -> PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4685. #define ID3D10Device_PSSetShader(This,pPixelShader) \
  4686. ( (This)->lpVtbl -> PSSetShader(This,pPixelShader) )
  4687. #define ID3D10Device_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4688. ( (This)->lpVtbl -> PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4689. #define ID3D10Device_VSSetShader(This,pVertexShader) \
  4690. ( (This)->lpVtbl -> VSSetShader(This,pVertexShader) )
  4691. #define ID3D10Device_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) \
  4692. ( (This)->lpVtbl -> DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) )
  4693. #define ID3D10Device_Draw(This,VertexCount,StartVertexLocation) \
  4694. ( (This)->lpVtbl -> Draw(This,VertexCount,StartVertexLocation) )
  4695. #define ID3D10Device_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4696. ( (This)->lpVtbl -> PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4697. #define ID3D10Device_IASetInputLayout(This,pInputLayout) \
  4698. ( (This)->lpVtbl -> IASetInputLayout(This,pInputLayout) )
  4699. #define ID3D10Device_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) \
  4700. ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  4701. #define ID3D10Device_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  4702. ( (This)->lpVtbl -> IASetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  4703. #define ID3D10Device_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
  4704. ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
  4705. #define ID3D10Device_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
  4706. ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
  4707. #define ID3D10Device_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4708. ( (This)->lpVtbl -> GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4709. #define ID3D10Device_GSSetShader(This,pShader) \
  4710. ( (This)->lpVtbl -> GSSetShader(This,pShader) )
  4711. #define ID3D10Device_IASetPrimitiveTopology(This,Topology) \
  4712. ( (This)->lpVtbl -> IASetPrimitiveTopology(This,Topology) )
  4713. #define ID3D10Device_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4714. ( (This)->lpVtbl -> VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4715. #define ID3D10Device_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4716. ( (This)->lpVtbl -> VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4717. #define ID3D10Device_SetPredication(This,pPredicate,PredicateValue) \
  4718. ( (This)->lpVtbl -> SetPredication(This,pPredicate,PredicateValue) )
  4719. #define ID3D10Device_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4720. ( (This)->lpVtbl -> GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4721. #define ID3D10Device_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4722. ( (This)->lpVtbl -> GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4723. #define ID3D10Device_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) \
  4724. ( (This)->lpVtbl -> OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) )
  4725. #define ID3D10Device_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) \
  4726. ( (This)->lpVtbl -> OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) )
  4727. #define ID3D10Device_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) \
  4728. ( (This)->lpVtbl -> OMSetDepthStencilState(This,pDepthStencilState,StencilRef) )
  4729. #define ID3D10Device_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) \
  4730. ( (This)->lpVtbl -> SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  4731. #define ID3D10Device_DrawAuto(This) \
  4732. ( (This)->lpVtbl -> DrawAuto(This) )
  4733. #define ID3D10Device_RSSetState(This,pRasterizerState) \
  4734. ( (This)->lpVtbl -> RSSetState(This,pRasterizerState) )
  4735. #define ID3D10Device_RSSetViewports(This,NumViewports,pViewports) \
  4736. ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
  4737. #define ID3D10Device_RSSetScissorRects(This,NumRects,pRects) \
  4738. ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
  4739. #define ID3D10Device_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) \
  4740. ( (This)->lpVtbl -> CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) )
  4741. #define ID3D10Device_CopyResource(This,pDstResource,pSrcResource) \
  4742. ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
  4743. #define ID3D10Device_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
  4744. ( (This)->lpVtbl -> UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
  4745. #define ID3D10Device_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) \
  4746. ( (This)->lpVtbl -> ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) )
  4747. #define ID3D10Device_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) \
  4748. ( (This)->lpVtbl -> ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) )
  4749. #define ID3D10Device_GenerateMips(This,pShaderResourceView) \
  4750. ( (This)->lpVtbl -> GenerateMips(This,pShaderResourceView) )
  4751. #define ID3D10Device_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
  4752. ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
  4753. #define ID3D10Device_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4754. ( (This)->lpVtbl -> VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4755. #define ID3D10Device_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4756. ( (This)->lpVtbl -> PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4757. #define ID3D10Device_PSGetShader(This,ppPixelShader) \
  4758. ( (This)->lpVtbl -> PSGetShader(This,ppPixelShader) )
  4759. #define ID3D10Device_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4760. ( (This)->lpVtbl -> PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4761. #define ID3D10Device_VSGetShader(This,ppVertexShader) \
  4762. ( (This)->lpVtbl -> VSGetShader(This,ppVertexShader) )
  4763. #define ID3D10Device_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4764. ( (This)->lpVtbl -> PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4765. #define ID3D10Device_IAGetInputLayout(This,ppInputLayout) \
  4766. ( (This)->lpVtbl -> IAGetInputLayout(This,ppInputLayout) )
  4767. #define ID3D10Device_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) \
  4768. ( (This)->lpVtbl -> IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  4769. #define ID3D10Device_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  4770. ( (This)->lpVtbl -> IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  4771. #define ID3D10Device_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4772. ( (This)->lpVtbl -> GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4773. #define ID3D10Device_GSGetShader(This,ppGeometryShader) \
  4774. ( (This)->lpVtbl -> GSGetShader(This,ppGeometryShader) )
  4775. #define ID3D10Device_IAGetPrimitiveTopology(This,pTopology) \
  4776. ( (This)->lpVtbl -> IAGetPrimitiveTopology(This,pTopology) )
  4777. #define ID3D10Device_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4778. ( (This)->lpVtbl -> VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4779. #define ID3D10Device_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4780. ( (This)->lpVtbl -> VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4781. #define ID3D10Device_GetPredication(This,ppPredicate,pPredicateValue) \
  4782. ( (This)->lpVtbl -> GetPredication(This,ppPredicate,pPredicateValue) )
  4783. #define ID3D10Device_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4784. ( (This)->lpVtbl -> GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4785. #define ID3D10Device_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4786. ( (This)->lpVtbl -> GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4787. #define ID3D10Device_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) \
  4788. ( (This)->lpVtbl -> OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) )
  4789. #define ID3D10Device_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) \
  4790. ( (This)->lpVtbl -> OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) )
  4791. #define ID3D10Device_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) \
  4792. ( (This)->lpVtbl -> OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) )
  4793. #define ID3D10Device_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) \
  4794. ( (This)->lpVtbl -> SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  4795. #define ID3D10Device_RSGetState(This,ppRasterizerState) \
  4796. ( (This)->lpVtbl -> RSGetState(This,ppRasterizerState) )
  4797. #define ID3D10Device_RSGetViewports(This,NumViewports,pViewports) \
  4798. ( (This)->lpVtbl -> RSGetViewports(This,NumViewports,pViewports) )
  4799. #define ID3D10Device_RSGetScissorRects(This,NumRects,pRects) \
  4800. ( (This)->lpVtbl -> RSGetScissorRects(This,NumRects,pRects) )
  4801. #define ID3D10Device_GetDeviceRemovedReason(This) \
  4802. ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
  4803. #define ID3D10Device_SetExceptionMode(This,RaiseFlags) \
  4804. ( (This)->lpVtbl -> SetExceptionMode(This,RaiseFlags) )
  4805. #define ID3D10Device_GetExceptionMode(This) \
  4806. ( (This)->lpVtbl -> GetExceptionMode(This) )
  4807. #define ID3D10Device_GetPrivateData(This,guid,pDataSize,pData) \
  4808. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4809. #define ID3D10Device_SetPrivateData(This,guid,DataSize,pData) \
  4810. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4811. #define ID3D10Device_SetPrivateDataInterface(This,guid,pData) \
  4812. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4813. #define ID3D10Device_ClearState(This) \
  4814. ( (This)->lpVtbl -> ClearState(This) )
  4815. #define ID3D10Device_Flush(This) \
  4816. ( (This)->lpVtbl -> Flush(This) )
  4817. #define ID3D10Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) \
  4818. ( (This)->lpVtbl -> CreateBuffer(This,pDesc,pInitialData,ppBuffer) )
  4819. #define ID3D10Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) \
  4820. ( (This)->lpVtbl -> CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) )
  4821. #define ID3D10Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) \
  4822. ( (This)->lpVtbl -> CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) )
  4823. #define ID3D10Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) \
  4824. ( (This)->lpVtbl -> CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) )
  4825. #define ID3D10Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) \
  4826. ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,ppSRView) )
  4827. #define ID3D10Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) \
  4828. ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,ppRTView) )
  4829. #define ID3D10Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) \
  4830. ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) )
  4831. #define ID3D10Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) \
  4832. ( (This)->lpVtbl -> CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) )
  4833. #define ID3D10Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) \
  4834. ( (This)->lpVtbl -> CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) )
  4835. #define ID3D10Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) \
  4836. ( (This)->lpVtbl -> CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) )
  4837. #define ID3D10Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) \
  4838. ( (This)->lpVtbl -> CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) )
  4839. #define ID3D10Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) \
  4840. ( (This)->lpVtbl -> CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) )
  4841. #define ID3D10Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) \
  4842. ( (This)->lpVtbl -> CreateBlendState(This,pBlendStateDesc,ppBlendState) )
  4843. #define ID3D10Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) \
  4844. ( (This)->lpVtbl -> CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) )
  4845. #define ID3D10Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) \
  4846. ( (This)->lpVtbl -> CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) )
  4847. #define ID3D10Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) \
  4848. ( (This)->lpVtbl -> CreateSamplerState(This,pSamplerDesc,ppSamplerState) )
  4849. #define ID3D10Device_CreateQuery(This,pQueryDesc,ppQuery) \
  4850. ( (This)->lpVtbl -> CreateQuery(This,pQueryDesc,ppQuery) )
  4851. #define ID3D10Device_CreatePredicate(This,pPredicateDesc,ppPredicate) \
  4852. ( (This)->lpVtbl -> CreatePredicate(This,pPredicateDesc,ppPredicate) )
  4853. #define ID3D10Device_CreateCounter(This,pCounterDesc,ppCounter) \
  4854. ( (This)->lpVtbl -> CreateCounter(This,pCounterDesc,ppCounter) )
  4855. #define ID3D10Device_CheckFormatSupport(This,Format,pFormatSupport) \
  4856. ( (This)->lpVtbl -> CheckFormatSupport(This,Format,pFormatSupport) )
  4857. #define ID3D10Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) \
  4858. ( (This)->lpVtbl -> CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) )
  4859. #define ID3D10Device_CheckCounterInfo(This,pCounterInfo) \
  4860. ( (This)->lpVtbl -> CheckCounterInfo(This,pCounterInfo) )
  4861. #define ID3D10Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) \
  4862. ( (This)->lpVtbl -> CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) )
  4863. #define ID3D10Device_GetCreationFlags(This) \
  4864. ( (This)->lpVtbl -> GetCreationFlags(This) )
  4865. #define ID3D10Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) \
  4866. ( (This)->lpVtbl -> OpenSharedResource(This,hResource,ReturnedInterface,ppResource) )
  4867. #define ID3D10Device_SetTextFilterSize(This,Width,Height) \
  4868. ( (This)->lpVtbl -> SetTextFilterSize(This,Width,Height) )
  4869. #define ID3D10Device_GetTextFilterSize(This,pWidth,pHeight) \
  4870. ( (This)->lpVtbl -> GetTextFilterSize(This,pWidth,pHeight) )
  4871. #endif /* COBJMACROS */
  4872. #endif /* C style interface */
  4873. #endif /* __ID3D10Device_INTERFACE_DEFINED__ */
  4874. /* interface __MIDL_itf_d3d10_0000_0023 */
  4875. /* [local] */
  4876. #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
  4877. #pragma endregion
  4878. #pragma region Application Family
  4879. #pragma region Application Family
  4880. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  4881. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0023_v0_0_c_ifspec;
  4882. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0023_v0_0_s_ifspec;
  4883. #ifndef __ID3D10Multithread_INTERFACE_DEFINED__
  4884. #define __ID3D10Multithread_INTERFACE_DEFINED__
  4885. /* interface ID3D10Multithread */
  4886. /* [unique][local][object][uuid] */
  4887. EXTERN_C const IID IID_ID3D10Multithread;
  4888. #if defined(__cplusplus) && !defined(CINTERFACE)
  4889. MIDL_INTERFACE("9B7E4E00-342C-4106-A19F-4F2704F689F0")
  4890. ID3D10Multithread : public IUnknown
  4891. {
  4892. public:
  4893. virtual void STDMETHODCALLTYPE Enter( void) = 0;
  4894. virtual void STDMETHODCALLTYPE Leave( void) = 0;
  4895. virtual BOOL STDMETHODCALLTYPE SetMultithreadProtected(
  4896. /* [annotation] */
  4897. _In_ BOOL bMTProtect) = 0;
  4898. virtual BOOL STDMETHODCALLTYPE GetMultithreadProtected( void) = 0;
  4899. };
  4900. #else /* C style interface */
  4901. typedef struct ID3D10MultithreadVtbl
  4902. {
  4903. BEGIN_INTERFACE
  4904. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4905. ID3D10Multithread * This,
  4906. /* [in] */ REFIID riid,
  4907. /* [annotation][iid_is][out] */
  4908. _COM_Outptr_ void **ppvObject);
  4909. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4910. ID3D10Multithread * This);
  4911. ULONG ( STDMETHODCALLTYPE *Release )(
  4912. ID3D10Multithread * This);
  4913. void ( STDMETHODCALLTYPE *Enter )(
  4914. ID3D10Multithread * This);
  4915. void ( STDMETHODCALLTYPE *Leave )(
  4916. ID3D10Multithread * This);
  4917. BOOL ( STDMETHODCALLTYPE *SetMultithreadProtected )(
  4918. ID3D10Multithread * This,
  4919. /* [annotation] */
  4920. _In_ BOOL bMTProtect);
  4921. BOOL ( STDMETHODCALLTYPE *GetMultithreadProtected )(
  4922. ID3D10Multithread * This);
  4923. END_INTERFACE
  4924. } ID3D10MultithreadVtbl;
  4925. interface ID3D10Multithread
  4926. {
  4927. CONST_VTBL struct ID3D10MultithreadVtbl *lpVtbl;
  4928. };
  4929. #ifdef COBJMACROS
  4930. #define ID3D10Multithread_QueryInterface(This,riid,ppvObject) \
  4931. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4932. #define ID3D10Multithread_AddRef(This) \
  4933. ( (This)->lpVtbl -> AddRef(This) )
  4934. #define ID3D10Multithread_Release(This) \
  4935. ( (This)->lpVtbl -> Release(This) )
  4936. #define ID3D10Multithread_Enter(This) \
  4937. ( (This)->lpVtbl -> Enter(This) )
  4938. #define ID3D10Multithread_Leave(This) \
  4939. ( (This)->lpVtbl -> Leave(This) )
  4940. #define ID3D10Multithread_SetMultithreadProtected(This,bMTProtect) \
  4941. ( (This)->lpVtbl -> SetMultithreadProtected(This,bMTProtect) )
  4942. #define ID3D10Multithread_GetMultithreadProtected(This) \
  4943. ( (This)->lpVtbl -> GetMultithreadProtected(This) )
  4944. #endif /* COBJMACROS */
  4945. #endif /* C style interface */
  4946. #endif /* __ID3D10Multithread_INTERFACE_DEFINED__ */
  4947. /* interface __MIDL_itf_d3d10_0000_0024 */
  4948. /* [local] */
  4949. #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
  4950. #pragma endregion
  4951. #pragma endregion
  4952. #pragma region Desktop Family
  4953. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  4954. typedef
  4955. enum D3D10_CREATE_DEVICE_FLAG
  4956. {
  4957. D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
  4958. D3D10_CREATE_DEVICE_DEBUG = 0x2,
  4959. D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  4960. D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  4961. D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
  4962. D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
  4963. D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
  4964. D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200,
  4965. D3D10_CREATE_DEVICE_DEBUGGABLE = 0x400
  4966. } D3D10_CREATE_DEVICE_FLAG;
  4967. #define D3D10_SDK_VERSION ( 29 )
  4968. #if !defined( D3D10_IGNORE_SDK_LAYERS )
  4969. #include "d3d10sdklayers.h"
  4970. #endif
  4971. #include "d3d10misc.h"
  4972. #include "d3d10shader.h"
  4973. #include "d3d10effect.h"
  4974. #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
  4975. #pragma endregion
  4976. DEFINE_GUID(IID_ID3D10DeviceChild,0x9B7E4C00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4977. DEFINE_GUID(IID_ID3D10DepthStencilState,0x2B4B1CC8,0xA4AD,0x41f8,0x83,0x22,0xCA,0x86,0xFC,0x3E,0xC6,0x75);
  4978. DEFINE_GUID(IID_ID3D10BlendState,0xEDAD8D19,0x8A35,0x4d6d,0x85,0x66,0x2E,0xA2,0x76,0xCD,0xE1,0x61);
  4979. DEFINE_GUID(IID_ID3D10RasterizerState,0xA2A07292,0x89AF,0x4345,0xBE,0x2E,0xC5,0x3D,0x9F,0xBB,0x6E,0x9F);
  4980. DEFINE_GUID(IID_ID3D10Resource,0x9B7E4C01,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4981. DEFINE_GUID(IID_ID3D10Buffer,0x9B7E4C02,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4982. DEFINE_GUID(IID_ID3D10Texture1D,0x9B7E4C03,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4983. DEFINE_GUID(IID_ID3D10Texture2D,0x9B7E4C04,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4984. DEFINE_GUID(IID_ID3D10Texture3D,0x9B7E4C05,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4985. DEFINE_GUID(IID_ID3D10View,0xC902B03F,0x60A7,0x49BA,0x99,0x36,0x2A,0x3A,0xB3,0x7A,0x7E,0x33);
  4986. DEFINE_GUID(IID_ID3D10ShaderResourceView,0x9B7E4C07,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4987. DEFINE_GUID(IID_ID3D10RenderTargetView,0x9B7E4C08,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4988. DEFINE_GUID(IID_ID3D10DepthStencilView,0x9B7E4C09,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4989. DEFINE_GUID(IID_ID3D10VertexShader,0x9B7E4C0A,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4990. DEFINE_GUID(IID_ID3D10GeometryShader,0x6316BE88,0x54CD,0x4040,0xAB,0x44,0x20,0x46,0x1B,0xC8,0x1F,0x68);
  4991. DEFINE_GUID(IID_ID3D10PixelShader,0x4968B601,0x9D00,0x4cde,0x83,0x46,0x8E,0x7F,0x67,0x58,0x19,0xB6);
  4992. DEFINE_GUID(IID_ID3D10InputLayout,0x9B7E4C0B,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4993. DEFINE_GUID(IID_ID3D10SamplerState,0x9B7E4C0C,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4994. DEFINE_GUID(IID_ID3D10Asynchronous,0x9B7E4C0D,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4995. DEFINE_GUID(IID_ID3D10Query,0x9B7E4C0E,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4996. DEFINE_GUID(IID_ID3D10Predicate,0x9B7E4C10,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4997. DEFINE_GUID(IID_ID3D10Counter,0x9B7E4C11,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4998. DEFINE_GUID(IID_ID3D10Device,0x9B7E4C0F,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4999. DEFINE_GUID(IID_ID3D10Multithread,0x9B7E4E00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  5000. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0024_v0_0_c_ifspec;
  5001. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0024_v0_0_s_ifspec;
  5002. /* Additional Prototypes for ALL interfaces */
  5003. /* end of Additional Prototypes */
  5004. #ifdef __cplusplus
  5005. }
  5006. #endif
  5007. #endif