1
0

D3D11.h 350 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227
  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 7.00.0555 */
  8. /* @@MIDL_FILE_HEADING( ) */
  9. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  13. #endif
  14. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  16. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  17. #endif
  18. #include "rpc.h"
  19. #include "rpcndr.h"
  20. #ifndef __RPCNDR_H_VERSION__
  21. #error this stub requires an updated version of <rpcndr.h>
  22. #endif // __RPCNDR_H_VERSION__
  23. #ifndef COM_NO_WINDOWS_H
  24. #include "windows.h"
  25. #include "ole2.h"
  26. #endif /*COM_NO_WINDOWS_H*/
  27. #ifndef __d3d11_h__
  28. #define __d3d11_h__
  29. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  30. #pragma once
  31. #endif
  32. /* Forward Declarations */
  33. #ifndef __ID3D11DeviceChild_FWD_DEFINED__
  34. #define __ID3D11DeviceChild_FWD_DEFINED__
  35. typedef interface ID3D11DeviceChild ID3D11DeviceChild;
  36. #endif /* __ID3D11DeviceChild_FWD_DEFINED__ */
  37. #ifndef __ID3D11DepthStencilState_FWD_DEFINED__
  38. #define __ID3D11DepthStencilState_FWD_DEFINED__
  39. typedef interface ID3D11DepthStencilState ID3D11DepthStencilState;
  40. #endif /* __ID3D11DepthStencilState_FWD_DEFINED__ */
  41. #ifndef __ID3D11BlendState_FWD_DEFINED__
  42. #define __ID3D11BlendState_FWD_DEFINED__
  43. typedef interface ID3D11BlendState ID3D11BlendState;
  44. #endif /* __ID3D11BlendState_FWD_DEFINED__ */
  45. #ifndef __ID3D11RasterizerState_FWD_DEFINED__
  46. #define __ID3D11RasterizerState_FWD_DEFINED__
  47. typedef interface ID3D11RasterizerState ID3D11RasterizerState;
  48. #endif /* __ID3D11RasterizerState_FWD_DEFINED__ */
  49. #ifndef __ID3D11Resource_FWD_DEFINED__
  50. #define __ID3D11Resource_FWD_DEFINED__
  51. typedef interface ID3D11Resource ID3D11Resource;
  52. #endif /* __ID3D11Resource_FWD_DEFINED__ */
  53. #ifndef __ID3D11Buffer_FWD_DEFINED__
  54. #define __ID3D11Buffer_FWD_DEFINED__
  55. typedef interface ID3D11Buffer ID3D11Buffer;
  56. #endif /* __ID3D11Buffer_FWD_DEFINED__ */
  57. #ifndef __ID3D11Texture1D_FWD_DEFINED__
  58. #define __ID3D11Texture1D_FWD_DEFINED__
  59. typedef interface ID3D11Texture1D ID3D11Texture1D;
  60. #endif /* __ID3D11Texture1D_FWD_DEFINED__ */
  61. #ifndef __ID3D11Texture2D_FWD_DEFINED__
  62. #define __ID3D11Texture2D_FWD_DEFINED__
  63. typedef interface ID3D11Texture2D ID3D11Texture2D;
  64. #endif /* __ID3D11Texture2D_FWD_DEFINED__ */
  65. #ifndef __ID3D11Texture3D_FWD_DEFINED__
  66. #define __ID3D11Texture3D_FWD_DEFINED__
  67. typedef interface ID3D11Texture3D ID3D11Texture3D;
  68. #endif /* __ID3D11Texture3D_FWD_DEFINED__ */
  69. #ifndef __ID3D11View_FWD_DEFINED__
  70. #define __ID3D11View_FWD_DEFINED__
  71. typedef interface ID3D11View ID3D11View;
  72. #endif /* __ID3D11View_FWD_DEFINED__ */
  73. #ifndef __ID3D11ShaderResourceView_FWD_DEFINED__
  74. #define __ID3D11ShaderResourceView_FWD_DEFINED__
  75. typedef interface ID3D11ShaderResourceView ID3D11ShaderResourceView;
  76. #endif /* __ID3D11ShaderResourceView_FWD_DEFINED__ */
  77. #ifndef __ID3D11RenderTargetView_FWD_DEFINED__
  78. #define __ID3D11RenderTargetView_FWD_DEFINED__
  79. typedef interface ID3D11RenderTargetView ID3D11RenderTargetView;
  80. #endif /* __ID3D11RenderTargetView_FWD_DEFINED__ */
  81. #ifndef __ID3D11DepthStencilView_FWD_DEFINED__
  82. #define __ID3D11DepthStencilView_FWD_DEFINED__
  83. typedef interface ID3D11DepthStencilView ID3D11DepthStencilView;
  84. #endif /* __ID3D11DepthStencilView_FWD_DEFINED__ */
  85. #ifndef __ID3D11UnorderedAccessView_FWD_DEFINED__
  86. #define __ID3D11UnorderedAccessView_FWD_DEFINED__
  87. typedef interface ID3D11UnorderedAccessView ID3D11UnorderedAccessView;
  88. #endif /* __ID3D11UnorderedAccessView_FWD_DEFINED__ */
  89. #ifndef __ID3D11VertexShader_FWD_DEFINED__
  90. #define __ID3D11VertexShader_FWD_DEFINED__
  91. typedef interface ID3D11VertexShader ID3D11VertexShader;
  92. #endif /* __ID3D11VertexShader_FWD_DEFINED__ */
  93. #ifndef __ID3D11HullShader_FWD_DEFINED__
  94. #define __ID3D11HullShader_FWD_DEFINED__
  95. typedef interface ID3D11HullShader ID3D11HullShader;
  96. #endif /* __ID3D11HullShader_FWD_DEFINED__ */
  97. #ifndef __ID3D11DomainShader_FWD_DEFINED__
  98. #define __ID3D11DomainShader_FWD_DEFINED__
  99. typedef interface ID3D11DomainShader ID3D11DomainShader;
  100. #endif /* __ID3D11DomainShader_FWD_DEFINED__ */
  101. #ifndef __ID3D11GeometryShader_FWD_DEFINED__
  102. #define __ID3D11GeometryShader_FWD_DEFINED__
  103. typedef interface ID3D11GeometryShader ID3D11GeometryShader;
  104. #endif /* __ID3D11GeometryShader_FWD_DEFINED__ */
  105. #ifndef __ID3D11PixelShader_FWD_DEFINED__
  106. #define __ID3D11PixelShader_FWD_DEFINED__
  107. typedef interface ID3D11PixelShader ID3D11PixelShader;
  108. #endif /* __ID3D11PixelShader_FWD_DEFINED__ */
  109. #ifndef __ID3D11ComputeShader_FWD_DEFINED__
  110. #define __ID3D11ComputeShader_FWD_DEFINED__
  111. typedef interface ID3D11ComputeShader ID3D11ComputeShader;
  112. #endif /* __ID3D11ComputeShader_FWD_DEFINED__ */
  113. #ifndef __ID3D11InputLayout_FWD_DEFINED__
  114. #define __ID3D11InputLayout_FWD_DEFINED__
  115. typedef interface ID3D11InputLayout ID3D11InputLayout;
  116. #endif /* __ID3D11InputLayout_FWD_DEFINED__ */
  117. #ifndef __ID3D11SamplerState_FWD_DEFINED__
  118. #define __ID3D11SamplerState_FWD_DEFINED__
  119. typedef interface ID3D11SamplerState ID3D11SamplerState;
  120. #endif /* __ID3D11SamplerState_FWD_DEFINED__ */
  121. #ifndef __ID3D11Asynchronous_FWD_DEFINED__
  122. #define __ID3D11Asynchronous_FWD_DEFINED__
  123. typedef interface ID3D11Asynchronous ID3D11Asynchronous;
  124. #endif /* __ID3D11Asynchronous_FWD_DEFINED__ */
  125. #ifndef __ID3D11Query_FWD_DEFINED__
  126. #define __ID3D11Query_FWD_DEFINED__
  127. typedef interface ID3D11Query ID3D11Query;
  128. #endif /* __ID3D11Query_FWD_DEFINED__ */
  129. #ifndef __ID3D11Predicate_FWD_DEFINED__
  130. #define __ID3D11Predicate_FWD_DEFINED__
  131. typedef interface ID3D11Predicate ID3D11Predicate;
  132. #endif /* __ID3D11Predicate_FWD_DEFINED__ */
  133. #ifndef __ID3D11Counter_FWD_DEFINED__
  134. #define __ID3D11Counter_FWD_DEFINED__
  135. typedef interface ID3D11Counter ID3D11Counter;
  136. #endif /* __ID3D11Counter_FWD_DEFINED__ */
  137. #ifndef __ID3D11ClassInstance_FWD_DEFINED__
  138. #define __ID3D11ClassInstance_FWD_DEFINED__
  139. typedef interface ID3D11ClassInstance ID3D11ClassInstance;
  140. #endif /* __ID3D11ClassInstance_FWD_DEFINED__ */
  141. #ifndef __ID3D11ClassLinkage_FWD_DEFINED__
  142. #define __ID3D11ClassLinkage_FWD_DEFINED__
  143. typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
  144. #endif /* __ID3D11ClassLinkage_FWD_DEFINED__ */
  145. #ifndef __ID3D11CommandList_FWD_DEFINED__
  146. #define __ID3D11CommandList_FWD_DEFINED__
  147. typedef interface ID3D11CommandList ID3D11CommandList;
  148. #endif /* __ID3D11CommandList_FWD_DEFINED__ */
  149. #ifndef __ID3D11DeviceContext_FWD_DEFINED__
  150. #define __ID3D11DeviceContext_FWD_DEFINED__
  151. typedef interface ID3D11DeviceContext ID3D11DeviceContext;
  152. #endif /* __ID3D11DeviceContext_FWD_DEFINED__ */
  153. #ifndef __ID3D11Device_FWD_DEFINED__
  154. #define __ID3D11Device_FWD_DEFINED__
  155. typedef interface ID3D11Device ID3D11Device;
  156. #endif /* __ID3D11Device_FWD_DEFINED__ */
  157. /* header files for imported files */
  158. #include "oaidl.h"
  159. #include "ocidl.h"
  160. #include "dxgi.h"
  161. #include "d3dcommon.h"
  162. #ifdef __cplusplus
  163. extern "C"{
  164. #endif
  165. /* interface __MIDL_itf_d3d11_0000_0000 */
  166. /* [local] */
  167. #ifndef _D3D11_CONSTANTS
  168. #define _D3D11_CONSTANTS
  169. #define D3D11_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
  170. #define D3D11_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
  171. #define D3D11_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
  172. #define D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
  173. #define D3D11_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
  174. #define D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
  175. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
  176. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
  177. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
  178. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
  179. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
  180. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
  181. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
  182. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
  183. #define D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
  184. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
  185. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
  186. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
  187. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
  188. #define D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
  189. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
  190. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
  191. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
  192. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
  193. #define D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
  194. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
  195. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
  196. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
  197. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
  198. #define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
  199. #define D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
  200. #define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
  201. #define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  202. #define D3D11_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
  203. #define D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
  204. #define D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
  205. #define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
  206. #define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
  207. #define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
  208. #define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
  209. #define D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )
  210. #define D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
  211. #define D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )
  212. #define D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
  213. #define D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )
  214. #define D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
  215. #define D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )
  216. #define D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
  217. #define D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )
  218. #define D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
  219. #define D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )
  220. #define D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
  221. #define D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )
  222. #define D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
  223. #define D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )
  224. #define D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
  225. #define D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )
  226. #define D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
  227. #define D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )
  228. #define D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
  229. #define D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )
  230. #define D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
  231. #define D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )
  232. #define D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
  233. #define D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )
  234. #define D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
  235. #define D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )
  236. #define D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
  237. #define D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )
  238. #define D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
  239. #define D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )
  240. #define D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
  241. #define D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )
  242. #define D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )
  243. #define D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
  244. #define D3D11_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
  245. #define D3D11_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
  246. #define D3D11_CS_4_X_UAV_REGISTER_COUNT ( 1 )
  247. #define D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )
  248. #define D3D11_CS_TGSM_REGISTER_COUNT ( 8192 )
  249. #define D3D11_CS_TGSM_REGISTER_READS_PER_INST ( 1 )
  250. #define D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )
  251. #define D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )
  252. #define D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )
  253. #define D3D11_CS_THREAD_GROUP_MAX_X ( 1024 )
  254. #define D3D11_CS_THREAD_GROUP_MAX_Y ( 1024 )
  255. #define D3D11_CS_THREAD_GROUP_MAX_Z ( 64 )
  256. #define D3D11_CS_THREAD_GROUP_MIN_X ( 1 )
  257. #define D3D11_CS_THREAD_GROUP_MIN_Y ( 1 )
  258. #define D3D11_CS_THREAD_GROUP_MIN_Z ( 1 )
  259. #define D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )
  260. #define D3D11_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
  261. #define D3D11_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
  262. #define D3D11_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
  263. #define D3D11_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
  264. #define D3D11_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
  265. #define D3D11_DEFAULT_DEPTH_BIAS ( 0 )
  266. #define D3D11_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
  267. #define D3D11_DEFAULT_MAX_ANISOTROPY ( 16 )
  268. #define D3D11_DEFAULT_MIP_LOD_BIAS ( 0.0f )
  269. #define D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
  270. #define D3D11_DEFAULT_SAMPLE_MASK ( 0xffffffff )
  271. #define D3D11_DEFAULT_SCISSOR_ENDX ( 0 )
  272. #define D3D11_DEFAULT_SCISSOR_ENDY ( 0 )
  273. #define D3D11_DEFAULT_SCISSOR_STARTX ( 0 )
  274. #define D3D11_DEFAULT_SCISSOR_STARTY ( 0 )
  275. #define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
  276. #define D3D11_DEFAULT_STENCIL_READ_MASK ( 0xff )
  277. #define D3D11_DEFAULT_STENCIL_REFERENCE ( 0 )
  278. #define D3D11_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
  279. #define D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
  280. #define D3D11_DEFAULT_VIEWPORT_HEIGHT ( 0 )
  281. #define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
  282. #define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
  283. #define D3D11_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
  284. #define D3D11_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
  285. #define D3D11_DEFAULT_VIEWPORT_WIDTH ( 0 )
  286. #define D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
  287. #define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
  288. #define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  289. #define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )
  290. #define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
  291. #define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
  292. #define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
  293. #define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  294. #define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )
  295. #define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )
  296. #define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
  297. #define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
  298. #define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  299. #define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
  300. #define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
  301. #define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
  302. #define D3D11_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  303. #define D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  304. #define D3D11_DS_OUTPUT_REGISTER_COUNT ( 32 )
  305. #define D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
  306. #define D3D11_FLOAT32_MAX ( 3.402823466e+38f )
  307. #define D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
  308. #define D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
  309. #define D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
  310. #define D3D11_FLOAT_TO_SRGB_OFFSET ( 0.055f )
  311. #define D3D11_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
  312. #define D3D11_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
  313. #define D3D11_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
  314. #define D3D11_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
  315. #define D3D11_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
  316. #define D3D11_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
  317. #define D3D11_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
  318. #define D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )
  319. #define D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )
  320. #define D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
  321. #define D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  322. #define D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )
  323. #define D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
  324. #define D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  325. #define D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
  326. #define D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
  327. #define D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
  328. #define D3D11_GS_INPUT_REGISTER_COMPONENTS ( 4 )
  329. #define D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  330. #define D3D11_GS_INPUT_REGISTER_COUNT ( 32 )
  331. #define D3D11_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
  332. #define D3D11_GS_INPUT_REGISTER_READ_PORTS ( 1 )
  333. #define D3D11_GS_INPUT_REGISTER_VERTICES ( 32 )
  334. #define D3D11_GS_MAX_INSTANCE_COUNT ( 32 )
  335. #define D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )
  336. #define D3D11_GS_OUTPUT_ELEMENTS ( 32 )
  337. #define D3D11_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  338. #define D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  339. #define D3D11_GS_OUTPUT_REGISTER_COUNT ( 32 )
  340. #define D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )
  341. #define D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )
  342. #define D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
  343. #define D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  344. #define D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
  345. #define D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
  346. #define D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
  347. #define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
  348. #define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  349. #define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )
  350. #define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
  351. #define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
  352. #define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
  353. #define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  354. #define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )
  355. #define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
  356. #define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
  357. #define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
  358. #define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  359. #define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
  360. #define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
  361. #define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
  362. #define D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
  363. #define D3D11_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )
  364. #define D3D11_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )
  365. #define D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
  366. #define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )
  367. #define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  368. #define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
  369. #define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )
  370. #define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )
  371. #define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
  372. #define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  373. #define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
  374. #define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
  375. #define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
  376. #define D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
  377. #define D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
  378. #define D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
  379. #define D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
  380. #define D3D11_IA_INSTANCE_ID_BIT_COUNT ( 32 )
  381. #define D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
  382. #define D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )
  383. #define D3D11_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
  384. #define D3D11_IA_VERTEX_ID_BIT_COUNT ( 32 )
  385. #define D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )
  386. #define D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )
  387. #define D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
  388. #define D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
  389. #define D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
  390. #define D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )
  391. #define D3D11_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )
  392. #define D3D11_LINEAR_GAMMA ( 1.0f )
  393. #define D3D11_MAJOR_VERSION ( 11 )
  394. #define D3D11_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
  395. #define D3D11_MAX_DEPTH ( 1.0f )
  396. #define D3D11_MAX_MAXANISOTROPY ( 16 )
  397. #define D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
  398. #define D3D11_MAX_POSITION_VALUE ( 3.402823466e+34f )
  399. #define D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
  400. #define D3D11_MINOR_VERSION ( 0 )
  401. #define D3D11_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
  402. #define D3D11_MIN_DEPTH ( 0.0f )
  403. #define D3D11_MIN_MAXANISOTROPY ( 0 )
  404. #define D3D11_MIP_LOD_BIAS_MAX ( 15.99f )
  405. #define D3D11_MIP_LOD_BIAS_MIN ( -16.0f )
  406. #define D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )
  407. #define D3D11_MIP_LOD_RANGE_BIT_COUNT ( 8 )
  408. #define D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
  409. #define D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
  410. #define D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
  411. #define D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
  412. #define D3D11_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )
  413. #define D3D11_PS_CS_UAV_REGISTER_COUNT ( 8 )
  414. #define D3D11_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
  415. #define D3D11_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )
  416. #define D3D11_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
  417. #define D3D11_PS_FRONTFACING_FALSE_VALUE ( 0 )
  418. #define D3D11_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
  419. #define D3D11_PS_INPUT_REGISTER_COMPONENTS ( 4 )
  420. #define D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  421. #define D3D11_PS_INPUT_REGISTER_COUNT ( 32 )
  422. #define D3D11_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
  423. #define D3D11_PS_INPUT_REGISTER_READ_PORTS ( 1 )
  424. #define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
  425. #define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
  426. #define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  427. #define D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
  428. #define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )
  429. #define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  430. #define D3D11_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )
  431. #define D3D11_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  432. #define D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  433. #define D3D11_PS_OUTPUT_REGISTER_COUNT ( 8 )
  434. #define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
  435. #define D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )
  436. #define D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
  437. #define D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
  438. #define D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
  439. #define D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
  440. #define D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
  441. #define D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
  442. #define D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )
  443. #define D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
  444. #define D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
  445. #define D3D11_REQ_MAXANISOTROPY ( 16 )
  446. #define D3D11_REQ_MIP_LEVELS ( 15 )
  447. #define D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
  448. #define D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )
  449. #define D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
  450. #define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )
  451. #define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )
  452. #define D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )
  453. #define D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )
  454. #define D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )
  455. #define D3D11_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
  456. #define D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )
  457. #define D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )
  458. #define D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
  459. #define D3D11_REQ_TEXTURECUBE_DIMENSION ( 16384 )
  460. #define D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
  461. #define D3D11_SHADER_MAJOR_VERSION ( 5 )
  462. #define D3D11_SHADER_MAX_INSTANCES ( 65535 )
  463. #define D3D11_SHADER_MAX_INTERFACES ( 253 )
  464. #define D3D11_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )
  465. #define D3D11_SHADER_MAX_TYPES ( 65535 )
  466. #define D3D11_SHADER_MINOR_VERSION ( 0 )
  467. #define D3D11_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
  468. #define D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
  469. #define D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
  470. #define D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
  471. #define D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )
  472. #define D3D11_SO_BUFFER_SLOT_COUNT ( 4 )
  473. #define D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
  474. #define D3D11_SO_NO_RASTERIZED_STREAM ( 0xffffffff )
  475. #define D3D11_SO_OUTPUT_COMPONENT_COUNT ( 128 )
  476. #define D3D11_SO_STREAM_COUNT ( 4 )
  477. #define D3D11_SPEC_DATE_DAY ( 04 )
  478. #define D3D11_SPEC_DATE_MONTH ( 06 )
  479. #define D3D11_SPEC_DATE_YEAR ( 2009 )
  480. #define D3D11_SPEC_VERSION ( 1.0 )
  481. #define D3D11_SRGB_GAMMA ( 2.2f )
  482. #define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
  483. #define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
  484. #define D3D11_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
  485. #define D3D11_SRGB_TO_FLOAT_OFFSET ( 0.055f )
  486. #define D3D11_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
  487. #define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
  488. #define D3D11_STANDARD_COMPONENT_BIT_COUNT ( 32 )
  489. #define D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
  490. #define D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
  491. #define D3D11_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
  492. #define D3D11_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
  493. #define D3D11_STANDARD_VECTOR_SIZE ( 4 )
  494. #define D3D11_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )
  495. #define D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
  496. #define D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
  497. #define D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )
  498. #define D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )
  499. #define D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )
  500. #define D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )
  501. #define D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )
  502. #define D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )
  503. #define D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )
  504. #define D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )
  505. #define D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
  506. #define D3D11_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
  507. #define D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
  508. #define D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
  509. #define D3D11_VIEWPORT_BOUNDS_MAX ( 32767 )
  510. #define D3D11_VIEWPORT_BOUNDS_MIN ( -32768 )
  511. #define D3D11_VS_INPUT_REGISTER_COMPONENTS ( 4 )
  512. #define D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  513. #define D3D11_VS_INPUT_REGISTER_COUNT ( 32 )
  514. #define D3D11_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
  515. #define D3D11_VS_INPUT_REGISTER_READ_PORTS ( 1 )
  516. #define D3D11_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  517. #define D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  518. #define D3D11_VS_OUTPUT_REGISTER_COUNT ( 32 )
  519. #define D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
  520. #define D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
  521. #define D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
  522. #endif
  523. #define _FACD3D11 ( 0x87c )
  524. #define _FACD3D11DEBUG ( ( _FACD3D11 + 1 ) )
  525. #define MAKE_D3D11_HRESULT( code ) MAKE_HRESULT( 1, _FACD3D11, code )
  526. #define MAKE_D3D11_STATUS( code ) MAKE_HRESULT( 0, _FACD3D11, code )
  527. #define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D11_HRESULT(1)
  528. #define D3D11_ERROR_FILE_NOT_FOUND MAKE_D3D11_HRESULT(2)
  529. #define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS MAKE_D3D11_HRESULT(3)
  530. #define D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD MAKE_D3D11_HRESULT(4)
  531. #if __SAL_H_FULL_VER < 140050727
  532. #undef __in_range
  533. #undef __in_xcount_opt
  534. #define __in_range(x, y)
  535. #define __in_xcount_opt(x)
  536. #endif
  537. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  538. }
  539. struct CD3D11_DEFAULT {};
  540. extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;
  541. extern "C"{
  542. #endif
  543. typedef
  544. enum D3D11_INPUT_CLASSIFICATION
  545. { D3D11_INPUT_PER_VERTEX_DATA = 0,
  546. D3D11_INPUT_PER_INSTANCE_DATA = 1
  547. } D3D11_INPUT_CLASSIFICATION;
  548. #define D3D11_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
  549. typedef struct D3D11_INPUT_ELEMENT_DESC
  550. {
  551. LPCSTR SemanticName;
  552. UINT SemanticIndex;
  553. DXGI_FORMAT Format;
  554. UINT InputSlot;
  555. UINT AlignedByteOffset;
  556. D3D11_INPUT_CLASSIFICATION InputSlotClass;
  557. UINT InstanceDataStepRate;
  558. } D3D11_INPUT_ELEMENT_DESC;
  559. typedef
  560. enum D3D11_FILL_MODE
  561. { D3D11_FILL_WIREFRAME = 2,
  562. D3D11_FILL_SOLID = 3
  563. } D3D11_FILL_MODE;
  564. typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
  565. typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
  566. typedef
  567. enum D3D11_CULL_MODE
  568. { D3D11_CULL_NONE = 1,
  569. D3D11_CULL_FRONT = 2,
  570. D3D11_CULL_BACK = 3
  571. } D3D11_CULL_MODE;
  572. typedef struct D3D11_SO_DECLARATION_ENTRY
  573. {
  574. UINT Stream;
  575. LPCSTR SemanticName;
  576. UINT SemanticIndex;
  577. BYTE StartComponent;
  578. BYTE ComponentCount;
  579. BYTE OutputSlot;
  580. } D3D11_SO_DECLARATION_ENTRY;
  581. typedef struct D3D11_VIEWPORT
  582. {
  583. FLOAT TopLeftX;
  584. FLOAT TopLeftY;
  585. FLOAT Width;
  586. FLOAT Height;
  587. FLOAT MinDepth;
  588. FLOAT MaxDepth;
  589. } D3D11_VIEWPORT;
  590. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  591. }
  592. inline bool operator==( const D3D11_VIEWPORT& l, const D3D11_VIEWPORT& r )
  593. {
  594. return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width &&
  595. l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth;
  596. }
  597. inline bool operator!=( const D3D11_VIEWPORT& l, const D3D11_VIEWPORT& r )
  598. { return !( l == r ); }
  599. extern "C"{
  600. #endif
  601. typedef
  602. enum D3D11_RESOURCE_DIMENSION
  603. { D3D11_RESOURCE_DIMENSION_UNKNOWN = 0,
  604. D3D11_RESOURCE_DIMENSION_BUFFER = 1,
  605. D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2,
  606. D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3,
  607. D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4
  608. } D3D11_RESOURCE_DIMENSION;
  609. typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
  610. typedef
  611. enum D3D11_DSV_DIMENSION
  612. { D3D11_DSV_DIMENSION_UNKNOWN = 0,
  613. D3D11_DSV_DIMENSION_TEXTURE1D = 1,
  614. D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2,
  615. D3D11_DSV_DIMENSION_TEXTURE2D = 3,
  616. D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4,
  617. D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
  618. D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
  619. } D3D11_DSV_DIMENSION;
  620. typedef
  621. enum D3D11_RTV_DIMENSION
  622. { D3D11_RTV_DIMENSION_UNKNOWN = 0,
  623. D3D11_RTV_DIMENSION_BUFFER = 1,
  624. D3D11_RTV_DIMENSION_TEXTURE1D = 2,
  625. D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3,
  626. D3D11_RTV_DIMENSION_TEXTURE2D = 4,
  627. D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5,
  628. D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
  629. D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
  630. D3D11_RTV_DIMENSION_TEXTURE3D = 8
  631. } D3D11_RTV_DIMENSION;
  632. typedef
  633. enum D3D11_UAV_DIMENSION
  634. { D3D11_UAV_DIMENSION_UNKNOWN = 0,
  635. D3D11_UAV_DIMENSION_BUFFER = 1,
  636. D3D11_UAV_DIMENSION_TEXTURE1D = 2,
  637. D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3,
  638. D3D11_UAV_DIMENSION_TEXTURE2D = 4,
  639. D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5,
  640. D3D11_UAV_DIMENSION_TEXTURE3D = 8
  641. } D3D11_UAV_DIMENSION;
  642. typedef
  643. enum D3D11_USAGE
  644. { D3D11_USAGE_DEFAULT = 0,
  645. D3D11_USAGE_IMMUTABLE = 1,
  646. D3D11_USAGE_DYNAMIC = 2,
  647. D3D11_USAGE_STAGING = 3
  648. } D3D11_USAGE;
  649. typedef
  650. enum D3D11_BIND_FLAG
  651. { D3D11_BIND_VERTEX_BUFFER = 0x1L,
  652. D3D11_BIND_INDEX_BUFFER = 0x2L,
  653. D3D11_BIND_CONSTANT_BUFFER = 0x4L,
  654. D3D11_BIND_SHADER_RESOURCE = 0x8L,
  655. D3D11_BIND_STREAM_OUTPUT = 0x10L,
  656. D3D11_BIND_RENDER_TARGET = 0x20L,
  657. D3D11_BIND_DEPTH_STENCIL = 0x40L,
  658. D3D11_BIND_UNORDERED_ACCESS = 0x80L
  659. } D3D11_BIND_FLAG;
  660. typedef
  661. enum D3D11_CPU_ACCESS_FLAG
  662. { D3D11_CPU_ACCESS_WRITE = 0x10000L,
  663. D3D11_CPU_ACCESS_READ = 0x20000L
  664. } D3D11_CPU_ACCESS_FLAG;
  665. typedef
  666. enum D3D11_RESOURCE_MISC_FLAG
  667. { D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1L,
  668. D3D11_RESOURCE_MISC_SHARED = 0x2L,
  669. D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4L,
  670. D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10L,
  671. D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20L,
  672. D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40L,
  673. D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80L,
  674. D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100L,
  675. D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200L
  676. } D3D11_RESOURCE_MISC_FLAG;
  677. typedef
  678. enum D3D11_MAP
  679. { D3D11_MAP_READ = 1,
  680. D3D11_MAP_WRITE = 2,
  681. D3D11_MAP_READ_WRITE = 3,
  682. D3D11_MAP_WRITE_DISCARD = 4,
  683. D3D11_MAP_WRITE_NO_OVERWRITE = 5
  684. } D3D11_MAP;
  685. typedef
  686. enum D3D11_MAP_FLAG
  687. { D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000L
  688. } D3D11_MAP_FLAG;
  689. typedef
  690. enum D3D11_RAISE_FLAG
  691. { D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1L
  692. } D3D11_RAISE_FLAG;
  693. typedef
  694. enum D3D11_CLEAR_FLAG
  695. { D3D11_CLEAR_DEPTH = 0x1L,
  696. D3D11_CLEAR_STENCIL = 0x2L
  697. } D3D11_CLEAR_FLAG;
  698. typedef RECT D3D11_RECT;
  699. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  700. }
  701. struct CD3D11_RECT : public D3D11_RECT
  702. {
  703. CD3D11_RECT()
  704. {}
  705. explicit CD3D11_RECT( const D3D11_RECT& o ) :
  706. D3D11_RECT( o )
  707. {}
  708. explicit CD3D11_RECT(
  709. LONG Left,
  710. LONG Top,
  711. LONG Right,
  712. LONG Bottom )
  713. {
  714. left = Left;
  715. top = Top;
  716. right = Right;
  717. bottom = Bottom;
  718. }
  719. ~CD3D11_RECT() {}
  720. operator const D3D11_RECT&() const { return *this; }
  721. };
  722. inline bool operator==( const D3D11_RECT& l, const D3D11_RECT& r )
  723. {
  724. return l.left == r.left && l.top == r.top &&
  725. l.right == r.right && l.bottom == r.bottom;
  726. }
  727. inline bool operator!=( const D3D11_RECT& l, const D3D11_RECT& r )
  728. { return !( l == r ); }
  729. extern "C"{
  730. #endif
  731. typedef struct D3D11_BOX
  732. {
  733. UINT left;
  734. UINT top;
  735. UINT front;
  736. UINT right;
  737. UINT bottom;
  738. UINT back;
  739. } D3D11_BOX;
  740. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  741. }
  742. struct CD3D11_BOX : public D3D11_BOX
  743. {
  744. CD3D11_BOX()
  745. {}
  746. explicit CD3D11_BOX( const D3D11_BOX& o ) :
  747. D3D11_BOX( o )
  748. {}
  749. explicit CD3D11_BOX(
  750. LONG Left,
  751. LONG Top,
  752. LONG Front,
  753. LONG Right,
  754. LONG Bottom,
  755. LONG Back )
  756. {
  757. left = Left;
  758. top = Top;
  759. front = Front;
  760. right = Right;
  761. bottom = Bottom;
  762. back = Back;
  763. }
  764. ~CD3D11_BOX() {}
  765. operator const D3D11_BOX&() const { return *this; }
  766. };
  767. inline bool operator==( const D3D11_BOX& l, const D3D11_BOX& r )
  768. {
  769. return l.left == r.left && l.top == r.top && l.front == r.front &&
  770. l.right == r.right && l.bottom == r.bottom && l.back == r.back;
  771. }
  772. inline bool operator!=( const D3D11_BOX& l, const D3D11_BOX& r )
  773. { return !( l == r ); }
  774. extern "C"{
  775. #endif
  776. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0000_v0_0_c_ifspec;
  777. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0000_v0_0_s_ifspec;
  778. #ifndef __ID3D11DeviceChild_INTERFACE_DEFINED__
  779. #define __ID3D11DeviceChild_INTERFACE_DEFINED__
  780. /* interface ID3D11DeviceChild */
  781. /* [unique][local][object][uuid] */
  782. EXTERN_C const IID IID_ID3D11DeviceChild;
  783. #if defined(__cplusplus) && !defined(CINTERFACE)
  784. MIDL_INTERFACE("1841e5c8-16b0-489b-bcc8-44cfb0d5deae")
  785. ID3D11DeviceChild : public IUnknown
  786. {
  787. public:
  788. virtual void STDMETHODCALLTYPE GetDevice(
  789. /* [annotation] */
  790. __out ID3D11Device **ppDevice) = 0;
  791. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  792. /* [annotation] */
  793. __in REFGUID guid,
  794. /* [annotation] */
  795. __inout UINT *pDataSize,
  796. /* [annotation] */
  797. __out_bcount_opt( *pDataSize ) void *pData) = 0;
  798. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  799. /* [annotation] */
  800. __in REFGUID guid,
  801. /* [annotation] */
  802. __in UINT DataSize,
  803. /* [annotation] */
  804. __in_bcount_opt( DataSize ) const void *pData) = 0;
  805. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  806. /* [annotation] */
  807. __in REFGUID guid,
  808. /* [annotation] */
  809. __in_opt const IUnknown *pData) = 0;
  810. };
  811. #else /* C style interface */
  812. typedef struct ID3D11DeviceChildVtbl
  813. {
  814. BEGIN_INTERFACE
  815. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  816. ID3D11DeviceChild * This,
  817. /* [in] */ REFIID riid,
  818. /* [annotation][iid_is][out] */
  819. __RPC__deref_out void **ppvObject);
  820. ULONG ( STDMETHODCALLTYPE *AddRef )(
  821. ID3D11DeviceChild * This);
  822. ULONG ( STDMETHODCALLTYPE *Release )(
  823. ID3D11DeviceChild * This);
  824. void ( STDMETHODCALLTYPE *GetDevice )(
  825. ID3D11DeviceChild * This,
  826. /* [annotation] */
  827. __out ID3D11Device **ppDevice);
  828. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  829. ID3D11DeviceChild * This,
  830. /* [annotation] */
  831. __in REFGUID guid,
  832. /* [annotation] */
  833. __inout UINT *pDataSize,
  834. /* [annotation] */
  835. __out_bcount_opt( *pDataSize ) void *pData);
  836. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  837. ID3D11DeviceChild * This,
  838. /* [annotation] */
  839. __in REFGUID guid,
  840. /* [annotation] */
  841. __in UINT DataSize,
  842. /* [annotation] */
  843. __in_bcount_opt( DataSize ) const void *pData);
  844. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  845. ID3D11DeviceChild * This,
  846. /* [annotation] */
  847. __in REFGUID guid,
  848. /* [annotation] */
  849. __in_opt const IUnknown *pData);
  850. END_INTERFACE
  851. } ID3D11DeviceChildVtbl;
  852. interface ID3D11DeviceChild
  853. {
  854. CONST_VTBL struct ID3D11DeviceChildVtbl *lpVtbl;
  855. };
  856. #ifdef COBJMACROS
  857. #define ID3D11DeviceChild_QueryInterface(This,riid,ppvObject) \
  858. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  859. #define ID3D11DeviceChild_AddRef(This) \
  860. ( (This)->lpVtbl -> AddRef(This) )
  861. #define ID3D11DeviceChild_Release(This) \
  862. ( (This)->lpVtbl -> Release(This) )
  863. #define ID3D11DeviceChild_GetDevice(This,ppDevice) \
  864. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  865. #define ID3D11DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
  866. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  867. #define ID3D11DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
  868. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  869. #define ID3D11DeviceChild_SetPrivateDataInterface(This,guid,pData) \
  870. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  871. #endif /* COBJMACROS */
  872. #endif /* C style interface */
  873. #endif /* __ID3D11DeviceChild_INTERFACE_DEFINED__ */
  874. /* interface __MIDL_itf_d3d11_0000_0001 */
  875. /* [local] */
  876. typedef
  877. enum D3D11_COMPARISON_FUNC
  878. { D3D11_COMPARISON_NEVER = 1,
  879. D3D11_COMPARISON_LESS = 2,
  880. D3D11_COMPARISON_EQUAL = 3,
  881. D3D11_COMPARISON_LESS_EQUAL = 4,
  882. D3D11_COMPARISON_GREATER = 5,
  883. D3D11_COMPARISON_NOT_EQUAL = 6,
  884. D3D11_COMPARISON_GREATER_EQUAL = 7,
  885. D3D11_COMPARISON_ALWAYS = 8
  886. } D3D11_COMPARISON_FUNC;
  887. typedef
  888. enum D3D11_DEPTH_WRITE_MASK
  889. { D3D11_DEPTH_WRITE_MASK_ZERO = 0,
  890. D3D11_DEPTH_WRITE_MASK_ALL = 1
  891. } D3D11_DEPTH_WRITE_MASK;
  892. typedef
  893. enum D3D11_STENCIL_OP
  894. { D3D11_STENCIL_OP_KEEP = 1,
  895. D3D11_STENCIL_OP_ZERO = 2,
  896. D3D11_STENCIL_OP_REPLACE = 3,
  897. D3D11_STENCIL_OP_INCR_SAT = 4,
  898. D3D11_STENCIL_OP_DECR_SAT = 5,
  899. D3D11_STENCIL_OP_INVERT = 6,
  900. D3D11_STENCIL_OP_INCR = 7,
  901. D3D11_STENCIL_OP_DECR = 8
  902. } D3D11_STENCIL_OP;
  903. typedef struct D3D11_DEPTH_STENCILOP_DESC
  904. {
  905. D3D11_STENCIL_OP StencilFailOp;
  906. D3D11_STENCIL_OP StencilDepthFailOp;
  907. D3D11_STENCIL_OP StencilPassOp;
  908. D3D11_COMPARISON_FUNC StencilFunc;
  909. } D3D11_DEPTH_STENCILOP_DESC;
  910. typedef struct D3D11_DEPTH_STENCIL_DESC
  911. {
  912. BOOL DepthEnable;
  913. D3D11_DEPTH_WRITE_MASK DepthWriteMask;
  914. D3D11_COMPARISON_FUNC DepthFunc;
  915. BOOL StencilEnable;
  916. UINT8 StencilReadMask;
  917. UINT8 StencilWriteMask;
  918. D3D11_DEPTH_STENCILOP_DESC FrontFace;
  919. D3D11_DEPTH_STENCILOP_DESC BackFace;
  920. } D3D11_DEPTH_STENCIL_DESC;
  921. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  922. }
  923. struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC
  924. {
  925. CD3D11_DEPTH_STENCIL_DESC()
  926. {}
  927. explicit CD3D11_DEPTH_STENCIL_DESC( const D3D11_DEPTH_STENCIL_DESC& o ) :
  928. D3D11_DEPTH_STENCIL_DESC( o )
  929. {}
  930. explicit CD3D11_DEPTH_STENCIL_DESC( CD3D11_DEFAULT )
  931. {
  932. DepthEnable = TRUE;
  933. DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;
  934. DepthFunc = D3D11_COMPARISON_LESS;
  935. StencilEnable = FALSE;
  936. StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;
  937. StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;
  938. const D3D11_DEPTH_STENCILOP_DESC defaultStencilOp =
  939. { D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS };
  940. FrontFace = defaultStencilOp;
  941. BackFace = defaultStencilOp;
  942. }
  943. explicit CD3D11_DEPTH_STENCIL_DESC(
  944. BOOL depthEnable,
  945. D3D11_DEPTH_WRITE_MASK depthWriteMask,
  946. D3D11_COMPARISON_FUNC depthFunc,
  947. BOOL stencilEnable,
  948. UINT8 stencilReadMask,
  949. UINT8 stencilWriteMask,
  950. D3D11_STENCIL_OP frontStencilFailOp,
  951. D3D11_STENCIL_OP frontStencilDepthFailOp,
  952. D3D11_STENCIL_OP frontStencilPassOp,
  953. D3D11_COMPARISON_FUNC frontStencilFunc,
  954. D3D11_STENCIL_OP backStencilFailOp,
  955. D3D11_STENCIL_OP backStencilDepthFailOp,
  956. D3D11_STENCIL_OP backStencilPassOp,
  957. D3D11_COMPARISON_FUNC backStencilFunc )
  958. {
  959. DepthEnable = depthEnable;
  960. DepthWriteMask = depthWriteMask;
  961. DepthFunc = depthFunc;
  962. StencilEnable = stencilEnable;
  963. StencilReadMask = stencilReadMask;
  964. StencilWriteMask = stencilWriteMask;
  965. FrontFace.StencilFailOp = frontStencilFailOp;
  966. FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
  967. FrontFace.StencilPassOp = frontStencilPassOp;
  968. FrontFace.StencilFunc = frontStencilFunc;
  969. BackFace.StencilFailOp = backStencilFailOp;
  970. BackFace.StencilDepthFailOp = backStencilDepthFailOp;
  971. BackFace.StencilPassOp = backStencilPassOp;
  972. BackFace.StencilFunc = backStencilFunc;
  973. }
  974. ~CD3D11_DEPTH_STENCIL_DESC() {}
  975. operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }
  976. };
  977. extern "C"{
  978. #endif
  979. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0001_v0_0_c_ifspec;
  980. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0001_v0_0_s_ifspec;
  981. #ifndef __ID3D11DepthStencilState_INTERFACE_DEFINED__
  982. #define __ID3D11DepthStencilState_INTERFACE_DEFINED__
  983. /* interface ID3D11DepthStencilState */
  984. /* [unique][local][object][uuid] */
  985. EXTERN_C const IID IID_ID3D11DepthStencilState;
  986. #if defined(__cplusplus) && !defined(CINTERFACE)
  987. MIDL_INTERFACE("03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1")
  988. ID3D11DepthStencilState : public ID3D11DeviceChild
  989. {
  990. public:
  991. virtual void STDMETHODCALLTYPE GetDesc(
  992. /* [annotation] */
  993. __out D3D11_DEPTH_STENCIL_DESC *pDesc) = 0;
  994. };
  995. #else /* C style interface */
  996. typedef struct ID3D11DepthStencilStateVtbl
  997. {
  998. BEGIN_INTERFACE
  999. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1000. ID3D11DepthStencilState * This,
  1001. /* [in] */ REFIID riid,
  1002. /* [annotation][iid_is][out] */
  1003. __RPC__deref_out void **ppvObject);
  1004. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1005. ID3D11DepthStencilState * This);
  1006. ULONG ( STDMETHODCALLTYPE *Release )(
  1007. ID3D11DepthStencilState * This);
  1008. void ( STDMETHODCALLTYPE *GetDevice )(
  1009. ID3D11DepthStencilState * This,
  1010. /* [annotation] */
  1011. __out ID3D11Device **ppDevice);
  1012. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1013. ID3D11DepthStencilState * This,
  1014. /* [annotation] */
  1015. __in REFGUID guid,
  1016. /* [annotation] */
  1017. __inout UINT *pDataSize,
  1018. /* [annotation] */
  1019. __out_bcount_opt( *pDataSize ) void *pData);
  1020. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1021. ID3D11DepthStencilState * This,
  1022. /* [annotation] */
  1023. __in REFGUID guid,
  1024. /* [annotation] */
  1025. __in UINT DataSize,
  1026. /* [annotation] */
  1027. __in_bcount_opt( DataSize ) const void *pData);
  1028. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1029. ID3D11DepthStencilState * This,
  1030. /* [annotation] */
  1031. __in REFGUID guid,
  1032. /* [annotation] */
  1033. __in_opt const IUnknown *pData);
  1034. void ( STDMETHODCALLTYPE *GetDesc )(
  1035. ID3D11DepthStencilState * This,
  1036. /* [annotation] */
  1037. __out D3D11_DEPTH_STENCIL_DESC *pDesc);
  1038. END_INTERFACE
  1039. } ID3D11DepthStencilStateVtbl;
  1040. interface ID3D11DepthStencilState
  1041. {
  1042. CONST_VTBL struct ID3D11DepthStencilStateVtbl *lpVtbl;
  1043. };
  1044. #ifdef COBJMACROS
  1045. #define ID3D11DepthStencilState_QueryInterface(This,riid,ppvObject) \
  1046. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1047. #define ID3D11DepthStencilState_AddRef(This) \
  1048. ( (This)->lpVtbl -> AddRef(This) )
  1049. #define ID3D11DepthStencilState_Release(This) \
  1050. ( (This)->lpVtbl -> Release(This) )
  1051. #define ID3D11DepthStencilState_GetDevice(This,ppDevice) \
  1052. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1053. #define ID3D11DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) \
  1054. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1055. #define ID3D11DepthStencilState_SetPrivateData(This,guid,DataSize,pData) \
  1056. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1057. #define ID3D11DepthStencilState_SetPrivateDataInterface(This,guid,pData) \
  1058. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1059. #define ID3D11DepthStencilState_GetDesc(This,pDesc) \
  1060. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1061. #endif /* COBJMACROS */
  1062. #endif /* C style interface */
  1063. #endif /* __ID3D11DepthStencilState_INTERFACE_DEFINED__ */
  1064. /* interface __MIDL_itf_d3d11_0000_0002 */
  1065. /* [local] */
  1066. typedef
  1067. enum D3D11_BLEND
  1068. { D3D11_BLEND_ZERO = 1,
  1069. D3D11_BLEND_ONE = 2,
  1070. D3D11_BLEND_SRC_COLOR = 3,
  1071. D3D11_BLEND_INV_SRC_COLOR = 4,
  1072. D3D11_BLEND_SRC_ALPHA = 5,
  1073. D3D11_BLEND_INV_SRC_ALPHA = 6,
  1074. D3D11_BLEND_DEST_ALPHA = 7,
  1075. D3D11_BLEND_INV_DEST_ALPHA = 8,
  1076. D3D11_BLEND_DEST_COLOR = 9,
  1077. D3D11_BLEND_INV_DEST_COLOR = 10,
  1078. D3D11_BLEND_SRC_ALPHA_SAT = 11,
  1079. D3D11_BLEND_BLEND_FACTOR = 14,
  1080. D3D11_BLEND_INV_BLEND_FACTOR = 15,
  1081. D3D11_BLEND_SRC1_COLOR = 16,
  1082. D3D11_BLEND_INV_SRC1_COLOR = 17,
  1083. D3D11_BLEND_SRC1_ALPHA = 18,
  1084. D3D11_BLEND_INV_SRC1_ALPHA = 19
  1085. } D3D11_BLEND;
  1086. typedef
  1087. enum D3D11_BLEND_OP
  1088. { D3D11_BLEND_OP_ADD = 1,
  1089. D3D11_BLEND_OP_SUBTRACT = 2,
  1090. D3D11_BLEND_OP_REV_SUBTRACT = 3,
  1091. D3D11_BLEND_OP_MIN = 4,
  1092. D3D11_BLEND_OP_MAX = 5
  1093. } D3D11_BLEND_OP;
  1094. typedef
  1095. enum D3D11_COLOR_WRITE_ENABLE
  1096. { D3D11_COLOR_WRITE_ENABLE_RED = 1,
  1097. D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
  1098. D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
  1099. D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
  1100. D3D11_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D11_COLOR_WRITE_ENABLE_RED | D3D11_COLOR_WRITE_ENABLE_GREEN ) | D3D11_COLOR_WRITE_ENABLE_BLUE ) | D3D11_COLOR_WRITE_ENABLE_ALPHA )
  1101. } D3D11_COLOR_WRITE_ENABLE;
  1102. typedef struct D3D11_RENDER_TARGET_BLEND_DESC
  1103. {
  1104. BOOL BlendEnable;
  1105. D3D11_BLEND SrcBlend;
  1106. D3D11_BLEND DestBlend;
  1107. D3D11_BLEND_OP BlendOp;
  1108. D3D11_BLEND SrcBlendAlpha;
  1109. D3D11_BLEND DestBlendAlpha;
  1110. D3D11_BLEND_OP BlendOpAlpha;
  1111. UINT8 RenderTargetWriteMask;
  1112. } D3D11_RENDER_TARGET_BLEND_DESC;
  1113. typedef struct D3D11_BLEND_DESC
  1114. {
  1115. BOOL AlphaToCoverageEnable;
  1116. BOOL IndependentBlendEnable;
  1117. D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];
  1118. } D3D11_BLEND_DESC;
  1119. /* Note, the array size for RenderTarget[] above is D3D11_SIMULTANEOUS_RENDERTARGET_COUNT.
  1120. IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
  1121. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1122. }
  1123. struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC
  1124. {
  1125. CD3D11_BLEND_DESC()
  1126. {}
  1127. explicit CD3D11_BLEND_DESC( const D3D11_BLEND_DESC& o ) :
  1128. D3D11_BLEND_DESC( o )
  1129. {}
  1130. explicit CD3D11_BLEND_DESC( CD3D11_DEFAULT )
  1131. {
  1132. AlphaToCoverageEnable = FALSE;
  1133. IndependentBlendEnable = FALSE;
  1134. const D3D11_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =
  1135. {
  1136. FALSE,
  1137. D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD,
  1138. D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD,
  1139. D3D11_COLOR_WRITE_ENABLE_ALL,
  1140. };
  1141. for (UINT i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
  1142. RenderTarget[ i ] = defaultRenderTargetBlendDesc;
  1143. }
  1144. ~CD3D11_BLEND_DESC() {}
  1145. operator const D3D11_BLEND_DESC&() const { return *this; }
  1146. };
  1147. extern "C"{
  1148. #endif
  1149. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0002_v0_0_c_ifspec;
  1150. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0002_v0_0_s_ifspec;
  1151. #ifndef __ID3D11BlendState_INTERFACE_DEFINED__
  1152. #define __ID3D11BlendState_INTERFACE_DEFINED__
  1153. /* interface ID3D11BlendState */
  1154. /* [unique][local][object][uuid] */
  1155. EXTERN_C const IID IID_ID3D11BlendState;
  1156. #if defined(__cplusplus) && !defined(CINTERFACE)
  1157. MIDL_INTERFACE("75b68faa-347d-4159-8f45-a0640f01cd9a")
  1158. ID3D11BlendState : public ID3D11DeviceChild
  1159. {
  1160. public:
  1161. virtual void STDMETHODCALLTYPE GetDesc(
  1162. /* [annotation] */
  1163. __out D3D11_BLEND_DESC *pDesc) = 0;
  1164. };
  1165. #else /* C style interface */
  1166. typedef struct ID3D11BlendStateVtbl
  1167. {
  1168. BEGIN_INTERFACE
  1169. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1170. ID3D11BlendState * This,
  1171. /* [in] */ REFIID riid,
  1172. /* [annotation][iid_is][out] */
  1173. __RPC__deref_out void **ppvObject);
  1174. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1175. ID3D11BlendState * This);
  1176. ULONG ( STDMETHODCALLTYPE *Release )(
  1177. ID3D11BlendState * This);
  1178. void ( STDMETHODCALLTYPE *GetDevice )(
  1179. ID3D11BlendState * This,
  1180. /* [annotation] */
  1181. __out ID3D11Device **ppDevice);
  1182. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1183. ID3D11BlendState * This,
  1184. /* [annotation] */
  1185. __in REFGUID guid,
  1186. /* [annotation] */
  1187. __inout UINT *pDataSize,
  1188. /* [annotation] */
  1189. __out_bcount_opt( *pDataSize ) void *pData);
  1190. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1191. ID3D11BlendState * This,
  1192. /* [annotation] */
  1193. __in REFGUID guid,
  1194. /* [annotation] */
  1195. __in UINT DataSize,
  1196. /* [annotation] */
  1197. __in_bcount_opt( DataSize ) const void *pData);
  1198. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1199. ID3D11BlendState * This,
  1200. /* [annotation] */
  1201. __in REFGUID guid,
  1202. /* [annotation] */
  1203. __in_opt const IUnknown *pData);
  1204. void ( STDMETHODCALLTYPE *GetDesc )(
  1205. ID3D11BlendState * This,
  1206. /* [annotation] */
  1207. __out D3D11_BLEND_DESC *pDesc);
  1208. END_INTERFACE
  1209. } ID3D11BlendStateVtbl;
  1210. interface ID3D11BlendState
  1211. {
  1212. CONST_VTBL struct ID3D11BlendStateVtbl *lpVtbl;
  1213. };
  1214. #ifdef COBJMACROS
  1215. #define ID3D11BlendState_QueryInterface(This,riid,ppvObject) \
  1216. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1217. #define ID3D11BlendState_AddRef(This) \
  1218. ( (This)->lpVtbl -> AddRef(This) )
  1219. #define ID3D11BlendState_Release(This) \
  1220. ( (This)->lpVtbl -> Release(This) )
  1221. #define ID3D11BlendState_GetDevice(This,ppDevice) \
  1222. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1223. #define ID3D11BlendState_GetPrivateData(This,guid,pDataSize,pData) \
  1224. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1225. #define ID3D11BlendState_SetPrivateData(This,guid,DataSize,pData) \
  1226. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1227. #define ID3D11BlendState_SetPrivateDataInterface(This,guid,pData) \
  1228. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1229. #define ID3D11BlendState_GetDesc(This,pDesc) \
  1230. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1231. #endif /* COBJMACROS */
  1232. #endif /* C style interface */
  1233. #endif /* __ID3D11BlendState_INTERFACE_DEFINED__ */
  1234. /* interface __MIDL_itf_d3d11_0000_0003 */
  1235. /* [local] */
  1236. typedef struct D3D11_RASTERIZER_DESC
  1237. {
  1238. D3D11_FILL_MODE FillMode;
  1239. D3D11_CULL_MODE CullMode;
  1240. BOOL FrontCounterClockwise;
  1241. INT DepthBias;
  1242. FLOAT DepthBiasClamp;
  1243. FLOAT SlopeScaledDepthBias;
  1244. BOOL DepthClipEnable;
  1245. BOOL ScissorEnable;
  1246. BOOL MultisampleEnable;
  1247. BOOL AntialiasedLineEnable;
  1248. } D3D11_RASTERIZER_DESC;
  1249. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1250. }
  1251. struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC
  1252. {
  1253. CD3D11_RASTERIZER_DESC()
  1254. {}
  1255. explicit CD3D11_RASTERIZER_DESC( const D3D11_RASTERIZER_DESC& o ) :
  1256. D3D11_RASTERIZER_DESC( o )
  1257. {}
  1258. explicit CD3D11_RASTERIZER_DESC( CD3D11_DEFAULT )
  1259. {
  1260. FillMode = D3D11_FILL_SOLID;
  1261. CullMode = D3D11_CULL_BACK;
  1262. FrontCounterClockwise = FALSE;
  1263. DepthBias = D3D11_DEFAULT_DEPTH_BIAS;
  1264. DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;
  1265. SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
  1266. DepthClipEnable = TRUE;
  1267. ScissorEnable = FALSE;
  1268. MultisampleEnable = FALSE;
  1269. AntialiasedLineEnable = FALSE;
  1270. }
  1271. explicit CD3D11_RASTERIZER_DESC(
  1272. D3D11_FILL_MODE fillMode,
  1273. D3D11_CULL_MODE cullMode,
  1274. BOOL frontCounterClockwise,
  1275. INT depthBias,
  1276. FLOAT depthBiasClamp,
  1277. FLOAT slopeScaledDepthBias,
  1278. BOOL depthClipEnable,
  1279. BOOL scissorEnable,
  1280. BOOL multisampleEnable,
  1281. BOOL antialiasedLineEnable )
  1282. {
  1283. FillMode = fillMode;
  1284. CullMode = cullMode;
  1285. FrontCounterClockwise = frontCounterClockwise;
  1286. DepthBias = depthBias;
  1287. DepthBiasClamp = depthBiasClamp;
  1288. SlopeScaledDepthBias = slopeScaledDepthBias;
  1289. DepthClipEnable = depthClipEnable;
  1290. ScissorEnable = scissorEnable;
  1291. MultisampleEnable = multisampleEnable;
  1292. AntialiasedLineEnable = antialiasedLineEnable;
  1293. }
  1294. ~CD3D11_RASTERIZER_DESC() {}
  1295. operator const D3D11_RASTERIZER_DESC&() const { return *this; }
  1296. };
  1297. extern "C"{
  1298. #endif
  1299. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0003_v0_0_c_ifspec;
  1300. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0003_v0_0_s_ifspec;
  1301. #ifndef __ID3D11RasterizerState_INTERFACE_DEFINED__
  1302. #define __ID3D11RasterizerState_INTERFACE_DEFINED__
  1303. /* interface ID3D11RasterizerState */
  1304. /* [unique][local][object][uuid] */
  1305. EXTERN_C const IID IID_ID3D11RasterizerState;
  1306. #if defined(__cplusplus) && !defined(CINTERFACE)
  1307. MIDL_INTERFACE("9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7")
  1308. ID3D11RasterizerState : public ID3D11DeviceChild
  1309. {
  1310. public:
  1311. virtual void STDMETHODCALLTYPE GetDesc(
  1312. /* [annotation] */
  1313. __out D3D11_RASTERIZER_DESC *pDesc) = 0;
  1314. };
  1315. #else /* C style interface */
  1316. typedef struct ID3D11RasterizerStateVtbl
  1317. {
  1318. BEGIN_INTERFACE
  1319. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1320. ID3D11RasterizerState * This,
  1321. /* [in] */ REFIID riid,
  1322. /* [annotation][iid_is][out] */
  1323. __RPC__deref_out void **ppvObject);
  1324. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1325. ID3D11RasterizerState * This);
  1326. ULONG ( STDMETHODCALLTYPE *Release )(
  1327. ID3D11RasterizerState * This);
  1328. void ( STDMETHODCALLTYPE *GetDevice )(
  1329. ID3D11RasterizerState * This,
  1330. /* [annotation] */
  1331. __out ID3D11Device **ppDevice);
  1332. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1333. ID3D11RasterizerState * This,
  1334. /* [annotation] */
  1335. __in REFGUID guid,
  1336. /* [annotation] */
  1337. __inout UINT *pDataSize,
  1338. /* [annotation] */
  1339. __out_bcount_opt( *pDataSize ) void *pData);
  1340. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1341. ID3D11RasterizerState * This,
  1342. /* [annotation] */
  1343. __in REFGUID guid,
  1344. /* [annotation] */
  1345. __in UINT DataSize,
  1346. /* [annotation] */
  1347. __in_bcount_opt( DataSize ) const void *pData);
  1348. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1349. ID3D11RasterizerState * This,
  1350. /* [annotation] */
  1351. __in REFGUID guid,
  1352. /* [annotation] */
  1353. __in_opt const IUnknown *pData);
  1354. void ( STDMETHODCALLTYPE *GetDesc )(
  1355. ID3D11RasterizerState * This,
  1356. /* [annotation] */
  1357. __out D3D11_RASTERIZER_DESC *pDesc);
  1358. END_INTERFACE
  1359. } ID3D11RasterizerStateVtbl;
  1360. interface ID3D11RasterizerState
  1361. {
  1362. CONST_VTBL struct ID3D11RasterizerStateVtbl *lpVtbl;
  1363. };
  1364. #ifdef COBJMACROS
  1365. #define ID3D11RasterizerState_QueryInterface(This,riid,ppvObject) \
  1366. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1367. #define ID3D11RasterizerState_AddRef(This) \
  1368. ( (This)->lpVtbl -> AddRef(This) )
  1369. #define ID3D11RasterizerState_Release(This) \
  1370. ( (This)->lpVtbl -> Release(This) )
  1371. #define ID3D11RasterizerState_GetDevice(This,ppDevice) \
  1372. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1373. #define ID3D11RasterizerState_GetPrivateData(This,guid,pDataSize,pData) \
  1374. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1375. #define ID3D11RasterizerState_SetPrivateData(This,guid,DataSize,pData) \
  1376. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1377. #define ID3D11RasterizerState_SetPrivateDataInterface(This,guid,pData) \
  1378. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1379. #define ID3D11RasterizerState_GetDesc(This,pDesc) \
  1380. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1381. #endif /* COBJMACROS */
  1382. #endif /* C style interface */
  1383. #endif /* __ID3D11RasterizerState_INTERFACE_DEFINED__ */
  1384. /* interface __MIDL_itf_d3d11_0000_0004 */
  1385. /* [local] */
  1386. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1387. }
  1388. inline UINT D3D11CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT MipLevels )
  1389. { return MipSlice + ArraySlice * MipLevels; }
  1390. extern "C"{
  1391. #endif
  1392. typedef struct D3D11_SUBRESOURCE_DATA
  1393. {
  1394. const void *pSysMem;
  1395. UINT SysMemPitch;
  1396. UINT SysMemSlicePitch;
  1397. } D3D11_SUBRESOURCE_DATA;
  1398. typedef struct D3D11_MAPPED_SUBRESOURCE
  1399. {
  1400. void *pData;
  1401. UINT RowPitch;
  1402. UINT DepthPitch;
  1403. } D3D11_MAPPED_SUBRESOURCE;
  1404. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0004_v0_0_c_ifspec;
  1405. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0004_v0_0_s_ifspec;
  1406. #ifndef __ID3D11Resource_INTERFACE_DEFINED__
  1407. #define __ID3D11Resource_INTERFACE_DEFINED__
  1408. /* interface ID3D11Resource */
  1409. /* [unique][local][object][uuid] */
  1410. EXTERN_C const IID IID_ID3D11Resource;
  1411. #if defined(__cplusplus) && !defined(CINTERFACE)
  1412. MIDL_INTERFACE("dc8e63f3-d12b-4952-b47b-5e45026a862d")
  1413. ID3D11Resource : public ID3D11DeviceChild
  1414. {
  1415. public:
  1416. virtual void STDMETHODCALLTYPE GetType(
  1417. /* [annotation] */
  1418. __out D3D11_RESOURCE_DIMENSION *pResourceDimension) = 0;
  1419. virtual void STDMETHODCALLTYPE SetEvictionPriority(
  1420. /* [annotation] */
  1421. __in UINT EvictionPriority) = 0;
  1422. virtual UINT STDMETHODCALLTYPE GetEvictionPriority( void) = 0;
  1423. };
  1424. #else /* C style interface */
  1425. typedef struct ID3D11ResourceVtbl
  1426. {
  1427. BEGIN_INTERFACE
  1428. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1429. ID3D11Resource * This,
  1430. /* [in] */ REFIID riid,
  1431. /* [annotation][iid_is][out] */
  1432. __RPC__deref_out void **ppvObject);
  1433. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1434. ID3D11Resource * This);
  1435. ULONG ( STDMETHODCALLTYPE *Release )(
  1436. ID3D11Resource * This);
  1437. void ( STDMETHODCALLTYPE *GetDevice )(
  1438. ID3D11Resource * This,
  1439. /* [annotation] */
  1440. __out ID3D11Device **ppDevice);
  1441. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1442. ID3D11Resource * This,
  1443. /* [annotation] */
  1444. __in REFGUID guid,
  1445. /* [annotation] */
  1446. __inout UINT *pDataSize,
  1447. /* [annotation] */
  1448. __out_bcount_opt( *pDataSize ) void *pData);
  1449. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1450. ID3D11Resource * This,
  1451. /* [annotation] */
  1452. __in REFGUID guid,
  1453. /* [annotation] */
  1454. __in UINT DataSize,
  1455. /* [annotation] */
  1456. __in_bcount_opt( DataSize ) const void *pData);
  1457. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1458. ID3D11Resource * This,
  1459. /* [annotation] */
  1460. __in REFGUID guid,
  1461. /* [annotation] */
  1462. __in_opt const IUnknown *pData);
  1463. void ( STDMETHODCALLTYPE *GetType )(
  1464. ID3D11Resource * This,
  1465. /* [annotation] */
  1466. __out D3D11_RESOURCE_DIMENSION *pResourceDimension);
  1467. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1468. ID3D11Resource * This,
  1469. /* [annotation] */
  1470. __in UINT EvictionPriority);
  1471. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1472. ID3D11Resource * This);
  1473. END_INTERFACE
  1474. } ID3D11ResourceVtbl;
  1475. interface ID3D11Resource
  1476. {
  1477. CONST_VTBL struct ID3D11ResourceVtbl *lpVtbl;
  1478. };
  1479. #ifdef COBJMACROS
  1480. #define ID3D11Resource_QueryInterface(This,riid,ppvObject) \
  1481. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1482. #define ID3D11Resource_AddRef(This) \
  1483. ( (This)->lpVtbl -> AddRef(This) )
  1484. #define ID3D11Resource_Release(This) \
  1485. ( (This)->lpVtbl -> Release(This) )
  1486. #define ID3D11Resource_GetDevice(This,ppDevice) \
  1487. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1488. #define ID3D11Resource_GetPrivateData(This,guid,pDataSize,pData) \
  1489. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1490. #define ID3D11Resource_SetPrivateData(This,guid,DataSize,pData) \
  1491. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1492. #define ID3D11Resource_SetPrivateDataInterface(This,guid,pData) \
  1493. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1494. #define ID3D11Resource_GetType(This,pResourceDimension) \
  1495. ( (This)->lpVtbl -> GetType(This,pResourceDimension) )
  1496. #define ID3D11Resource_SetEvictionPriority(This,EvictionPriority) \
  1497. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1498. #define ID3D11Resource_GetEvictionPriority(This) \
  1499. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1500. #endif /* COBJMACROS */
  1501. #endif /* C style interface */
  1502. #endif /* __ID3D11Resource_INTERFACE_DEFINED__ */
  1503. /* interface __MIDL_itf_d3d11_0000_0005 */
  1504. /* [local] */
  1505. typedef struct D3D11_BUFFER_DESC
  1506. {
  1507. UINT ByteWidth;
  1508. D3D11_USAGE Usage;
  1509. UINT BindFlags;
  1510. UINT CPUAccessFlags;
  1511. UINT MiscFlags;
  1512. UINT StructureByteStride;
  1513. } D3D11_BUFFER_DESC;
  1514. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1515. }
  1516. struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC
  1517. {
  1518. CD3D11_BUFFER_DESC()
  1519. {}
  1520. explicit CD3D11_BUFFER_DESC( const D3D11_BUFFER_DESC& o ) :
  1521. D3D11_BUFFER_DESC( o )
  1522. {}
  1523. explicit CD3D11_BUFFER_DESC(
  1524. UINT byteWidth,
  1525. UINT bindFlags,
  1526. D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
  1527. UINT cpuaccessFlags = 0,
  1528. UINT miscFlags = 0,
  1529. UINT structureByteStride = 0 )
  1530. {
  1531. ByteWidth = byteWidth;
  1532. Usage = usage;
  1533. BindFlags = bindFlags;
  1534. CPUAccessFlags = cpuaccessFlags ;
  1535. MiscFlags = miscFlags;
  1536. StructureByteStride = structureByteStride;
  1537. }
  1538. ~CD3D11_BUFFER_DESC() {}
  1539. operator const D3D11_BUFFER_DESC&() const { return *this; }
  1540. };
  1541. extern "C"{
  1542. #endif
  1543. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0005_v0_0_c_ifspec;
  1544. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0005_v0_0_s_ifspec;
  1545. #ifndef __ID3D11Buffer_INTERFACE_DEFINED__
  1546. #define __ID3D11Buffer_INTERFACE_DEFINED__
  1547. /* interface ID3D11Buffer */
  1548. /* [unique][local][object][uuid] */
  1549. EXTERN_C const IID IID_ID3D11Buffer;
  1550. #if defined(__cplusplus) && !defined(CINTERFACE)
  1551. MIDL_INTERFACE("48570b85-d1ee-4fcd-a250-eb350722b037")
  1552. ID3D11Buffer : public ID3D11Resource
  1553. {
  1554. public:
  1555. virtual void STDMETHODCALLTYPE GetDesc(
  1556. /* [annotation] */
  1557. __out D3D11_BUFFER_DESC *pDesc) = 0;
  1558. };
  1559. #else /* C style interface */
  1560. typedef struct ID3D11BufferVtbl
  1561. {
  1562. BEGIN_INTERFACE
  1563. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1564. ID3D11Buffer * This,
  1565. /* [in] */ REFIID riid,
  1566. /* [annotation][iid_is][out] */
  1567. __RPC__deref_out void **ppvObject);
  1568. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1569. ID3D11Buffer * This);
  1570. ULONG ( STDMETHODCALLTYPE *Release )(
  1571. ID3D11Buffer * This);
  1572. void ( STDMETHODCALLTYPE *GetDevice )(
  1573. ID3D11Buffer * This,
  1574. /* [annotation] */
  1575. __out ID3D11Device **ppDevice);
  1576. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1577. ID3D11Buffer * This,
  1578. /* [annotation] */
  1579. __in REFGUID guid,
  1580. /* [annotation] */
  1581. __inout UINT *pDataSize,
  1582. /* [annotation] */
  1583. __out_bcount_opt( *pDataSize ) void *pData);
  1584. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1585. ID3D11Buffer * This,
  1586. /* [annotation] */
  1587. __in REFGUID guid,
  1588. /* [annotation] */
  1589. __in UINT DataSize,
  1590. /* [annotation] */
  1591. __in_bcount_opt( DataSize ) const void *pData);
  1592. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1593. ID3D11Buffer * This,
  1594. /* [annotation] */
  1595. __in REFGUID guid,
  1596. /* [annotation] */
  1597. __in_opt const IUnknown *pData);
  1598. void ( STDMETHODCALLTYPE *GetType )(
  1599. ID3D11Buffer * This,
  1600. /* [annotation] */
  1601. __out D3D11_RESOURCE_DIMENSION *pResourceDimension);
  1602. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1603. ID3D11Buffer * This,
  1604. /* [annotation] */
  1605. __in UINT EvictionPriority);
  1606. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1607. ID3D11Buffer * This);
  1608. void ( STDMETHODCALLTYPE *GetDesc )(
  1609. ID3D11Buffer * This,
  1610. /* [annotation] */
  1611. __out D3D11_BUFFER_DESC *pDesc);
  1612. END_INTERFACE
  1613. } ID3D11BufferVtbl;
  1614. interface ID3D11Buffer
  1615. {
  1616. CONST_VTBL struct ID3D11BufferVtbl *lpVtbl;
  1617. };
  1618. #ifdef COBJMACROS
  1619. #define ID3D11Buffer_QueryInterface(This,riid,ppvObject) \
  1620. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1621. #define ID3D11Buffer_AddRef(This) \
  1622. ( (This)->lpVtbl -> AddRef(This) )
  1623. #define ID3D11Buffer_Release(This) \
  1624. ( (This)->lpVtbl -> Release(This) )
  1625. #define ID3D11Buffer_GetDevice(This,ppDevice) \
  1626. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1627. #define ID3D11Buffer_GetPrivateData(This,guid,pDataSize,pData) \
  1628. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1629. #define ID3D11Buffer_SetPrivateData(This,guid,DataSize,pData) \
  1630. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1631. #define ID3D11Buffer_SetPrivateDataInterface(This,guid,pData) \
  1632. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1633. #define ID3D11Buffer_GetType(This,pResourceDimension) \
  1634. ( (This)->lpVtbl -> GetType(This,pResourceDimension) )
  1635. #define ID3D11Buffer_SetEvictionPriority(This,EvictionPriority) \
  1636. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1637. #define ID3D11Buffer_GetEvictionPriority(This) \
  1638. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1639. #define ID3D11Buffer_GetDesc(This,pDesc) \
  1640. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1641. #endif /* COBJMACROS */
  1642. #endif /* C style interface */
  1643. #endif /* __ID3D11Buffer_INTERFACE_DEFINED__ */
  1644. /* interface __MIDL_itf_d3d11_0000_0006 */
  1645. /* [local] */
  1646. typedef struct D3D11_TEXTURE1D_DESC
  1647. {
  1648. UINT Width;
  1649. UINT MipLevels;
  1650. UINT ArraySize;
  1651. DXGI_FORMAT Format;
  1652. D3D11_USAGE Usage;
  1653. UINT BindFlags;
  1654. UINT CPUAccessFlags;
  1655. UINT MiscFlags;
  1656. } D3D11_TEXTURE1D_DESC;
  1657. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1658. }
  1659. struct CD3D11_TEXTURE1D_DESC : public D3D11_TEXTURE1D_DESC
  1660. {
  1661. CD3D11_TEXTURE1D_DESC()
  1662. {}
  1663. explicit CD3D11_TEXTURE1D_DESC( const D3D11_TEXTURE1D_DESC& o ) :
  1664. D3D11_TEXTURE1D_DESC( o )
  1665. {}
  1666. explicit CD3D11_TEXTURE1D_DESC(
  1667. DXGI_FORMAT format,
  1668. UINT width,
  1669. UINT arraySize = 1,
  1670. UINT mipLevels = 0,
  1671. UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
  1672. D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
  1673. UINT cpuaccessFlags= 0,
  1674. UINT miscFlags = 0 )
  1675. {
  1676. Width = width;
  1677. MipLevels = mipLevels;
  1678. ArraySize = arraySize;
  1679. Format = format;
  1680. Usage = usage;
  1681. BindFlags = bindFlags;
  1682. CPUAccessFlags = cpuaccessFlags;
  1683. MiscFlags = miscFlags;
  1684. }
  1685. ~CD3D11_TEXTURE1D_DESC() {}
  1686. operator const D3D11_TEXTURE1D_DESC&() const { return *this; }
  1687. };
  1688. extern "C"{
  1689. #endif
  1690. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0006_v0_0_c_ifspec;
  1691. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0006_v0_0_s_ifspec;
  1692. #ifndef __ID3D11Texture1D_INTERFACE_DEFINED__
  1693. #define __ID3D11Texture1D_INTERFACE_DEFINED__
  1694. /* interface ID3D11Texture1D */
  1695. /* [unique][local][object][uuid] */
  1696. EXTERN_C const IID IID_ID3D11Texture1D;
  1697. #if defined(__cplusplus) && !defined(CINTERFACE)
  1698. MIDL_INTERFACE("f8fb5c27-c6b3-4f75-a4c8-439af2ef564c")
  1699. ID3D11Texture1D : public ID3D11Resource
  1700. {
  1701. public:
  1702. virtual void STDMETHODCALLTYPE GetDesc(
  1703. /* [annotation] */
  1704. __out D3D11_TEXTURE1D_DESC *pDesc) = 0;
  1705. };
  1706. #else /* C style interface */
  1707. typedef struct ID3D11Texture1DVtbl
  1708. {
  1709. BEGIN_INTERFACE
  1710. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1711. ID3D11Texture1D * This,
  1712. /* [in] */ REFIID riid,
  1713. /* [annotation][iid_is][out] */
  1714. __RPC__deref_out void **ppvObject);
  1715. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1716. ID3D11Texture1D * This);
  1717. ULONG ( STDMETHODCALLTYPE *Release )(
  1718. ID3D11Texture1D * This);
  1719. void ( STDMETHODCALLTYPE *GetDevice )(
  1720. ID3D11Texture1D * This,
  1721. /* [annotation] */
  1722. __out ID3D11Device **ppDevice);
  1723. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1724. ID3D11Texture1D * This,
  1725. /* [annotation] */
  1726. __in REFGUID guid,
  1727. /* [annotation] */
  1728. __inout UINT *pDataSize,
  1729. /* [annotation] */
  1730. __out_bcount_opt( *pDataSize ) void *pData);
  1731. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1732. ID3D11Texture1D * This,
  1733. /* [annotation] */
  1734. __in REFGUID guid,
  1735. /* [annotation] */
  1736. __in UINT DataSize,
  1737. /* [annotation] */
  1738. __in_bcount_opt( DataSize ) const void *pData);
  1739. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1740. ID3D11Texture1D * This,
  1741. /* [annotation] */
  1742. __in REFGUID guid,
  1743. /* [annotation] */
  1744. __in_opt const IUnknown *pData);
  1745. void ( STDMETHODCALLTYPE *GetType )(
  1746. ID3D11Texture1D * This,
  1747. /* [annotation] */
  1748. __out D3D11_RESOURCE_DIMENSION *pResourceDimension);
  1749. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1750. ID3D11Texture1D * This,
  1751. /* [annotation] */
  1752. __in UINT EvictionPriority);
  1753. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1754. ID3D11Texture1D * This);
  1755. void ( STDMETHODCALLTYPE *GetDesc )(
  1756. ID3D11Texture1D * This,
  1757. /* [annotation] */
  1758. __out D3D11_TEXTURE1D_DESC *pDesc);
  1759. END_INTERFACE
  1760. } ID3D11Texture1DVtbl;
  1761. interface ID3D11Texture1D
  1762. {
  1763. CONST_VTBL struct ID3D11Texture1DVtbl *lpVtbl;
  1764. };
  1765. #ifdef COBJMACROS
  1766. #define ID3D11Texture1D_QueryInterface(This,riid,ppvObject) \
  1767. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1768. #define ID3D11Texture1D_AddRef(This) \
  1769. ( (This)->lpVtbl -> AddRef(This) )
  1770. #define ID3D11Texture1D_Release(This) \
  1771. ( (This)->lpVtbl -> Release(This) )
  1772. #define ID3D11Texture1D_GetDevice(This,ppDevice) \
  1773. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1774. #define ID3D11Texture1D_GetPrivateData(This,guid,pDataSize,pData) \
  1775. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1776. #define ID3D11Texture1D_SetPrivateData(This,guid,DataSize,pData) \
  1777. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1778. #define ID3D11Texture1D_SetPrivateDataInterface(This,guid,pData) \
  1779. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1780. #define ID3D11Texture1D_GetType(This,pResourceDimension) \
  1781. ( (This)->lpVtbl -> GetType(This,pResourceDimension) )
  1782. #define ID3D11Texture1D_SetEvictionPriority(This,EvictionPriority) \
  1783. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1784. #define ID3D11Texture1D_GetEvictionPriority(This) \
  1785. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1786. #define ID3D11Texture1D_GetDesc(This,pDesc) \
  1787. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1788. #endif /* COBJMACROS */
  1789. #endif /* C style interface */
  1790. #endif /* __ID3D11Texture1D_INTERFACE_DEFINED__ */
  1791. /* interface __MIDL_itf_d3d11_0000_0007 */
  1792. /* [local] */
  1793. typedef struct D3D11_TEXTURE2D_DESC
  1794. {
  1795. UINT Width;
  1796. UINT Height;
  1797. UINT MipLevels;
  1798. UINT ArraySize;
  1799. DXGI_FORMAT Format;
  1800. DXGI_SAMPLE_DESC SampleDesc;
  1801. D3D11_USAGE Usage;
  1802. UINT BindFlags;
  1803. UINT CPUAccessFlags;
  1804. UINT MiscFlags;
  1805. } D3D11_TEXTURE2D_DESC;
  1806. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1807. }
  1808. struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC
  1809. {
  1810. CD3D11_TEXTURE2D_DESC()
  1811. {}
  1812. explicit CD3D11_TEXTURE2D_DESC( const D3D11_TEXTURE2D_DESC& o ) :
  1813. D3D11_TEXTURE2D_DESC( o )
  1814. {}
  1815. explicit CD3D11_TEXTURE2D_DESC(
  1816. DXGI_FORMAT format,
  1817. UINT width,
  1818. UINT height,
  1819. UINT arraySize = 1,
  1820. UINT mipLevels = 0,
  1821. UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
  1822. D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
  1823. UINT cpuaccessFlags = 0,
  1824. UINT sampleCount = 1,
  1825. UINT sampleQuality = 0,
  1826. UINT miscFlags = 0 )
  1827. {
  1828. Width = width;
  1829. Height = height;
  1830. MipLevels = mipLevels;
  1831. ArraySize = arraySize;
  1832. Format = format;
  1833. SampleDesc.Count = sampleCount;
  1834. SampleDesc.Quality = sampleQuality;
  1835. Usage = usage;
  1836. BindFlags = bindFlags;
  1837. CPUAccessFlags = cpuaccessFlags;
  1838. MiscFlags = miscFlags;
  1839. }
  1840. ~CD3D11_TEXTURE2D_DESC() {}
  1841. operator const D3D11_TEXTURE2D_DESC&() const { return *this; }
  1842. };
  1843. extern "C"{
  1844. #endif
  1845. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0007_v0_0_c_ifspec;
  1846. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0007_v0_0_s_ifspec;
  1847. #ifndef __ID3D11Texture2D_INTERFACE_DEFINED__
  1848. #define __ID3D11Texture2D_INTERFACE_DEFINED__
  1849. /* interface ID3D11Texture2D */
  1850. /* [unique][local][object][uuid] */
  1851. EXTERN_C const IID IID_ID3D11Texture2D;
  1852. #if defined(__cplusplus) && !defined(CINTERFACE)
  1853. MIDL_INTERFACE("6f15aaf2-d208-4e89-9ab4-489535d34f9c")
  1854. ID3D11Texture2D : public ID3D11Resource
  1855. {
  1856. public:
  1857. virtual void STDMETHODCALLTYPE GetDesc(
  1858. /* [annotation] */
  1859. __out D3D11_TEXTURE2D_DESC *pDesc) = 0;
  1860. };
  1861. #else /* C style interface */
  1862. typedef struct ID3D11Texture2DVtbl
  1863. {
  1864. BEGIN_INTERFACE
  1865. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1866. ID3D11Texture2D * This,
  1867. /* [in] */ REFIID riid,
  1868. /* [annotation][iid_is][out] */
  1869. __RPC__deref_out void **ppvObject);
  1870. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1871. ID3D11Texture2D * This);
  1872. ULONG ( STDMETHODCALLTYPE *Release )(
  1873. ID3D11Texture2D * This);
  1874. void ( STDMETHODCALLTYPE *GetDevice )(
  1875. ID3D11Texture2D * This,
  1876. /* [annotation] */
  1877. __out ID3D11Device **ppDevice);
  1878. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1879. ID3D11Texture2D * This,
  1880. /* [annotation] */
  1881. __in REFGUID guid,
  1882. /* [annotation] */
  1883. __inout UINT *pDataSize,
  1884. /* [annotation] */
  1885. __out_bcount_opt( *pDataSize ) void *pData);
  1886. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1887. ID3D11Texture2D * This,
  1888. /* [annotation] */
  1889. __in REFGUID guid,
  1890. /* [annotation] */
  1891. __in UINT DataSize,
  1892. /* [annotation] */
  1893. __in_bcount_opt( DataSize ) const void *pData);
  1894. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1895. ID3D11Texture2D * This,
  1896. /* [annotation] */
  1897. __in REFGUID guid,
  1898. /* [annotation] */
  1899. __in_opt const IUnknown *pData);
  1900. void ( STDMETHODCALLTYPE *GetType )(
  1901. ID3D11Texture2D * This,
  1902. /* [annotation] */
  1903. __out D3D11_RESOURCE_DIMENSION *pResourceDimension);
  1904. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1905. ID3D11Texture2D * This,
  1906. /* [annotation] */
  1907. __in UINT EvictionPriority);
  1908. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1909. ID3D11Texture2D * This);
  1910. void ( STDMETHODCALLTYPE *GetDesc )(
  1911. ID3D11Texture2D * This,
  1912. /* [annotation] */
  1913. __out D3D11_TEXTURE2D_DESC *pDesc);
  1914. END_INTERFACE
  1915. } ID3D11Texture2DVtbl;
  1916. interface ID3D11Texture2D
  1917. {
  1918. CONST_VTBL struct ID3D11Texture2DVtbl *lpVtbl;
  1919. };
  1920. #ifdef COBJMACROS
  1921. #define ID3D11Texture2D_QueryInterface(This,riid,ppvObject) \
  1922. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1923. #define ID3D11Texture2D_AddRef(This) \
  1924. ( (This)->lpVtbl -> AddRef(This) )
  1925. #define ID3D11Texture2D_Release(This) \
  1926. ( (This)->lpVtbl -> Release(This) )
  1927. #define ID3D11Texture2D_GetDevice(This,ppDevice) \
  1928. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1929. #define ID3D11Texture2D_GetPrivateData(This,guid,pDataSize,pData) \
  1930. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1931. #define ID3D11Texture2D_SetPrivateData(This,guid,DataSize,pData) \
  1932. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1933. #define ID3D11Texture2D_SetPrivateDataInterface(This,guid,pData) \
  1934. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1935. #define ID3D11Texture2D_GetType(This,pResourceDimension) \
  1936. ( (This)->lpVtbl -> GetType(This,pResourceDimension) )
  1937. #define ID3D11Texture2D_SetEvictionPriority(This,EvictionPriority) \
  1938. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1939. #define ID3D11Texture2D_GetEvictionPriority(This) \
  1940. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1941. #define ID3D11Texture2D_GetDesc(This,pDesc) \
  1942. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1943. #endif /* COBJMACROS */
  1944. #endif /* C style interface */
  1945. #endif /* __ID3D11Texture2D_INTERFACE_DEFINED__ */
  1946. /* interface __MIDL_itf_d3d11_0000_0008 */
  1947. /* [local] */
  1948. typedef struct D3D11_TEXTURE3D_DESC
  1949. {
  1950. UINT Width;
  1951. UINT Height;
  1952. UINT Depth;
  1953. UINT MipLevels;
  1954. DXGI_FORMAT Format;
  1955. D3D11_USAGE Usage;
  1956. UINT BindFlags;
  1957. UINT CPUAccessFlags;
  1958. UINT MiscFlags;
  1959. } D3D11_TEXTURE3D_DESC;
  1960. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1961. }
  1962. struct CD3D11_TEXTURE3D_DESC : public D3D11_TEXTURE3D_DESC
  1963. {
  1964. CD3D11_TEXTURE3D_DESC()
  1965. {}
  1966. explicit CD3D11_TEXTURE3D_DESC( const D3D11_TEXTURE3D_DESC& o ) :
  1967. D3D11_TEXTURE3D_DESC( o )
  1968. {}
  1969. explicit CD3D11_TEXTURE3D_DESC(
  1970. DXGI_FORMAT format,
  1971. UINT width,
  1972. UINT height,
  1973. UINT depth,
  1974. UINT mipLevels = 0,
  1975. UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
  1976. D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
  1977. UINT cpuaccessFlags = 0,
  1978. UINT miscFlags = 0 )
  1979. {
  1980. Width = width;
  1981. Height = height;
  1982. Depth = depth;
  1983. MipLevels = mipLevels;
  1984. Format = format;
  1985. Usage = usage;
  1986. BindFlags = bindFlags;
  1987. CPUAccessFlags = cpuaccessFlags;
  1988. MiscFlags = miscFlags;
  1989. }
  1990. ~CD3D11_TEXTURE3D_DESC() {}
  1991. operator const D3D11_TEXTURE3D_DESC&() const { return *this; }
  1992. };
  1993. extern "C"{
  1994. #endif
  1995. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0008_v0_0_c_ifspec;
  1996. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0008_v0_0_s_ifspec;
  1997. #ifndef __ID3D11Texture3D_INTERFACE_DEFINED__
  1998. #define __ID3D11Texture3D_INTERFACE_DEFINED__
  1999. /* interface ID3D11Texture3D */
  2000. /* [unique][local][object][uuid] */
  2001. EXTERN_C const IID IID_ID3D11Texture3D;
  2002. #if defined(__cplusplus) && !defined(CINTERFACE)
  2003. MIDL_INTERFACE("037e866e-f56d-4357-a8af-9dabbe6e250e")
  2004. ID3D11Texture3D : public ID3D11Resource
  2005. {
  2006. public:
  2007. virtual void STDMETHODCALLTYPE GetDesc(
  2008. /* [annotation] */
  2009. __out D3D11_TEXTURE3D_DESC *pDesc) = 0;
  2010. };
  2011. #else /* C style interface */
  2012. typedef struct ID3D11Texture3DVtbl
  2013. {
  2014. BEGIN_INTERFACE
  2015. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2016. ID3D11Texture3D * This,
  2017. /* [in] */ REFIID riid,
  2018. /* [annotation][iid_is][out] */
  2019. __RPC__deref_out void **ppvObject);
  2020. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2021. ID3D11Texture3D * This);
  2022. ULONG ( STDMETHODCALLTYPE *Release )(
  2023. ID3D11Texture3D * This);
  2024. void ( STDMETHODCALLTYPE *GetDevice )(
  2025. ID3D11Texture3D * This,
  2026. /* [annotation] */
  2027. __out ID3D11Device **ppDevice);
  2028. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2029. ID3D11Texture3D * This,
  2030. /* [annotation] */
  2031. __in REFGUID guid,
  2032. /* [annotation] */
  2033. __inout UINT *pDataSize,
  2034. /* [annotation] */
  2035. __out_bcount_opt( *pDataSize ) void *pData);
  2036. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2037. ID3D11Texture3D * This,
  2038. /* [annotation] */
  2039. __in REFGUID guid,
  2040. /* [annotation] */
  2041. __in UINT DataSize,
  2042. /* [annotation] */
  2043. __in_bcount_opt( DataSize ) const void *pData);
  2044. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2045. ID3D11Texture3D * This,
  2046. /* [annotation] */
  2047. __in REFGUID guid,
  2048. /* [annotation] */
  2049. __in_opt const IUnknown *pData);
  2050. void ( STDMETHODCALLTYPE *GetType )(
  2051. ID3D11Texture3D * This,
  2052. /* [annotation] */
  2053. __out D3D11_RESOURCE_DIMENSION *pResourceDimension);
  2054. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  2055. ID3D11Texture3D * This,
  2056. /* [annotation] */
  2057. __in UINT EvictionPriority);
  2058. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  2059. ID3D11Texture3D * This);
  2060. void ( STDMETHODCALLTYPE *GetDesc )(
  2061. ID3D11Texture3D * This,
  2062. /* [annotation] */
  2063. __out D3D11_TEXTURE3D_DESC *pDesc);
  2064. END_INTERFACE
  2065. } ID3D11Texture3DVtbl;
  2066. interface ID3D11Texture3D
  2067. {
  2068. CONST_VTBL struct ID3D11Texture3DVtbl *lpVtbl;
  2069. };
  2070. #ifdef COBJMACROS
  2071. #define ID3D11Texture3D_QueryInterface(This,riid,ppvObject) \
  2072. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2073. #define ID3D11Texture3D_AddRef(This) \
  2074. ( (This)->lpVtbl -> AddRef(This) )
  2075. #define ID3D11Texture3D_Release(This) \
  2076. ( (This)->lpVtbl -> Release(This) )
  2077. #define ID3D11Texture3D_GetDevice(This,ppDevice) \
  2078. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2079. #define ID3D11Texture3D_GetPrivateData(This,guid,pDataSize,pData) \
  2080. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2081. #define ID3D11Texture3D_SetPrivateData(This,guid,DataSize,pData) \
  2082. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2083. #define ID3D11Texture3D_SetPrivateDataInterface(This,guid,pData) \
  2084. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2085. #define ID3D11Texture3D_GetType(This,pResourceDimension) \
  2086. ( (This)->lpVtbl -> GetType(This,pResourceDimension) )
  2087. #define ID3D11Texture3D_SetEvictionPriority(This,EvictionPriority) \
  2088. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  2089. #define ID3D11Texture3D_GetEvictionPriority(This) \
  2090. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  2091. #define ID3D11Texture3D_GetDesc(This,pDesc) \
  2092. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2093. #endif /* COBJMACROS */
  2094. #endif /* C style interface */
  2095. #endif /* __ID3D11Texture3D_INTERFACE_DEFINED__ */
  2096. /* interface __MIDL_itf_d3d11_0000_0009 */
  2097. /* [local] */
  2098. typedef
  2099. enum D3D11_TEXTURECUBE_FACE
  2100. { D3D11_TEXTURECUBE_FACE_POSITIVE_X = 0,
  2101. D3D11_TEXTURECUBE_FACE_NEGATIVE_X = 1,
  2102. D3D11_TEXTURECUBE_FACE_POSITIVE_Y = 2,
  2103. D3D11_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
  2104. D3D11_TEXTURECUBE_FACE_POSITIVE_Z = 4,
  2105. D3D11_TEXTURECUBE_FACE_NEGATIVE_Z = 5
  2106. } D3D11_TEXTURECUBE_FACE;
  2107. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0009_v0_0_c_ifspec;
  2108. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0009_v0_0_s_ifspec;
  2109. #ifndef __ID3D11View_INTERFACE_DEFINED__
  2110. #define __ID3D11View_INTERFACE_DEFINED__
  2111. /* interface ID3D11View */
  2112. /* [unique][local][object][uuid] */
  2113. EXTERN_C const IID IID_ID3D11View;
  2114. #if defined(__cplusplus) && !defined(CINTERFACE)
  2115. MIDL_INTERFACE("839d1216-bb2e-412b-b7f4-a9dbebe08ed1")
  2116. ID3D11View : public ID3D11DeviceChild
  2117. {
  2118. public:
  2119. virtual void STDMETHODCALLTYPE GetResource(
  2120. /* [annotation] */
  2121. __out ID3D11Resource **ppResource) = 0;
  2122. };
  2123. #else /* C style interface */
  2124. typedef struct ID3D11ViewVtbl
  2125. {
  2126. BEGIN_INTERFACE
  2127. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2128. ID3D11View * This,
  2129. /* [in] */ REFIID riid,
  2130. /* [annotation][iid_is][out] */
  2131. __RPC__deref_out void **ppvObject);
  2132. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2133. ID3D11View * This);
  2134. ULONG ( STDMETHODCALLTYPE *Release )(
  2135. ID3D11View * This);
  2136. void ( STDMETHODCALLTYPE *GetDevice )(
  2137. ID3D11View * This,
  2138. /* [annotation] */
  2139. __out ID3D11Device **ppDevice);
  2140. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2141. ID3D11View * This,
  2142. /* [annotation] */
  2143. __in REFGUID guid,
  2144. /* [annotation] */
  2145. __inout UINT *pDataSize,
  2146. /* [annotation] */
  2147. __out_bcount_opt( *pDataSize ) void *pData);
  2148. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2149. ID3D11View * This,
  2150. /* [annotation] */
  2151. __in REFGUID guid,
  2152. /* [annotation] */
  2153. __in UINT DataSize,
  2154. /* [annotation] */
  2155. __in_bcount_opt( DataSize ) const void *pData);
  2156. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2157. ID3D11View * This,
  2158. /* [annotation] */
  2159. __in REFGUID guid,
  2160. /* [annotation] */
  2161. __in_opt const IUnknown *pData);
  2162. void ( STDMETHODCALLTYPE *GetResource )(
  2163. ID3D11View * This,
  2164. /* [annotation] */
  2165. __out ID3D11Resource **ppResource);
  2166. END_INTERFACE
  2167. } ID3D11ViewVtbl;
  2168. interface ID3D11View
  2169. {
  2170. CONST_VTBL struct ID3D11ViewVtbl *lpVtbl;
  2171. };
  2172. #ifdef COBJMACROS
  2173. #define ID3D11View_QueryInterface(This,riid,ppvObject) \
  2174. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2175. #define ID3D11View_AddRef(This) \
  2176. ( (This)->lpVtbl -> AddRef(This) )
  2177. #define ID3D11View_Release(This) \
  2178. ( (This)->lpVtbl -> Release(This) )
  2179. #define ID3D11View_GetDevice(This,ppDevice) \
  2180. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2181. #define ID3D11View_GetPrivateData(This,guid,pDataSize,pData) \
  2182. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2183. #define ID3D11View_SetPrivateData(This,guid,DataSize,pData) \
  2184. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2185. #define ID3D11View_SetPrivateDataInterface(This,guid,pData) \
  2186. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2187. #define ID3D11View_GetResource(This,ppResource) \
  2188. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2189. #endif /* COBJMACROS */
  2190. #endif /* C style interface */
  2191. #endif /* __ID3D11View_INTERFACE_DEFINED__ */
  2192. /* interface __MIDL_itf_d3d11_0000_0010 */
  2193. /* [local] */
  2194. typedef struct D3D11_BUFFER_SRV
  2195. {
  2196. union
  2197. {
  2198. UINT FirstElement;
  2199. UINT ElementOffset;
  2200. } ;
  2201. union
  2202. {
  2203. UINT NumElements;
  2204. UINT ElementWidth;
  2205. } ;
  2206. } D3D11_BUFFER_SRV;
  2207. typedef
  2208. enum D3D11_BUFFEREX_SRV_FLAG
  2209. { D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1
  2210. } D3D11_BUFFEREX_SRV_FLAG;
  2211. typedef struct D3D11_BUFFEREX_SRV
  2212. {
  2213. UINT FirstElement;
  2214. UINT NumElements;
  2215. UINT Flags;
  2216. } D3D11_BUFFEREX_SRV;
  2217. typedef struct D3D11_TEX1D_SRV
  2218. {
  2219. UINT MostDetailedMip;
  2220. UINT MipLevels;
  2221. } D3D11_TEX1D_SRV;
  2222. typedef struct D3D11_TEX1D_ARRAY_SRV
  2223. {
  2224. UINT MostDetailedMip;
  2225. UINT MipLevels;
  2226. UINT FirstArraySlice;
  2227. UINT ArraySize;
  2228. } D3D11_TEX1D_ARRAY_SRV;
  2229. typedef struct D3D11_TEX2D_SRV
  2230. {
  2231. UINT MostDetailedMip;
  2232. UINT MipLevels;
  2233. } D3D11_TEX2D_SRV;
  2234. typedef struct D3D11_TEX2D_ARRAY_SRV
  2235. {
  2236. UINT MostDetailedMip;
  2237. UINT MipLevels;
  2238. UINT FirstArraySlice;
  2239. UINT ArraySize;
  2240. } D3D11_TEX2D_ARRAY_SRV;
  2241. typedef struct D3D11_TEX3D_SRV
  2242. {
  2243. UINT MostDetailedMip;
  2244. UINT MipLevels;
  2245. } D3D11_TEX3D_SRV;
  2246. typedef struct D3D11_TEXCUBE_SRV
  2247. {
  2248. UINT MostDetailedMip;
  2249. UINT MipLevels;
  2250. } D3D11_TEXCUBE_SRV;
  2251. typedef struct D3D11_TEXCUBE_ARRAY_SRV
  2252. {
  2253. UINT MostDetailedMip;
  2254. UINT MipLevels;
  2255. UINT First2DArrayFace;
  2256. UINT NumCubes;
  2257. } D3D11_TEXCUBE_ARRAY_SRV;
  2258. typedef struct D3D11_TEX2DMS_SRV
  2259. {
  2260. UINT UnusedField_NothingToDefine;
  2261. } D3D11_TEX2DMS_SRV;
  2262. typedef struct D3D11_TEX2DMS_ARRAY_SRV
  2263. {
  2264. UINT FirstArraySlice;
  2265. UINT ArraySize;
  2266. } D3D11_TEX2DMS_ARRAY_SRV;
  2267. typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
  2268. {
  2269. DXGI_FORMAT Format;
  2270. D3D11_SRV_DIMENSION ViewDimension;
  2271. union
  2272. {
  2273. D3D11_BUFFER_SRV Buffer;
  2274. D3D11_TEX1D_SRV Texture1D;
  2275. D3D11_TEX1D_ARRAY_SRV Texture1DArray;
  2276. D3D11_TEX2D_SRV Texture2D;
  2277. D3D11_TEX2D_ARRAY_SRV Texture2DArray;
  2278. D3D11_TEX2DMS_SRV Texture2DMS;
  2279. D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
  2280. D3D11_TEX3D_SRV Texture3D;
  2281. D3D11_TEXCUBE_SRV TextureCube;
  2282. D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
  2283. D3D11_BUFFEREX_SRV BufferEx;
  2284. } ;
  2285. } D3D11_SHADER_RESOURCE_VIEW_DESC;
  2286. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  2287. }
  2288. struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC
  2289. {
  2290. CD3D11_SHADER_RESOURCE_VIEW_DESC()
  2291. {}
  2292. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC( const D3D11_SHADER_RESOURCE_VIEW_DESC& o ) :
  2293. D3D11_SHADER_RESOURCE_VIEW_DESC( o )
  2294. {}
  2295. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
  2296. D3D11_SRV_DIMENSION viewDimension,
  2297. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2298. UINT mostDetailedMip = 0, // FirstElement for BUFFER
  2299. UINT mipLevels = -1, // NumElements for BUFFER
  2300. UINT firstArraySlice = 0, // First2DArrayFace for TEXTURECUBEARRAY
  2301. UINT arraySize = -1, // NumCubes for TEXTURECUBEARRAY
  2302. UINT flags = 0 ) // BUFFEREX only
  2303. {
  2304. Format = format;
  2305. ViewDimension = viewDimension;
  2306. switch (viewDimension)
  2307. {
  2308. case D3D11_SRV_DIMENSION_BUFFER:
  2309. Buffer.FirstElement = mostDetailedMip;
  2310. Buffer.NumElements = mipLevels;
  2311. break;
  2312. case D3D11_SRV_DIMENSION_TEXTURE1D:
  2313. Texture1D.MostDetailedMip = mostDetailedMip;
  2314. Texture1D.MipLevels = mipLevels;
  2315. break;
  2316. case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:
  2317. Texture1DArray.MostDetailedMip = mostDetailedMip;
  2318. Texture1DArray.MipLevels = mipLevels;
  2319. Texture1DArray.FirstArraySlice = firstArraySlice;
  2320. Texture1DArray.ArraySize = arraySize;
  2321. break;
  2322. case D3D11_SRV_DIMENSION_TEXTURE2D:
  2323. Texture2D.MostDetailedMip = mostDetailedMip;
  2324. Texture2D.MipLevels = mipLevels;
  2325. break;
  2326. case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
  2327. Texture2DArray.MostDetailedMip = mostDetailedMip;
  2328. Texture2DArray.MipLevels = mipLevels;
  2329. Texture2DArray.FirstArraySlice = firstArraySlice;
  2330. Texture2DArray.ArraySize = arraySize;
  2331. break;
  2332. case D3D11_SRV_DIMENSION_TEXTURE2DMS:
  2333. break;
  2334. case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:
  2335. Texture2DMSArray.FirstArraySlice = firstArraySlice;
  2336. Texture2DMSArray.ArraySize = arraySize;
  2337. break;
  2338. case D3D11_SRV_DIMENSION_TEXTURE3D:
  2339. Texture3D.MostDetailedMip = mostDetailedMip;
  2340. Texture3D.MipLevels = mipLevels;
  2341. break;
  2342. case D3D11_SRV_DIMENSION_TEXTURECUBE:
  2343. TextureCube.MostDetailedMip = mostDetailedMip;
  2344. TextureCube.MipLevels = mipLevels;
  2345. break;
  2346. case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:
  2347. TextureCubeArray.MostDetailedMip = mostDetailedMip;
  2348. TextureCubeArray.MipLevels = mipLevels;
  2349. TextureCubeArray.First2DArrayFace = firstArraySlice;
  2350. TextureCubeArray.NumCubes = arraySize;
  2351. break;
  2352. case D3D11_SRV_DIMENSION_BUFFEREX:
  2353. BufferEx.FirstElement = mostDetailedMip;
  2354. BufferEx.NumElements = mipLevels;
  2355. BufferEx.Flags = flags;
  2356. break;
  2357. default: break;
  2358. }
  2359. }
  2360. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
  2361. __in ID3D11Buffer*,
  2362. DXGI_FORMAT format,
  2363. UINT firstElement,
  2364. UINT numElements,
  2365. UINT flags = 0 )
  2366. {
  2367. Format = format;
  2368. ViewDimension = D3D11_SRV_DIMENSION_BUFFEREX;
  2369. BufferEx.FirstElement = firstElement;
  2370. BufferEx.NumElements = numElements;
  2371. BufferEx.Flags = flags;
  2372. }
  2373. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
  2374. __in ID3D11Texture1D* pTex1D,
  2375. D3D11_SRV_DIMENSION viewDimension,
  2376. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2377. UINT mostDetailedMip = 0,
  2378. UINT mipLevels = -1,
  2379. UINT firstArraySlice = 0,
  2380. UINT arraySize = -1 )
  2381. {
  2382. ViewDimension = viewDimension;
  2383. if (DXGI_FORMAT_UNKNOWN == format || -1 == mipLevels ||
  2384. (-1 == arraySize && D3D11_SRV_DIMENSION_TEXTURE1DARRAY == viewDimension))
  2385. {
  2386. D3D11_TEXTURE1D_DESC TexDesc;
  2387. pTex1D->GetDesc( &TexDesc );
  2388. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  2389. if (-1 == mipLevels) mipLevels = TexDesc.MipLevels - mostDetailedMip;
  2390. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  2391. }
  2392. Format = format;
  2393. switch (viewDimension)
  2394. {
  2395. case D3D11_SRV_DIMENSION_TEXTURE1D:
  2396. Texture1D.MostDetailedMip = mostDetailedMip;
  2397. Texture1D.MipLevels = mipLevels;
  2398. break;
  2399. case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:
  2400. Texture1DArray.MostDetailedMip = mostDetailedMip;
  2401. Texture1DArray.MipLevels = mipLevels;
  2402. Texture1DArray.FirstArraySlice = firstArraySlice;
  2403. Texture1DArray.ArraySize = arraySize;
  2404. break;
  2405. default: break;
  2406. }
  2407. }
  2408. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
  2409. __in ID3D11Texture2D* pTex2D,
  2410. D3D11_SRV_DIMENSION viewDimension,
  2411. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2412. UINT mostDetailedMip = 0,
  2413. UINT mipLevels = -1,
  2414. UINT firstArraySlice = 0, // First2DArrayFace for TEXTURECUBEARRAY
  2415. UINT arraySize = -1 ) // NumCubes for TEXTURECUBEARRAY
  2416. {
  2417. ViewDimension = viewDimension;
  2418. if (DXGI_FORMAT_UNKNOWN == format ||
  2419. (-1 == mipLevels &&
  2420. D3D11_SRV_DIMENSION_TEXTURE2DMS != viewDimension &&
  2421. D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY != viewDimension) ||
  2422. (-1 == arraySize &&
  2423. (D3D11_SRV_DIMENSION_TEXTURE2DARRAY == viewDimension ||
  2424. D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY == viewDimension ||
  2425. D3D11_SRV_DIMENSION_TEXTURECUBEARRAY == viewDimension)))
  2426. {
  2427. D3D11_TEXTURE2D_DESC TexDesc;
  2428. pTex2D->GetDesc( &TexDesc );
  2429. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  2430. if (-1 == mipLevels) mipLevels = TexDesc.MipLevels - mostDetailedMip;
  2431. if (-1 == arraySize)
  2432. {
  2433. arraySize = TexDesc.ArraySize - firstArraySlice;
  2434. if (D3D11_SRV_DIMENSION_TEXTURECUBEARRAY == viewDimension) arraySize /= 6;
  2435. }
  2436. }
  2437. Format = format;
  2438. switch (viewDimension)
  2439. {
  2440. case D3D11_SRV_DIMENSION_TEXTURE2D:
  2441. Texture2D.MostDetailedMip = mostDetailedMip;
  2442. Texture2D.MipLevels = mipLevels;
  2443. break;
  2444. case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
  2445. Texture2DArray.MostDetailedMip = mostDetailedMip;
  2446. Texture2DArray.MipLevels = mipLevels;
  2447. Texture2DArray.FirstArraySlice = firstArraySlice;
  2448. Texture2DArray.ArraySize = arraySize;
  2449. break;
  2450. case D3D11_SRV_DIMENSION_TEXTURE2DMS:
  2451. break;
  2452. case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:
  2453. Texture2DMSArray.FirstArraySlice = firstArraySlice;
  2454. Texture2DMSArray.ArraySize = arraySize;
  2455. break;
  2456. case D3D11_SRV_DIMENSION_TEXTURECUBE:
  2457. TextureCube.MostDetailedMip = mostDetailedMip;
  2458. TextureCube.MipLevels = mipLevels;
  2459. break;
  2460. case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:
  2461. TextureCubeArray.MostDetailedMip = mostDetailedMip;
  2462. TextureCubeArray.MipLevels = mipLevels;
  2463. TextureCubeArray.First2DArrayFace = firstArraySlice;
  2464. TextureCubeArray.NumCubes = arraySize;
  2465. break;
  2466. default: break;
  2467. }
  2468. }
  2469. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
  2470. __in ID3D11Texture3D* pTex3D,
  2471. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2472. UINT mostDetailedMip = 0,
  2473. UINT mipLevels = -1 )
  2474. {
  2475. ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D;
  2476. if (DXGI_FORMAT_UNKNOWN == format || -1 == mipLevels)
  2477. {
  2478. D3D11_TEXTURE3D_DESC TexDesc;
  2479. pTex3D->GetDesc( &TexDesc );
  2480. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  2481. if (-1 == mipLevels) mipLevels = TexDesc.MipLevels - mostDetailedMip;
  2482. }
  2483. Format = format;
  2484. Texture3D.MostDetailedMip = mostDetailedMip;
  2485. Texture3D.MipLevels = mipLevels;
  2486. }
  2487. ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}
  2488. operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const { return *this; }
  2489. };
  2490. extern "C"{
  2491. #endif
  2492. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0010_v0_0_c_ifspec;
  2493. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0010_v0_0_s_ifspec;
  2494. #ifndef __ID3D11ShaderResourceView_INTERFACE_DEFINED__
  2495. #define __ID3D11ShaderResourceView_INTERFACE_DEFINED__
  2496. /* interface ID3D11ShaderResourceView */
  2497. /* [unique][local][object][uuid] */
  2498. EXTERN_C const IID IID_ID3D11ShaderResourceView;
  2499. #if defined(__cplusplus) && !defined(CINTERFACE)
  2500. MIDL_INTERFACE("b0e06fe0-8192-4e1a-b1ca-36d7414710b2")
  2501. ID3D11ShaderResourceView : public ID3D11View
  2502. {
  2503. public:
  2504. virtual void STDMETHODCALLTYPE GetDesc(
  2505. /* [annotation] */
  2506. __out D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
  2507. };
  2508. #else /* C style interface */
  2509. typedef struct ID3D11ShaderResourceViewVtbl
  2510. {
  2511. BEGIN_INTERFACE
  2512. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2513. ID3D11ShaderResourceView * This,
  2514. /* [in] */ REFIID riid,
  2515. /* [annotation][iid_is][out] */
  2516. __RPC__deref_out void **ppvObject);
  2517. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2518. ID3D11ShaderResourceView * This);
  2519. ULONG ( STDMETHODCALLTYPE *Release )(
  2520. ID3D11ShaderResourceView * This);
  2521. void ( STDMETHODCALLTYPE *GetDevice )(
  2522. ID3D11ShaderResourceView * This,
  2523. /* [annotation] */
  2524. __out ID3D11Device **ppDevice);
  2525. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2526. ID3D11ShaderResourceView * This,
  2527. /* [annotation] */
  2528. __in REFGUID guid,
  2529. /* [annotation] */
  2530. __inout UINT *pDataSize,
  2531. /* [annotation] */
  2532. __out_bcount_opt( *pDataSize ) void *pData);
  2533. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2534. ID3D11ShaderResourceView * This,
  2535. /* [annotation] */
  2536. __in REFGUID guid,
  2537. /* [annotation] */
  2538. __in UINT DataSize,
  2539. /* [annotation] */
  2540. __in_bcount_opt( DataSize ) const void *pData);
  2541. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2542. ID3D11ShaderResourceView * This,
  2543. /* [annotation] */
  2544. __in REFGUID guid,
  2545. /* [annotation] */
  2546. __in_opt const IUnknown *pData);
  2547. void ( STDMETHODCALLTYPE *GetResource )(
  2548. ID3D11ShaderResourceView * This,
  2549. /* [annotation] */
  2550. __out ID3D11Resource **ppResource);
  2551. void ( STDMETHODCALLTYPE *GetDesc )(
  2552. ID3D11ShaderResourceView * This,
  2553. /* [annotation] */
  2554. __out D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
  2555. END_INTERFACE
  2556. } ID3D11ShaderResourceViewVtbl;
  2557. interface ID3D11ShaderResourceView
  2558. {
  2559. CONST_VTBL struct ID3D11ShaderResourceViewVtbl *lpVtbl;
  2560. };
  2561. #ifdef COBJMACROS
  2562. #define ID3D11ShaderResourceView_QueryInterface(This,riid,ppvObject) \
  2563. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2564. #define ID3D11ShaderResourceView_AddRef(This) \
  2565. ( (This)->lpVtbl -> AddRef(This) )
  2566. #define ID3D11ShaderResourceView_Release(This) \
  2567. ( (This)->lpVtbl -> Release(This) )
  2568. #define ID3D11ShaderResourceView_GetDevice(This,ppDevice) \
  2569. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2570. #define ID3D11ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) \
  2571. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2572. #define ID3D11ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) \
  2573. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2574. #define ID3D11ShaderResourceView_SetPrivateDataInterface(This,guid,pData) \
  2575. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2576. #define ID3D11ShaderResourceView_GetResource(This,ppResource) \
  2577. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2578. #define ID3D11ShaderResourceView_GetDesc(This,pDesc) \
  2579. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2580. #endif /* COBJMACROS */
  2581. #endif /* C style interface */
  2582. #endif /* __ID3D11ShaderResourceView_INTERFACE_DEFINED__ */
  2583. /* interface __MIDL_itf_d3d11_0000_0011 */
  2584. /* [local] */
  2585. typedef struct D3D11_BUFFER_RTV
  2586. {
  2587. union
  2588. {
  2589. UINT FirstElement;
  2590. UINT ElementOffset;
  2591. } ;
  2592. union
  2593. {
  2594. UINT NumElements;
  2595. UINT ElementWidth;
  2596. } ;
  2597. } D3D11_BUFFER_RTV;
  2598. typedef struct D3D11_TEX1D_RTV
  2599. {
  2600. UINT MipSlice;
  2601. } D3D11_TEX1D_RTV;
  2602. typedef struct D3D11_TEX1D_ARRAY_RTV
  2603. {
  2604. UINT MipSlice;
  2605. UINT FirstArraySlice;
  2606. UINT ArraySize;
  2607. } D3D11_TEX1D_ARRAY_RTV;
  2608. typedef struct D3D11_TEX2D_RTV
  2609. {
  2610. UINT MipSlice;
  2611. } D3D11_TEX2D_RTV;
  2612. typedef struct D3D11_TEX2DMS_RTV
  2613. {
  2614. UINT UnusedField_NothingToDefine;
  2615. } D3D11_TEX2DMS_RTV;
  2616. typedef struct D3D11_TEX2D_ARRAY_RTV
  2617. {
  2618. UINT MipSlice;
  2619. UINT FirstArraySlice;
  2620. UINT ArraySize;
  2621. } D3D11_TEX2D_ARRAY_RTV;
  2622. typedef struct D3D11_TEX2DMS_ARRAY_RTV
  2623. {
  2624. UINT FirstArraySlice;
  2625. UINT ArraySize;
  2626. } D3D11_TEX2DMS_ARRAY_RTV;
  2627. typedef struct D3D11_TEX3D_RTV
  2628. {
  2629. UINT MipSlice;
  2630. UINT FirstWSlice;
  2631. UINT WSize;
  2632. } D3D11_TEX3D_RTV;
  2633. typedef struct D3D11_RENDER_TARGET_VIEW_DESC
  2634. {
  2635. DXGI_FORMAT Format;
  2636. D3D11_RTV_DIMENSION ViewDimension;
  2637. union
  2638. {
  2639. D3D11_BUFFER_RTV Buffer;
  2640. D3D11_TEX1D_RTV Texture1D;
  2641. D3D11_TEX1D_ARRAY_RTV Texture1DArray;
  2642. D3D11_TEX2D_RTV Texture2D;
  2643. D3D11_TEX2D_ARRAY_RTV Texture2DArray;
  2644. D3D11_TEX2DMS_RTV Texture2DMS;
  2645. D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
  2646. D3D11_TEX3D_RTV Texture3D;
  2647. } ;
  2648. } D3D11_RENDER_TARGET_VIEW_DESC;
  2649. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  2650. }
  2651. struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC
  2652. {
  2653. CD3D11_RENDER_TARGET_VIEW_DESC()
  2654. {}
  2655. explicit CD3D11_RENDER_TARGET_VIEW_DESC( const D3D11_RENDER_TARGET_VIEW_DESC& o ) :
  2656. D3D11_RENDER_TARGET_VIEW_DESC( o )
  2657. {}
  2658. explicit CD3D11_RENDER_TARGET_VIEW_DESC(
  2659. D3D11_RTV_DIMENSION viewDimension,
  2660. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2661. UINT mipSlice = 0, // FirstElement for BUFFER
  2662. UINT firstArraySlice = 0, // NumElements for BUFFER, FirstWSlice for TEXTURE3D
  2663. UINT arraySize = -1 ) // WSize for TEXTURE3D
  2664. {
  2665. Format = format;
  2666. ViewDimension = viewDimension;
  2667. switch (viewDimension)
  2668. {
  2669. case D3D11_RTV_DIMENSION_BUFFER:
  2670. Buffer.FirstElement = mipSlice;
  2671. Buffer.NumElements = firstArraySlice;
  2672. break;
  2673. case D3D11_RTV_DIMENSION_TEXTURE1D:
  2674. Texture1D.MipSlice = mipSlice;
  2675. break;
  2676. case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
  2677. Texture1DArray.MipSlice = mipSlice;
  2678. Texture1DArray.FirstArraySlice = firstArraySlice;
  2679. Texture1DArray.ArraySize = arraySize;
  2680. break;
  2681. case D3D11_RTV_DIMENSION_TEXTURE2D:
  2682. Texture2D.MipSlice = mipSlice;
  2683. break;
  2684. case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
  2685. Texture2DArray.MipSlice = mipSlice;
  2686. Texture2DArray.FirstArraySlice = firstArraySlice;
  2687. Texture2DArray.ArraySize = arraySize;
  2688. break;
  2689. case D3D11_RTV_DIMENSION_TEXTURE2DMS:
  2690. break;
  2691. case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
  2692. Texture2DMSArray.FirstArraySlice = firstArraySlice;
  2693. Texture2DMSArray.ArraySize = arraySize;
  2694. break;
  2695. case D3D11_RTV_DIMENSION_TEXTURE3D:
  2696. Texture3D.MipSlice = mipSlice;
  2697. Texture3D.FirstWSlice = firstArraySlice;
  2698. Texture3D.WSize = arraySize;
  2699. break;
  2700. default: break;
  2701. }
  2702. }
  2703. explicit CD3D11_RENDER_TARGET_VIEW_DESC(
  2704. __in ID3D11Buffer*,
  2705. DXGI_FORMAT format,
  2706. UINT firstElement,
  2707. UINT numElements )
  2708. {
  2709. Format = format;
  2710. ViewDimension = D3D11_RTV_DIMENSION_BUFFER;
  2711. Buffer.FirstElement = firstElement;
  2712. Buffer.NumElements = numElements;
  2713. }
  2714. explicit CD3D11_RENDER_TARGET_VIEW_DESC(
  2715. __in ID3D11Texture1D* pTex1D,
  2716. D3D11_RTV_DIMENSION viewDimension,
  2717. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2718. UINT mipSlice = 0,
  2719. UINT firstArraySlice = 0,
  2720. UINT arraySize = -1 )
  2721. {
  2722. ViewDimension = viewDimension;
  2723. if (DXGI_FORMAT_UNKNOWN == format ||
  2724. (-1 == arraySize && D3D11_RTV_DIMENSION_TEXTURE1DARRAY == viewDimension))
  2725. {
  2726. D3D11_TEXTURE1D_DESC TexDesc;
  2727. pTex1D->GetDesc( &TexDesc );
  2728. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  2729. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  2730. }
  2731. Format = format;
  2732. switch (viewDimension)
  2733. {
  2734. case D3D11_RTV_DIMENSION_TEXTURE1D:
  2735. Texture1D.MipSlice = mipSlice;
  2736. break;
  2737. case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
  2738. Texture1DArray.MipSlice = mipSlice;
  2739. Texture1DArray.FirstArraySlice = firstArraySlice;
  2740. Texture1DArray.ArraySize = arraySize;
  2741. break;
  2742. default: break;
  2743. }
  2744. }
  2745. explicit CD3D11_RENDER_TARGET_VIEW_DESC(
  2746. __in ID3D11Texture2D* pTex2D,
  2747. D3D11_RTV_DIMENSION viewDimension,
  2748. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2749. UINT mipSlice = 0,
  2750. UINT firstArraySlice = 0,
  2751. UINT arraySize = -1 )
  2752. {
  2753. ViewDimension = viewDimension;
  2754. if (DXGI_FORMAT_UNKNOWN == format ||
  2755. (-1 == arraySize &&
  2756. (D3D11_RTV_DIMENSION_TEXTURE2DARRAY == viewDimension ||
  2757. D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY == viewDimension)))
  2758. {
  2759. D3D11_TEXTURE2D_DESC TexDesc;
  2760. pTex2D->GetDesc( &TexDesc );
  2761. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  2762. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  2763. }
  2764. Format = format;
  2765. switch (viewDimension)
  2766. {
  2767. case D3D11_RTV_DIMENSION_TEXTURE2D:
  2768. Texture2D.MipSlice = mipSlice;
  2769. break;
  2770. case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
  2771. Texture2DArray.MipSlice = mipSlice;
  2772. Texture2DArray.FirstArraySlice = firstArraySlice;
  2773. Texture2DArray.ArraySize = arraySize;
  2774. break;
  2775. case D3D11_RTV_DIMENSION_TEXTURE2DMS:
  2776. break;
  2777. case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
  2778. Texture2DMSArray.FirstArraySlice = firstArraySlice;
  2779. Texture2DMSArray.ArraySize = arraySize;
  2780. break;
  2781. default: break;
  2782. }
  2783. }
  2784. explicit CD3D11_RENDER_TARGET_VIEW_DESC(
  2785. __in ID3D11Texture3D* pTex3D,
  2786. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  2787. UINT mipSlice = 0,
  2788. UINT firstWSlice = 0,
  2789. UINT wSize = -1 )
  2790. {
  2791. ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D;
  2792. if (DXGI_FORMAT_UNKNOWN == format || -1 == wSize)
  2793. {
  2794. D3D11_TEXTURE3D_DESC TexDesc;
  2795. pTex3D->GetDesc( &TexDesc );
  2796. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  2797. if (-1 == wSize) wSize = TexDesc.Depth - firstWSlice;
  2798. }
  2799. Format = format;
  2800. Texture3D.MipSlice = mipSlice;
  2801. Texture3D.FirstWSlice = firstWSlice;
  2802. Texture3D.WSize = wSize;
  2803. }
  2804. ~CD3D11_RENDER_TARGET_VIEW_DESC() {}
  2805. operator const D3D11_RENDER_TARGET_VIEW_DESC&() const { return *this; }
  2806. };
  2807. extern "C"{
  2808. #endif
  2809. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0011_v0_0_c_ifspec;
  2810. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0011_v0_0_s_ifspec;
  2811. #ifndef __ID3D11RenderTargetView_INTERFACE_DEFINED__
  2812. #define __ID3D11RenderTargetView_INTERFACE_DEFINED__
  2813. /* interface ID3D11RenderTargetView */
  2814. /* [unique][local][object][uuid] */
  2815. EXTERN_C const IID IID_ID3D11RenderTargetView;
  2816. #if defined(__cplusplus) && !defined(CINTERFACE)
  2817. MIDL_INTERFACE("dfdba067-0b8d-4865-875b-d7b4516cc164")
  2818. ID3D11RenderTargetView : public ID3D11View
  2819. {
  2820. public:
  2821. virtual void STDMETHODCALLTYPE GetDesc(
  2822. /* [annotation] */
  2823. __out D3D11_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
  2824. };
  2825. #else /* C style interface */
  2826. typedef struct ID3D11RenderTargetViewVtbl
  2827. {
  2828. BEGIN_INTERFACE
  2829. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2830. ID3D11RenderTargetView * This,
  2831. /* [in] */ REFIID riid,
  2832. /* [annotation][iid_is][out] */
  2833. __RPC__deref_out void **ppvObject);
  2834. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2835. ID3D11RenderTargetView * This);
  2836. ULONG ( STDMETHODCALLTYPE *Release )(
  2837. ID3D11RenderTargetView * This);
  2838. void ( STDMETHODCALLTYPE *GetDevice )(
  2839. ID3D11RenderTargetView * This,
  2840. /* [annotation] */
  2841. __out ID3D11Device **ppDevice);
  2842. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2843. ID3D11RenderTargetView * This,
  2844. /* [annotation] */
  2845. __in REFGUID guid,
  2846. /* [annotation] */
  2847. __inout UINT *pDataSize,
  2848. /* [annotation] */
  2849. __out_bcount_opt( *pDataSize ) void *pData);
  2850. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2851. ID3D11RenderTargetView * This,
  2852. /* [annotation] */
  2853. __in REFGUID guid,
  2854. /* [annotation] */
  2855. __in UINT DataSize,
  2856. /* [annotation] */
  2857. __in_bcount_opt( DataSize ) const void *pData);
  2858. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2859. ID3D11RenderTargetView * This,
  2860. /* [annotation] */
  2861. __in REFGUID guid,
  2862. /* [annotation] */
  2863. __in_opt const IUnknown *pData);
  2864. void ( STDMETHODCALLTYPE *GetResource )(
  2865. ID3D11RenderTargetView * This,
  2866. /* [annotation] */
  2867. __out ID3D11Resource **ppResource);
  2868. void ( STDMETHODCALLTYPE *GetDesc )(
  2869. ID3D11RenderTargetView * This,
  2870. /* [annotation] */
  2871. __out D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
  2872. END_INTERFACE
  2873. } ID3D11RenderTargetViewVtbl;
  2874. interface ID3D11RenderTargetView
  2875. {
  2876. CONST_VTBL struct ID3D11RenderTargetViewVtbl *lpVtbl;
  2877. };
  2878. #ifdef COBJMACROS
  2879. #define ID3D11RenderTargetView_QueryInterface(This,riid,ppvObject) \
  2880. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2881. #define ID3D11RenderTargetView_AddRef(This) \
  2882. ( (This)->lpVtbl -> AddRef(This) )
  2883. #define ID3D11RenderTargetView_Release(This) \
  2884. ( (This)->lpVtbl -> Release(This) )
  2885. #define ID3D11RenderTargetView_GetDevice(This,ppDevice) \
  2886. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2887. #define ID3D11RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) \
  2888. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2889. #define ID3D11RenderTargetView_SetPrivateData(This,guid,DataSize,pData) \
  2890. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2891. #define ID3D11RenderTargetView_SetPrivateDataInterface(This,guid,pData) \
  2892. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2893. #define ID3D11RenderTargetView_GetResource(This,ppResource) \
  2894. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2895. #define ID3D11RenderTargetView_GetDesc(This,pDesc) \
  2896. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2897. #endif /* COBJMACROS */
  2898. #endif /* C style interface */
  2899. #endif /* __ID3D11RenderTargetView_INTERFACE_DEFINED__ */
  2900. /* interface __MIDL_itf_d3d11_0000_0012 */
  2901. /* [local] */
  2902. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  2903. }
  2904. struct CD3D11_VIEWPORT : public D3D11_VIEWPORT
  2905. {
  2906. CD3D11_VIEWPORT()
  2907. {}
  2908. explicit CD3D11_VIEWPORT( const D3D11_VIEWPORT& o ) :
  2909. D3D11_VIEWPORT( o )
  2910. {}
  2911. explicit CD3D11_VIEWPORT(
  2912. FLOAT topLeftX,
  2913. FLOAT topLeftY,
  2914. FLOAT width,
  2915. FLOAT height,
  2916. FLOAT minDepth = D3D11_MIN_DEPTH,
  2917. FLOAT maxDepth = D3D11_MAX_DEPTH )
  2918. {
  2919. TopLeftX = topLeftX;
  2920. TopLeftY = topLeftY;
  2921. Width = width;
  2922. Height = height;
  2923. MinDepth = minDepth;
  2924. MaxDepth = maxDepth;
  2925. }
  2926. explicit CD3D11_VIEWPORT(
  2927. __in ID3D11Buffer*,
  2928. __in ID3D11RenderTargetView* pRTView,
  2929. FLOAT topLeftX = 0.0f,
  2930. FLOAT minDepth = D3D11_MIN_DEPTH,
  2931. FLOAT maxDepth = D3D11_MAX_DEPTH )
  2932. {
  2933. D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
  2934. pRTView->GetDesc( &RTVDesc );
  2935. UINT NumElements = 0;
  2936. switch (RTVDesc.ViewDimension)
  2937. {
  2938. case D3D11_RTV_DIMENSION_BUFFER:
  2939. NumElements = RTVDesc.Buffer.NumElements;
  2940. break;
  2941. default: break;
  2942. }
  2943. TopLeftX = topLeftX;
  2944. TopLeftY = 0.0f;
  2945. Width = NumElements - topLeftX;
  2946. Height = 1.0f;
  2947. MinDepth = minDepth;
  2948. MaxDepth = maxDepth;
  2949. }
  2950. explicit CD3D11_VIEWPORT(
  2951. __in ID3D11Texture1D* pTex1D,
  2952. __in ID3D11RenderTargetView* pRTView,
  2953. FLOAT topLeftX = 0.0f,
  2954. FLOAT minDepth = D3D11_MIN_DEPTH,
  2955. FLOAT maxDepth = D3D11_MAX_DEPTH )
  2956. {
  2957. D3D11_TEXTURE1D_DESC TexDesc;
  2958. pTex1D->GetDesc( &TexDesc );
  2959. D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
  2960. pRTView->GetDesc( &RTVDesc );
  2961. UINT MipSlice = 0;
  2962. switch (RTVDesc.ViewDimension)
  2963. {
  2964. case D3D11_RTV_DIMENSION_TEXTURE1D:
  2965. MipSlice = RTVDesc.Texture1D.MipSlice;
  2966. break;
  2967. case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
  2968. MipSlice = RTVDesc.Texture1DArray.MipSlice;
  2969. break;
  2970. default: break;
  2971. }
  2972. const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
  2973. TopLeftX = topLeftX;
  2974. TopLeftY = 0.0f;
  2975. Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
  2976. Height = 1.0f;
  2977. MinDepth = minDepth;
  2978. MaxDepth = maxDepth;
  2979. }
  2980. explicit CD3D11_VIEWPORT(
  2981. __in ID3D11Texture2D* pTex2D,
  2982. __in ID3D11RenderTargetView* pRTView,
  2983. FLOAT topLeftX = 0.0f,
  2984. FLOAT topLeftY = 0.0f,
  2985. FLOAT minDepth = D3D11_MIN_DEPTH,
  2986. FLOAT maxDepth = D3D11_MAX_DEPTH )
  2987. {
  2988. D3D11_TEXTURE2D_DESC TexDesc;
  2989. pTex2D->GetDesc( &TexDesc );
  2990. D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
  2991. pRTView->GetDesc( &RTVDesc );
  2992. UINT MipSlice = 0;
  2993. switch (RTVDesc.ViewDimension)
  2994. {
  2995. case D3D11_RTV_DIMENSION_TEXTURE2D:
  2996. MipSlice = RTVDesc.Texture2D.MipSlice;
  2997. break;
  2998. case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
  2999. MipSlice = RTVDesc.Texture2DArray.MipSlice;
  3000. break;
  3001. case D3D11_RTV_DIMENSION_TEXTURE2DMS:
  3002. case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
  3003. break;
  3004. default: break;
  3005. }
  3006. const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
  3007. const UINT SubResourceHeight = TexDesc.Height / (UINT( 1 ) << MipSlice);
  3008. TopLeftX = topLeftX;
  3009. TopLeftY = topLeftY;
  3010. Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
  3011. Height = (SubResourceHeight ? SubResourceHeight : 1) - topLeftY;
  3012. MinDepth = minDepth;
  3013. MaxDepth = maxDepth;
  3014. }
  3015. explicit CD3D11_VIEWPORT(
  3016. __in ID3D11Texture3D* pTex3D,
  3017. __in ID3D11RenderTargetView* pRTView,
  3018. FLOAT topLeftX = 0.0f,
  3019. FLOAT topLeftY = 0.0f,
  3020. FLOAT minDepth = D3D11_MIN_DEPTH,
  3021. FLOAT maxDepth = D3D11_MAX_DEPTH )
  3022. {
  3023. D3D11_TEXTURE3D_DESC TexDesc;
  3024. pTex3D->GetDesc( &TexDesc );
  3025. D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
  3026. pRTView->GetDesc( &RTVDesc );
  3027. UINT MipSlice = 0;
  3028. switch (RTVDesc.ViewDimension)
  3029. {
  3030. case D3D11_RTV_DIMENSION_TEXTURE3D:
  3031. MipSlice = RTVDesc.Texture3D.MipSlice;
  3032. break;
  3033. default: break;
  3034. }
  3035. const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
  3036. const UINT SubResourceHeight = TexDesc.Height / (UINT( 1 ) << MipSlice);
  3037. TopLeftX = topLeftX;
  3038. TopLeftY = topLeftY;
  3039. Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
  3040. Height = (SubResourceHeight ? SubResourceHeight : 1) - topLeftY;
  3041. MinDepth = minDepth;
  3042. MaxDepth = maxDepth;
  3043. }
  3044. ~CD3D11_VIEWPORT() {}
  3045. operator const D3D11_VIEWPORT&() const { return *this; }
  3046. };
  3047. extern "C"{
  3048. #endif
  3049. typedef struct D3D11_TEX1D_DSV
  3050. {
  3051. UINT MipSlice;
  3052. } D3D11_TEX1D_DSV;
  3053. typedef struct D3D11_TEX1D_ARRAY_DSV
  3054. {
  3055. UINT MipSlice;
  3056. UINT FirstArraySlice;
  3057. UINT ArraySize;
  3058. } D3D11_TEX1D_ARRAY_DSV;
  3059. typedef struct D3D11_TEX2D_DSV
  3060. {
  3061. UINT MipSlice;
  3062. } D3D11_TEX2D_DSV;
  3063. typedef struct D3D11_TEX2D_ARRAY_DSV
  3064. {
  3065. UINT MipSlice;
  3066. UINT FirstArraySlice;
  3067. UINT ArraySize;
  3068. } D3D11_TEX2D_ARRAY_DSV;
  3069. typedef struct D3D11_TEX2DMS_DSV
  3070. {
  3071. UINT UnusedField_NothingToDefine;
  3072. } D3D11_TEX2DMS_DSV;
  3073. typedef struct D3D11_TEX2DMS_ARRAY_DSV
  3074. {
  3075. UINT FirstArraySlice;
  3076. UINT ArraySize;
  3077. } D3D11_TEX2DMS_ARRAY_DSV;
  3078. typedef
  3079. enum D3D11_DSV_FLAG
  3080. { D3D11_DSV_READ_ONLY_DEPTH = 0x1L,
  3081. D3D11_DSV_READ_ONLY_STENCIL = 0x2L
  3082. } D3D11_DSV_FLAG;
  3083. typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
  3084. {
  3085. DXGI_FORMAT Format;
  3086. D3D11_DSV_DIMENSION ViewDimension;
  3087. UINT Flags;
  3088. union
  3089. {
  3090. D3D11_TEX1D_DSV Texture1D;
  3091. D3D11_TEX1D_ARRAY_DSV Texture1DArray;
  3092. D3D11_TEX2D_DSV Texture2D;
  3093. D3D11_TEX2D_ARRAY_DSV Texture2DArray;
  3094. D3D11_TEX2DMS_DSV Texture2DMS;
  3095. D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
  3096. } ;
  3097. } D3D11_DEPTH_STENCIL_VIEW_DESC;
  3098. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  3099. }
  3100. struct CD3D11_DEPTH_STENCIL_VIEW_DESC : public D3D11_DEPTH_STENCIL_VIEW_DESC
  3101. {
  3102. CD3D11_DEPTH_STENCIL_VIEW_DESC()
  3103. {}
  3104. explicit CD3D11_DEPTH_STENCIL_VIEW_DESC( const D3D11_DEPTH_STENCIL_VIEW_DESC& o ) :
  3105. D3D11_DEPTH_STENCIL_VIEW_DESC( o )
  3106. {}
  3107. explicit CD3D11_DEPTH_STENCIL_VIEW_DESC(
  3108. D3D11_DSV_DIMENSION viewDimension,
  3109. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3110. UINT mipSlice = 0,
  3111. UINT firstArraySlice = 0,
  3112. UINT arraySize = -1,
  3113. UINT flags = 0 )
  3114. {
  3115. Format = format;
  3116. ViewDimension = viewDimension;
  3117. Flags = flags;
  3118. switch (viewDimension)
  3119. {
  3120. case D3D11_DSV_DIMENSION_TEXTURE1D:
  3121. Texture1D.MipSlice = mipSlice;
  3122. break;
  3123. case D3D11_DSV_DIMENSION_TEXTURE1DARRAY:
  3124. Texture1DArray.MipSlice = mipSlice;
  3125. Texture1DArray.FirstArraySlice = firstArraySlice;
  3126. Texture1DArray.ArraySize = arraySize;
  3127. break;
  3128. case D3D11_DSV_DIMENSION_TEXTURE2D:
  3129. Texture2D.MipSlice = mipSlice;
  3130. break;
  3131. case D3D11_DSV_DIMENSION_TEXTURE2DARRAY:
  3132. Texture2DArray.MipSlice = mipSlice;
  3133. Texture2DArray.FirstArraySlice = firstArraySlice;
  3134. Texture2DArray.ArraySize = arraySize;
  3135. break;
  3136. case D3D11_DSV_DIMENSION_TEXTURE2DMS:
  3137. break;
  3138. case D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY:
  3139. Texture2DMSArray.FirstArraySlice = firstArraySlice;
  3140. Texture2DMSArray.ArraySize = arraySize;
  3141. break;
  3142. default: break;
  3143. }
  3144. }
  3145. explicit CD3D11_DEPTH_STENCIL_VIEW_DESC(
  3146. __in ID3D11Texture1D* pTex1D,
  3147. D3D11_DSV_DIMENSION viewDimension,
  3148. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3149. UINT mipSlice = 0,
  3150. UINT firstArraySlice = 0,
  3151. UINT arraySize = -1,
  3152. UINT flags = 0 )
  3153. {
  3154. ViewDimension = viewDimension;
  3155. Flags = flags;
  3156. if (DXGI_FORMAT_UNKNOWN == format ||
  3157. (-1 == arraySize && D3D11_DSV_DIMENSION_TEXTURE1DARRAY == viewDimension))
  3158. {
  3159. D3D11_TEXTURE1D_DESC TexDesc;
  3160. pTex1D->GetDesc( &TexDesc );
  3161. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  3162. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  3163. }
  3164. Format = format;
  3165. switch (viewDimension)
  3166. {
  3167. case D3D11_DSV_DIMENSION_TEXTURE1D:
  3168. Texture1D.MipSlice = mipSlice;
  3169. break;
  3170. case D3D11_DSV_DIMENSION_TEXTURE1DARRAY:
  3171. Texture1DArray.MipSlice = mipSlice;
  3172. Texture1DArray.FirstArraySlice = firstArraySlice;
  3173. Texture1DArray.ArraySize = arraySize;
  3174. break;
  3175. default: break;
  3176. }
  3177. }
  3178. explicit CD3D11_DEPTH_STENCIL_VIEW_DESC(
  3179. __in ID3D11Texture2D* pTex2D,
  3180. D3D11_DSV_DIMENSION viewDimension,
  3181. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3182. UINT mipSlice = 0,
  3183. UINT firstArraySlice = 0,
  3184. UINT arraySize = -1,
  3185. UINT flags = 0 )
  3186. {
  3187. ViewDimension = viewDimension;
  3188. Flags = flags;
  3189. if (DXGI_FORMAT_UNKNOWN == format ||
  3190. (-1 == arraySize &&
  3191. (D3D11_DSV_DIMENSION_TEXTURE2DARRAY == viewDimension ||
  3192. D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY == viewDimension)))
  3193. {
  3194. D3D11_TEXTURE2D_DESC TexDesc;
  3195. pTex2D->GetDesc( &TexDesc );
  3196. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  3197. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  3198. }
  3199. Format = format;
  3200. switch (viewDimension)
  3201. {
  3202. case D3D11_DSV_DIMENSION_TEXTURE2D:
  3203. Texture2D.MipSlice = mipSlice;
  3204. break;
  3205. case D3D11_DSV_DIMENSION_TEXTURE2DARRAY:
  3206. Texture2DArray.MipSlice = mipSlice;
  3207. Texture2DArray.FirstArraySlice = firstArraySlice;
  3208. Texture2DArray.ArraySize = arraySize;
  3209. break;
  3210. case D3D11_DSV_DIMENSION_TEXTURE2DMS:
  3211. break;
  3212. case D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY:
  3213. Texture2DMSArray.FirstArraySlice = firstArraySlice;
  3214. Texture2DMSArray.ArraySize = arraySize;
  3215. break;
  3216. default: break;
  3217. }
  3218. }
  3219. ~CD3D11_DEPTH_STENCIL_VIEW_DESC() {}
  3220. operator const D3D11_DEPTH_STENCIL_VIEW_DESC&() const { return *this; }
  3221. };
  3222. extern "C"{
  3223. #endif
  3224. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0012_v0_0_c_ifspec;
  3225. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0012_v0_0_s_ifspec;
  3226. #ifndef __ID3D11DepthStencilView_INTERFACE_DEFINED__
  3227. #define __ID3D11DepthStencilView_INTERFACE_DEFINED__
  3228. /* interface ID3D11DepthStencilView */
  3229. /* [unique][local][object][uuid] */
  3230. EXTERN_C const IID IID_ID3D11DepthStencilView;
  3231. #if defined(__cplusplus) && !defined(CINTERFACE)
  3232. MIDL_INTERFACE("9fdac92a-1876-48c3-afad-25b94f84a9b6")
  3233. ID3D11DepthStencilView : public ID3D11View
  3234. {
  3235. public:
  3236. virtual void STDMETHODCALLTYPE GetDesc(
  3237. /* [annotation] */
  3238. __out D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
  3239. };
  3240. #else /* C style interface */
  3241. typedef struct ID3D11DepthStencilViewVtbl
  3242. {
  3243. BEGIN_INTERFACE
  3244. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3245. ID3D11DepthStencilView * This,
  3246. /* [in] */ REFIID riid,
  3247. /* [annotation][iid_is][out] */
  3248. __RPC__deref_out void **ppvObject);
  3249. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3250. ID3D11DepthStencilView * This);
  3251. ULONG ( STDMETHODCALLTYPE *Release )(
  3252. ID3D11DepthStencilView * This);
  3253. void ( STDMETHODCALLTYPE *GetDevice )(
  3254. ID3D11DepthStencilView * This,
  3255. /* [annotation] */
  3256. __out ID3D11Device **ppDevice);
  3257. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3258. ID3D11DepthStencilView * This,
  3259. /* [annotation] */
  3260. __in REFGUID guid,
  3261. /* [annotation] */
  3262. __inout UINT *pDataSize,
  3263. /* [annotation] */
  3264. __out_bcount_opt( *pDataSize ) void *pData);
  3265. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3266. ID3D11DepthStencilView * This,
  3267. /* [annotation] */
  3268. __in REFGUID guid,
  3269. /* [annotation] */
  3270. __in UINT DataSize,
  3271. /* [annotation] */
  3272. __in_bcount_opt( DataSize ) const void *pData);
  3273. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3274. ID3D11DepthStencilView * This,
  3275. /* [annotation] */
  3276. __in REFGUID guid,
  3277. /* [annotation] */
  3278. __in_opt const IUnknown *pData);
  3279. void ( STDMETHODCALLTYPE *GetResource )(
  3280. ID3D11DepthStencilView * This,
  3281. /* [annotation] */
  3282. __out ID3D11Resource **ppResource);
  3283. void ( STDMETHODCALLTYPE *GetDesc )(
  3284. ID3D11DepthStencilView * This,
  3285. /* [annotation] */
  3286. __out D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
  3287. END_INTERFACE
  3288. } ID3D11DepthStencilViewVtbl;
  3289. interface ID3D11DepthStencilView
  3290. {
  3291. CONST_VTBL struct ID3D11DepthStencilViewVtbl *lpVtbl;
  3292. };
  3293. #ifdef COBJMACROS
  3294. #define ID3D11DepthStencilView_QueryInterface(This,riid,ppvObject) \
  3295. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3296. #define ID3D11DepthStencilView_AddRef(This) \
  3297. ( (This)->lpVtbl -> AddRef(This) )
  3298. #define ID3D11DepthStencilView_Release(This) \
  3299. ( (This)->lpVtbl -> Release(This) )
  3300. #define ID3D11DepthStencilView_GetDevice(This,ppDevice) \
  3301. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3302. #define ID3D11DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) \
  3303. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3304. #define ID3D11DepthStencilView_SetPrivateData(This,guid,DataSize,pData) \
  3305. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3306. #define ID3D11DepthStencilView_SetPrivateDataInterface(This,guid,pData) \
  3307. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3308. #define ID3D11DepthStencilView_GetResource(This,ppResource) \
  3309. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  3310. #define ID3D11DepthStencilView_GetDesc(This,pDesc) \
  3311. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3312. #endif /* COBJMACROS */
  3313. #endif /* C style interface */
  3314. #endif /* __ID3D11DepthStencilView_INTERFACE_DEFINED__ */
  3315. /* interface __MIDL_itf_d3d11_0000_0013 */
  3316. /* [local] */
  3317. typedef
  3318. enum D3D11_BUFFER_UAV_FLAG
  3319. { D3D11_BUFFER_UAV_FLAG_RAW = 0x1,
  3320. D3D11_BUFFER_UAV_FLAG_APPEND = 0x2,
  3321. D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4
  3322. } D3D11_BUFFER_UAV_FLAG;
  3323. typedef struct D3D11_BUFFER_UAV
  3324. {
  3325. UINT FirstElement;
  3326. UINT NumElements;
  3327. UINT Flags;
  3328. } D3D11_BUFFER_UAV;
  3329. typedef struct D3D11_TEX1D_UAV
  3330. {
  3331. UINT MipSlice;
  3332. } D3D11_TEX1D_UAV;
  3333. typedef struct D3D11_TEX1D_ARRAY_UAV
  3334. {
  3335. UINT MipSlice;
  3336. UINT FirstArraySlice;
  3337. UINT ArraySize;
  3338. } D3D11_TEX1D_ARRAY_UAV;
  3339. typedef struct D3D11_TEX2D_UAV
  3340. {
  3341. UINT MipSlice;
  3342. } D3D11_TEX2D_UAV;
  3343. typedef struct D3D11_TEX2D_ARRAY_UAV
  3344. {
  3345. UINT MipSlice;
  3346. UINT FirstArraySlice;
  3347. UINT ArraySize;
  3348. } D3D11_TEX2D_ARRAY_UAV;
  3349. typedef struct D3D11_TEX3D_UAV
  3350. {
  3351. UINT MipSlice;
  3352. UINT FirstWSlice;
  3353. UINT WSize;
  3354. } D3D11_TEX3D_UAV;
  3355. typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
  3356. {
  3357. DXGI_FORMAT Format;
  3358. D3D11_UAV_DIMENSION ViewDimension;
  3359. union
  3360. {
  3361. D3D11_BUFFER_UAV Buffer;
  3362. D3D11_TEX1D_UAV Texture1D;
  3363. D3D11_TEX1D_ARRAY_UAV Texture1DArray;
  3364. D3D11_TEX2D_UAV Texture2D;
  3365. D3D11_TEX2D_ARRAY_UAV Texture2DArray;
  3366. D3D11_TEX3D_UAV Texture3D;
  3367. } ;
  3368. } D3D11_UNORDERED_ACCESS_VIEW_DESC;
  3369. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  3370. }
  3371. struct CD3D11_UNORDERED_ACCESS_VIEW_DESC : public D3D11_UNORDERED_ACCESS_VIEW_DESC
  3372. {
  3373. CD3D11_UNORDERED_ACCESS_VIEW_DESC()
  3374. {}
  3375. explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC( const D3D11_UNORDERED_ACCESS_VIEW_DESC& o ) :
  3376. D3D11_UNORDERED_ACCESS_VIEW_DESC( o )
  3377. {}
  3378. explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
  3379. D3D11_UAV_DIMENSION viewDimension,
  3380. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3381. UINT mipSlice = 0, // FirstElement for BUFFER
  3382. UINT firstArraySlice = 0, // NumElements for BUFFER, FirstWSlice for TEXTURE3D
  3383. UINT arraySize = -1, // WSize for TEXTURE3D
  3384. UINT flags = 0 ) // BUFFER only
  3385. {
  3386. Format = format;
  3387. ViewDimension = viewDimension;
  3388. switch (viewDimension)
  3389. {
  3390. case D3D11_UAV_DIMENSION_BUFFER:
  3391. Buffer.FirstElement = mipSlice;
  3392. Buffer.NumElements = firstArraySlice;
  3393. Buffer.Flags = flags;
  3394. break;
  3395. case D3D11_UAV_DIMENSION_TEXTURE1D:
  3396. Texture1D.MipSlice = mipSlice;
  3397. break;
  3398. case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
  3399. Texture1DArray.MipSlice = mipSlice;
  3400. Texture1DArray.FirstArraySlice = firstArraySlice;
  3401. Texture1DArray.ArraySize = arraySize;
  3402. break;
  3403. case D3D11_UAV_DIMENSION_TEXTURE2D:
  3404. Texture2D.MipSlice = mipSlice;
  3405. break;
  3406. case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
  3407. Texture2DArray.MipSlice = mipSlice;
  3408. Texture2DArray.FirstArraySlice = firstArraySlice;
  3409. Texture2DArray.ArraySize = arraySize;
  3410. break;
  3411. case D3D11_UAV_DIMENSION_TEXTURE3D:
  3412. Texture3D.MipSlice = mipSlice;
  3413. Texture3D.FirstWSlice = firstArraySlice;
  3414. Texture3D.WSize = arraySize;
  3415. break;
  3416. default: break;
  3417. }
  3418. }
  3419. explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
  3420. __in ID3D11Buffer*,
  3421. DXGI_FORMAT format,
  3422. UINT firstElement,
  3423. UINT numElements,
  3424. UINT flags = 0 )
  3425. {
  3426. Format = format;
  3427. ViewDimension = D3D11_UAV_DIMENSION_BUFFER;
  3428. Buffer.FirstElement = firstElement;
  3429. Buffer.NumElements = numElements;
  3430. Buffer.Flags = flags;
  3431. }
  3432. explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
  3433. __in ID3D11Texture1D* pTex1D,
  3434. D3D11_UAV_DIMENSION viewDimension,
  3435. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3436. UINT mipSlice = 0,
  3437. UINT firstArraySlice = 0,
  3438. UINT arraySize = -1 )
  3439. {
  3440. ViewDimension = viewDimension;
  3441. if (DXGI_FORMAT_UNKNOWN == format ||
  3442. (-1 == arraySize && D3D11_UAV_DIMENSION_TEXTURE1DARRAY == viewDimension))
  3443. {
  3444. D3D11_TEXTURE1D_DESC TexDesc;
  3445. pTex1D->GetDesc( &TexDesc );
  3446. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  3447. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  3448. }
  3449. Format = format;
  3450. switch (viewDimension)
  3451. {
  3452. case D3D11_UAV_DIMENSION_TEXTURE1D:
  3453. Texture1D.MipSlice = mipSlice;
  3454. break;
  3455. case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
  3456. Texture1DArray.MipSlice = mipSlice;
  3457. Texture1DArray.FirstArraySlice = firstArraySlice;
  3458. Texture1DArray.ArraySize = arraySize;
  3459. break;
  3460. default: break;
  3461. }
  3462. }
  3463. explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
  3464. __in ID3D11Texture2D* pTex2D,
  3465. D3D11_UAV_DIMENSION viewDimension,
  3466. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3467. UINT mipSlice = 0,
  3468. UINT firstArraySlice = 0,
  3469. UINT arraySize = -1 )
  3470. {
  3471. ViewDimension = viewDimension;
  3472. if (DXGI_FORMAT_UNKNOWN == format ||
  3473. (-1 == arraySize && D3D11_UAV_DIMENSION_TEXTURE2DARRAY == viewDimension))
  3474. {
  3475. D3D11_TEXTURE2D_DESC TexDesc;
  3476. pTex2D->GetDesc( &TexDesc );
  3477. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  3478. if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
  3479. }
  3480. Format = format;
  3481. switch (viewDimension)
  3482. {
  3483. case D3D11_UAV_DIMENSION_TEXTURE2D:
  3484. Texture2D.MipSlice = mipSlice;
  3485. break;
  3486. case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
  3487. Texture2DArray.MipSlice = mipSlice;
  3488. Texture2DArray.FirstArraySlice = firstArraySlice;
  3489. Texture2DArray.ArraySize = arraySize;
  3490. break;
  3491. default: break;
  3492. }
  3493. }
  3494. explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
  3495. __in ID3D11Texture3D* pTex3D,
  3496. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  3497. UINT mipSlice = 0,
  3498. UINT firstWSlice = 0,
  3499. UINT wSize = -1 )
  3500. {
  3501. ViewDimension = D3D11_UAV_DIMENSION_TEXTURE3D;
  3502. if (DXGI_FORMAT_UNKNOWN == format || -1 == wSize)
  3503. {
  3504. D3D11_TEXTURE3D_DESC TexDesc;
  3505. pTex3D->GetDesc( &TexDesc );
  3506. if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
  3507. if (-1 == wSize) wSize = TexDesc.Depth - firstWSlice;
  3508. }
  3509. Format = format;
  3510. Texture3D.MipSlice = mipSlice;
  3511. Texture3D.FirstWSlice = firstWSlice;
  3512. Texture3D.WSize = wSize;
  3513. }
  3514. ~CD3D11_UNORDERED_ACCESS_VIEW_DESC() {}
  3515. operator const D3D11_UNORDERED_ACCESS_VIEW_DESC&() const { return *this; }
  3516. };
  3517. extern "C"{
  3518. #endif
  3519. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0013_v0_0_c_ifspec;
  3520. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0013_v0_0_s_ifspec;
  3521. #ifndef __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
  3522. #define __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
  3523. /* interface ID3D11UnorderedAccessView */
  3524. /* [unique][local][object][uuid] */
  3525. EXTERN_C const IID IID_ID3D11UnorderedAccessView;
  3526. #if defined(__cplusplus) && !defined(CINTERFACE)
  3527. MIDL_INTERFACE("28acf509-7f5c-48f6-8611-f316010a6380")
  3528. ID3D11UnorderedAccessView : public ID3D11View
  3529. {
  3530. public:
  3531. virtual void STDMETHODCALLTYPE GetDesc(
  3532. /* [annotation] */
  3533. __out D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) = 0;
  3534. };
  3535. #else /* C style interface */
  3536. typedef struct ID3D11UnorderedAccessViewVtbl
  3537. {
  3538. BEGIN_INTERFACE
  3539. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3540. ID3D11UnorderedAccessView * This,
  3541. /* [in] */ REFIID riid,
  3542. /* [annotation][iid_is][out] */
  3543. __RPC__deref_out void **ppvObject);
  3544. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3545. ID3D11UnorderedAccessView * This);
  3546. ULONG ( STDMETHODCALLTYPE *Release )(
  3547. ID3D11UnorderedAccessView * This);
  3548. void ( STDMETHODCALLTYPE *GetDevice )(
  3549. ID3D11UnorderedAccessView * This,
  3550. /* [annotation] */
  3551. __out ID3D11Device **ppDevice);
  3552. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3553. ID3D11UnorderedAccessView * This,
  3554. /* [annotation] */
  3555. __in REFGUID guid,
  3556. /* [annotation] */
  3557. __inout UINT *pDataSize,
  3558. /* [annotation] */
  3559. __out_bcount_opt( *pDataSize ) void *pData);
  3560. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3561. ID3D11UnorderedAccessView * This,
  3562. /* [annotation] */
  3563. __in REFGUID guid,
  3564. /* [annotation] */
  3565. __in UINT DataSize,
  3566. /* [annotation] */
  3567. __in_bcount_opt( DataSize ) const void *pData);
  3568. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3569. ID3D11UnorderedAccessView * This,
  3570. /* [annotation] */
  3571. __in REFGUID guid,
  3572. /* [annotation] */
  3573. __in_opt const IUnknown *pData);
  3574. void ( STDMETHODCALLTYPE *GetResource )(
  3575. ID3D11UnorderedAccessView * This,
  3576. /* [annotation] */
  3577. __out ID3D11Resource **ppResource);
  3578. void ( STDMETHODCALLTYPE *GetDesc )(
  3579. ID3D11UnorderedAccessView * This,
  3580. /* [annotation] */
  3581. __out D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
  3582. END_INTERFACE
  3583. } ID3D11UnorderedAccessViewVtbl;
  3584. interface ID3D11UnorderedAccessView
  3585. {
  3586. CONST_VTBL struct ID3D11UnorderedAccessViewVtbl *lpVtbl;
  3587. };
  3588. #ifdef COBJMACROS
  3589. #define ID3D11UnorderedAccessView_QueryInterface(This,riid,ppvObject) \
  3590. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3591. #define ID3D11UnorderedAccessView_AddRef(This) \
  3592. ( (This)->lpVtbl -> AddRef(This) )
  3593. #define ID3D11UnorderedAccessView_Release(This) \
  3594. ( (This)->lpVtbl -> Release(This) )
  3595. #define ID3D11UnorderedAccessView_GetDevice(This,ppDevice) \
  3596. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3597. #define ID3D11UnorderedAccessView_GetPrivateData(This,guid,pDataSize,pData) \
  3598. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3599. #define ID3D11UnorderedAccessView_SetPrivateData(This,guid,DataSize,pData) \
  3600. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3601. #define ID3D11UnorderedAccessView_SetPrivateDataInterface(This,guid,pData) \
  3602. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3603. #define ID3D11UnorderedAccessView_GetResource(This,ppResource) \
  3604. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  3605. #define ID3D11UnorderedAccessView_GetDesc(This,pDesc) \
  3606. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3607. #endif /* COBJMACROS */
  3608. #endif /* C style interface */
  3609. #endif /* __ID3D11UnorderedAccessView_INTERFACE_DEFINED__ */
  3610. #ifndef __ID3D11VertexShader_INTERFACE_DEFINED__
  3611. #define __ID3D11VertexShader_INTERFACE_DEFINED__
  3612. /* interface ID3D11VertexShader */
  3613. /* [unique][local][object][uuid] */
  3614. EXTERN_C const IID IID_ID3D11VertexShader;
  3615. #if defined(__cplusplus) && !defined(CINTERFACE)
  3616. MIDL_INTERFACE("3b301d64-d678-4289-8897-22f8928b72f3")
  3617. ID3D11VertexShader : public ID3D11DeviceChild
  3618. {
  3619. public:
  3620. };
  3621. #else /* C style interface */
  3622. typedef struct ID3D11VertexShaderVtbl
  3623. {
  3624. BEGIN_INTERFACE
  3625. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3626. ID3D11VertexShader * This,
  3627. /* [in] */ REFIID riid,
  3628. /* [annotation][iid_is][out] */
  3629. __RPC__deref_out void **ppvObject);
  3630. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3631. ID3D11VertexShader * This);
  3632. ULONG ( STDMETHODCALLTYPE *Release )(
  3633. ID3D11VertexShader * This);
  3634. void ( STDMETHODCALLTYPE *GetDevice )(
  3635. ID3D11VertexShader * This,
  3636. /* [annotation] */
  3637. __out ID3D11Device **ppDevice);
  3638. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3639. ID3D11VertexShader * This,
  3640. /* [annotation] */
  3641. __in REFGUID guid,
  3642. /* [annotation] */
  3643. __inout UINT *pDataSize,
  3644. /* [annotation] */
  3645. __out_bcount_opt( *pDataSize ) void *pData);
  3646. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3647. ID3D11VertexShader * This,
  3648. /* [annotation] */
  3649. __in REFGUID guid,
  3650. /* [annotation] */
  3651. __in UINT DataSize,
  3652. /* [annotation] */
  3653. __in_bcount_opt( DataSize ) const void *pData);
  3654. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3655. ID3D11VertexShader * This,
  3656. /* [annotation] */
  3657. __in REFGUID guid,
  3658. /* [annotation] */
  3659. __in_opt const IUnknown *pData);
  3660. END_INTERFACE
  3661. } ID3D11VertexShaderVtbl;
  3662. interface ID3D11VertexShader
  3663. {
  3664. CONST_VTBL struct ID3D11VertexShaderVtbl *lpVtbl;
  3665. };
  3666. #ifdef COBJMACROS
  3667. #define ID3D11VertexShader_QueryInterface(This,riid,ppvObject) \
  3668. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3669. #define ID3D11VertexShader_AddRef(This) \
  3670. ( (This)->lpVtbl -> AddRef(This) )
  3671. #define ID3D11VertexShader_Release(This) \
  3672. ( (This)->lpVtbl -> Release(This) )
  3673. #define ID3D11VertexShader_GetDevice(This,ppDevice) \
  3674. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3675. #define ID3D11VertexShader_GetPrivateData(This,guid,pDataSize,pData) \
  3676. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3677. #define ID3D11VertexShader_SetPrivateData(This,guid,DataSize,pData) \
  3678. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3679. #define ID3D11VertexShader_SetPrivateDataInterface(This,guid,pData) \
  3680. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3681. #endif /* COBJMACROS */
  3682. #endif /* C style interface */
  3683. #endif /* __ID3D11VertexShader_INTERFACE_DEFINED__ */
  3684. #ifndef __ID3D11HullShader_INTERFACE_DEFINED__
  3685. #define __ID3D11HullShader_INTERFACE_DEFINED__
  3686. /* interface ID3D11HullShader */
  3687. /* [unique][local][object][uuid] */
  3688. EXTERN_C const IID IID_ID3D11HullShader;
  3689. #if defined(__cplusplus) && !defined(CINTERFACE)
  3690. MIDL_INTERFACE("8e5c6061-628a-4c8e-8264-bbe45cb3d5dd")
  3691. ID3D11HullShader : public ID3D11DeviceChild
  3692. {
  3693. public:
  3694. };
  3695. #else /* C style interface */
  3696. typedef struct ID3D11HullShaderVtbl
  3697. {
  3698. BEGIN_INTERFACE
  3699. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3700. ID3D11HullShader * This,
  3701. /* [in] */ REFIID riid,
  3702. /* [annotation][iid_is][out] */
  3703. __RPC__deref_out void **ppvObject);
  3704. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3705. ID3D11HullShader * This);
  3706. ULONG ( STDMETHODCALLTYPE *Release )(
  3707. ID3D11HullShader * This);
  3708. void ( STDMETHODCALLTYPE *GetDevice )(
  3709. ID3D11HullShader * This,
  3710. /* [annotation] */
  3711. __out ID3D11Device **ppDevice);
  3712. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3713. ID3D11HullShader * This,
  3714. /* [annotation] */
  3715. __in REFGUID guid,
  3716. /* [annotation] */
  3717. __inout UINT *pDataSize,
  3718. /* [annotation] */
  3719. __out_bcount_opt( *pDataSize ) void *pData);
  3720. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3721. ID3D11HullShader * This,
  3722. /* [annotation] */
  3723. __in REFGUID guid,
  3724. /* [annotation] */
  3725. __in UINT DataSize,
  3726. /* [annotation] */
  3727. __in_bcount_opt( DataSize ) const void *pData);
  3728. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3729. ID3D11HullShader * This,
  3730. /* [annotation] */
  3731. __in REFGUID guid,
  3732. /* [annotation] */
  3733. __in_opt const IUnknown *pData);
  3734. END_INTERFACE
  3735. } ID3D11HullShaderVtbl;
  3736. interface ID3D11HullShader
  3737. {
  3738. CONST_VTBL struct ID3D11HullShaderVtbl *lpVtbl;
  3739. };
  3740. #ifdef COBJMACROS
  3741. #define ID3D11HullShader_QueryInterface(This,riid,ppvObject) \
  3742. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3743. #define ID3D11HullShader_AddRef(This) \
  3744. ( (This)->lpVtbl -> AddRef(This) )
  3745. #define ID3D11HullShader_Release(This) \
  3746. ( (This)->lpVtbl -> Release(This) )
  3747. #define ID3D11HullShader_GetDevice(This,ppDevice) \
  3748. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3749. #define ID3D11HullShader_GetPrivateData(This,guid,pDataSize,pData) \
  3750. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3751. #define ID3D11HullShader_SetPrivateData(This,guid,DataSize,pData) \
  3752. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3753. #define ID3D11HullShader_SetPrivateDataInterface(This,guid,pData) \
  3754. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3755. #endif /* COBJMACROS */
  3756. #endif /* C style interface */
  3757. #endif /* __ID3D11HullShader_INTERFACE_DEFINED__ */
  3758. #ifndef __ID3D11DomainShader_INTERFACE_DEFINED__
  3759. #define __ID3D11DomainShader_INTERFACE_DEFINED__
  3760. /* interface ID3D11DomainShader */
  3761. /* [unique][local][object][uuid] */
  3762. EXTERN_C const IID IID_ID3D11DomainShader;
  3763. #if defined(__cplusplus) && !defined(CINTERFACE)
  3764. MIDL_INTERFACE("f582c508-0f36-490c-9977-31eece268cfa")
  3765. ID3D11DomainShader : public ID3D11DeviceChild
  3766. {
  3767. public:
  3768. };
  3769. #else /* C style interface */
  3770. typedef struct ID3D11DomainShaderVtbl
  3771. {
  3772. BEGIN_INTERFACE
  3773. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3774. ID3D11DomainShader * This,
  3775. /* [in] */ REFIID riid,
  3776. /* [annotation][iid_is][out] */
  3777. __RPC__deref_out void **ppvObject);
  3778. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3779. ID3D11DomainShader * This);
  3780. ULONG ( STDMETHODCALLTYPE *Release )(
  3781. ID3D11DomainShader * This);
  3782. void ( STDMETHODCALLTYPE *GetDevice )(
  3783. ID3D11DomainShader * This,
  3784. /* [annotation] */
  3785. __out ID3D11Device **ppDevice);
  3786. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3787. ID3D11DomainShader * This,
  3788. /* [annotation] */
  3789. __in REFGUID guid,
  3790. /* [annotation] */
  3791. __inout UINT *pDataSize,
  3792. /* [annotation] */
  3793. __out_bcount_opt( *pDataSize ) void *pData);
  3794. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3795. ID3D11DomainShader * This,
  3796. /* [annotation] */
  3797. __in REFGUID guid,
  3798. /* [annotation] */
  3799. __in UINT DataSize,
  3800. /* [annotation] */
  3801. __in_bcount_opt( DataSize ) const void *pData);
  3802. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3803. ID3D11DomainShader * This,
  3804. /* [annotation] */
  3805. __in REFGUID guid,
  3806. /* [annotation] */
  3807. __in_opt const IUnknown *pData);
  3808. END_INTERFACE
  3809. } ID3D11DomainShaderVtbl;
  3810. interface ID3D11DomainShader
  3811. {
  3812. CONST_VTBL struct ID3D11DomainShaderVtbl *lpVtbl;
  3813. };
  3814. #ifdef COBJMACROS
  3815. #define ID3D11DomainShader_QueryInterface(This,riid,ppvObject) \
  3816. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3817. #define ID3D11DomainShader_AddRef(This) \
  3818. ( (This)->lpVtbl -> AddRef(This) )
  3819. #define ID3D11DomainShader_Release(This) \
  3820. ( (This)->lpVtbl -> Release(This) )
  3821. #define ID3D11DomainShader_GetDevice(This,ppDevice) \
  3822. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3823. #define ID3D11DomainShader_GetPrivateData(This,guid,pDataSize,pData) \
  3824. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3825. #define ID3D11DomainShader_SetPrivateData(This,guid,DataSize,pData) \
  3826. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3827. #define ID3D11DomainShader_SetPrivateDataInterface(This,guid,pData) \
  3828. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3829. #endif /* COBJMACROS */
  3830. #endif /* C style interface */
  3831. #endif /* __ID3D11DomainShader_INTERFACE_DEFINED__ */
  3832. #ifndef __ID3D11GeometryShader_INTERFACE_DEFINED__
  3833. #define __ID3D11GeometryShader_INTERFACE_DEFINED__
  3834. /* interface ID3D11GeometryShader */
  3835. /* [unique][local][object][uuid] */
  3836. EXTERN_C const IID IID_ID3D11GeometryShader;
  3837. #if defined(__cplusplus) && !defined(CINTERFACE)
  3838. MIDL_INTERFACE("38325b96-effb-4022-ba02-2e795b70275c")
  3839. ID3D11GeometryShader : public ID3D11DeviceChild
  3840. {
  3841. public:
  3842. };
  3843. #else /* C style interface */
  3844. typedef struct ID3D11GeometryShaderVtbl
  3845. {
  3846. BEGIN_INTERFACE
  3847. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3848. ID3D11GeometryShader * This,
  3849. /* [in] */ REFIID riid,
  3850. /* [annotation][iid_is][out] */
  3851. __RPC__deref_out void **ppvObject);
  3852. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3853. ID3D11GeometryShader * This);
  3854. ULONG ( STDMETHODCALLTYPE *Release )(
  3855. ID3D11GeometryShader * This);
  3856. void ( STDMETHODCALLTYPE *GetDevice )(
  3857. ID3D11GeometryShader * This,
  3858. /* [annotation] */
  3859. __out ID3D11Device **ppDevice);
  3860. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3861. ID3D11GeometryShader * This,
  3862. /* [annotation] */
  3863. __in REFGUID guid,
  3864. /* [annotation] */
  3865. __inout UINT *pDataSize,
  3866. /* [annotation] */
  3867. __out_bcount_opt( *pDataSize ) void *pData);
  3868. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3869. ID3D11GeometryShader * This,
  3870. /* [annotation] */
  3871. __in REFGUID guid,
  3872. /* [annotation] */
  3873. __in UINT DataSize,
  3874. /* [annotation] */
  3875. __in_bcount_opt( DataSize ) const void *pData);
  3876. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3877. ID3D11GeometryShader * This,
  3878. /* [annotation] */
  3879. __in REFGUID guid,
  3880. /* [annotation] */
  3881. __in_opt const IUnknown *pData);
  3882. END_INTERFACE
  3883. } ID3D11GeometryShaderVtbl;
  3884. interface ID3D11GeometryShader
  3885. {
  3886. CONST_VTBL struct ID3D11GeometryShaderVtbl *lpVtbl;
  3887. };
  3888. #ifdef COBJMACROS
  3889. #define ID3D11GeometryShader_QueryInterface(This,riid,ppvObject) \
  3890. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3891. #define ID3D11GeometryShader_AddRef(This) \
  3892. ( (This)->lpVtbl -> AddRef(This) )
  3893. #define ID3D11GeometryShader_Release(This) \
  3894. ( (This)->lpVtbl -> Release(This) )
  3895. #define ID3D11GeometryShader_GetDevice(This,ppDevice) \
  3896. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3897. #define ID3D11GeometryShader_GetPrivateData(This,guid,pDataSize,pData) \
  3898. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3899. #define ID3D11GeometryShader_SetPrivateData(This,guid,DataSize,pData) \
  3900. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3901. #define ID3D11GeometryShader_SetPrivateDataInterface(This,guid,pData) \
  3902. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3903. #endif /* COBJMACROS */
  3904. #endif /* C style interface */
  3905. #endif /* __ID3D11GeometryShader_INTERFACE_DEFINED__ */
  3906. #ifndef __ID3D11PixelShader_INTERFACE_DEFINED__
  3907. #define __ID3D11PixelShader_INTERFACE_DEFINED__
  3908. /* interface ID3D11PixelShader */
  3909. /* [unique][local][object][uuid] */
  3910. EXTERN_C const IID IID_ID3D11PixelShader;
  3911. #if defined(__cplusplus) && !defined(CINTERFACE)
  3912. MIDL_INTERFACE("ea82e40d-51dc-4f33-93d4-db7c9125ae8c")
  3913. ID3D11PixelShader : public ID3D11DeviceChild
  3914. {
  3915. public:
  3916. };
  3917. #else /* C style interface */
  3918. typedef struct ID3D11PixelShaderVtbl
  3919. {
  3920. BEGIN_INTERFACE
  3921. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3922. ID3D11PixelShader * This,
  3923. /* [in] */ REFIID riid,
  3924. /* [annotation][iid_is][out] */
  3925. __RPC__deref_out void **ppvObject);
  3926. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3927. ID3D11PixelShader * This);
  3928. ULONG ( STDMETHODCALLTYPE *Release )(
  3929. ID3D11PixelShader * This);
  3930. void ( STDMETHODCALLTYPE *GetDevice )(
  3931. ID3D11PixelShader * This,
  3932. /* [annotation] */
  3933. __out ID3D11Device **ppDevice);
  3934. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3935. ID3D11PixelShader * This,
  3936. /* [annotation] */
  3937. __in REFGUID guid,
  3938. /* [annotation] */
  3939. __inout UINT *pDataSize,
  3940. /* [annotation] */
  3941. __out_bcount_opt( *pDataSize ) void *pData);
  3942. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3943. ID3D11PixelShader * This,
  3944. /* [annotation] */
  3945. __in REFGUID guid,
  3946. /* [annotation] */
  3947. __in UINT DataSize,
  3948. /* [annotation] */
  3949. __in_bcount_opt( DataSize ) const void *pData);
  3950. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3951. ID3D11PixelShader * This,
  3952. /* [annotation] */
  3953. __in REFGUID guid,
  3954. /* [annotation] */
  3955. __in_opt const IUnknown *pData);
  3956. END_INTERFACE
  3957. } ID3D11PixelShaderVtbl;
  3958. interface ID3D11PixelShader
  3959. {
  3960. CONST_VTBL struct ID3D11PixelShaderVtbl *lpVtbl;
  3961. };
  3962. #ifdef COBJMACROS
  3963. #define ID3D11PixelShader_QueryInterface(This,riid,ppvObject) \
  3964. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3965. #define ID3D11PixelShader_AddRef(This) \
  3966. ( (This)->lpVtbl -> AddRef(This) )
  3967. #define ID3D11PixelShader_Release(This) \
  3968. ( (This)->lpVtbl -> Release(This) )
  3969. #define ID3D11PixelShader_GetDevice(This,ppDevice) \
  3970. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3971. #define ID3D11PixelShader_GetPrivateData(This,guid,pDataSize,pData) \
  3972. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3973. #define ID3D11PixelShader_SetPrivateData(This,guid,DataSize,pData) \
  3974. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3975. #define ID3D11PixelShader_SetPrivateDataInterface(This,guid,pData) \
  3976. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3977. #endif /* COBJMACROS */
  3978. #endif /* C style interface */
  3979. #endif /* __ID3D11PixelShader_INTERFACE_DEFINED__ */
  3980. #ifndef __ID3D11ComputeShader_INTERFACE_DEFINED__
  3981. #define __ID3D11ComputeShader_INTERFACE_DEFINED__
  3982. /* interface ID3D11ComputeShader */
  3983. /* [unique][local][object][uuid] */
  3984. EXTERN_C const IID IID_ID3D11ComputeShader;
  3985. #if defined(__cplusplus) && !defined(CINTERFACE)
  3986. MIDL_INTERFACE("4f5b196e-c2bd-495e-bd01-1fded38e4969")
  3987. ID3D11ComputeShader : public ID3D11DeviceChild
  3988. {
  3989. public:
  3990. };
  3991. #else /* C style interface */
  3992. typedef struct ID3D11ComputeShaderVtbl
  3993. {
  3994. BEGIN_INTERFACE
  3995. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3996. ID3D11ComputeShader * This,
  3997. /* [in] */ REFIID riid,
  3998. /* [annotation][iid_is][out] */
  3999. __RPC__deref_out void **ppvObject);
  4000. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4001. ID3D11ComputeShader * This);
  4002. ULONG ( STDMETHODCALLTYPE *Release )(
  4003. ID3D11ComputeShader * This);
  4004. void ( STDMETHODCALLTYPE *GetDevice )(
  4005. ID3D11ComputeShader * This,
  4006. /* [annotation] */
  4007. __out ID3D11Device **ppDevice);
  4008. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4009. ID3D11ComputeShader * This,
  4010. /* [annotation] */
  4011. __in REFGUID guid,
  4012. /* [annotation] */
  4013. __inout UINT *pDataSize,
  4014. /* [annotation] */
  4015. __out_bcount_opt( *pDataSize ) void *pData);
  4016. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4017. ID3D11ComputeShader * This,
  4018. /* [annotation] */
  4019. __in REFGUID guid,
  4020. /* [annotation] */
  4021. __in UINT DataSize,
  4022. /* [annotation] */
  4023. __in_bcount_opt( DataSize ) const void *pData);
  4024. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4025. ID3D11ComputeShader * This,
  4026. /* [annotation] */
  4027. __in REFGUID guid,
  4028. /* [annotation] */
  4029. __in_opt const IUnknown *pData);
  4030. END_INTERFACE
  4031. } ID3D11ComputeShaderVtbl;
  4032. interface ID3D11ComputeShader
  4033. {
  4034. CONST_VTBL struct ID3D11ComputeShaderVtbl *lpVtbl;
  4035. };
  4036. #ifdef COBJMACROS
  4037. #define ID3D11ComputeShader_QueryInterface(This,riid,ppvObject) \
  4038. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4039. #define ID3D11ComputeShader_AddRef(This) \
  4040. ( (This)->lpVtbl -> AddRef(This) )
  4041. #define ID3D11ComputeShader_Release(This) \
  4042. ( (This)->lpVtbl -> Release(This) )
  4043. #define ID3D11ComputeShader_GetDevice(This,ppDevice) \
  4044. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4045. #define ID3D11ComputeShader_GetPrivateData(This,guid,pDataSize,pData) \
  4046. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4047. #define ID3D11ComputeShader_SetPrivateData(This,guid,DataSize,pData) \
  4048. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4049. #define ID3D11ComputeShader_SetPrivateDataInterface(This,guid,pData) \
  4050. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4051. #endif /* COBJMACROS */
  4052. #endif /* C style interface */
  4053. #endif /* __ID3D11ComputeShader_INTERFACE_DEFINED__ */
  4054. #ifndef __ID3D11InputLayout_INTERFACE_DEFINED__
  4055. #define __ID3D11InputLayout_INTERFACE_DEFINED__
  4056. /* interface ID3D11InputLayout */
  4057. /* [unique][local][object][uuid] */
  4058. EXTERN_C const IID IID_ID3D11InputLayout;
  4059. #if defined(__cplusplus) && !defined(CINTERFACE)
  4060. MIDL_INTERFACE("e4819ddc-4cf0-4025-bd26-5de82a3e07b7")
  4061. ID3D11InputLayout : public ID3D11DeviceChild
  4062. {
  4063. public:
  4064. };
  4065. #else /* C style interface */
  4066. typedef struct ID3D11InputLayoutVtbl
  4067. {
  4068. BEGIN_INTERFACE
  4069. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4070. ID3D11InputLayout * This,
  4071. /* [in] */ REFIID riid,
  4072. /* [annotation][iid_is][out] */
  4073. __RPC__deref_out void **ppvObject);
  4074. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4075. ID3D11InputLayout * This);
  4076. ULONG ( STDMETHODCALLTYPE *Release )(
  4077. ID3D11InputLayout * This);
  4078. void ( STDMETHODCALLTYPE *GetDevice )(
  4079. ID3D11InputLayout * This,
  4080. /* [annotation] */
  4081. __out ID3D11Device **ppDevice);
  4082. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4083. ID3D11InputLayout * This,
  4084. /* [annotation] */
  4085. __in REFGUID guid,
  4086. /* [annotation] */
  4087. __inout UINT *pDataSize,
  4088. /* [annotation] */
  4089. __out_bcount_opt( *pDataSize ) void *pData);
  4090. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4091. ID3D11InputLayout * This,
  4092. /* [annotation] */
  4093. __in REFGUID guid,
  4094. /* [annotation] */
  4095. __in UINT DataSize,
  4096. /* [annotation] */
  4097. __in_bcount_opt( DataSize ) const void *pData);
  4098. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4099. ID3D11InputLayout * This,
  4100. /* [annotation] */
  4101. __in REFGUID guid,
  4102. /* [annotation] */
  4103. __in_opt const IUnknown *pData);
  4104. END_INTERFACE
  4105. } ID3D11InputLayoutVtbl;
  4106. interface ID3D11InputLayout
  4107. {
  4108. CONST_VTBL struct ID3D11InputLayoutVtbl *lpVtbl;
  4109. };
  4110. #ifdef COBJMACROS
  4111. #define ID3D11InputLayout_QueryInterface(This,riid,ppvObject) \
  4112. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4113. #define ID3D11InputLayout_AddRef(This) \
  4114. ( (This)->lpVtbl -> AddRef(This) )
  4115. #define ID3D11InputLayout_Release(This) \
  4116. ( (This)->lpVtbl -> Release(This) )
  4117. #define ID3D11InputLayout_GetDevice(This,ppDevice) \
  4118. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4119. #define ID3D11InputLayout_GetPrivateData(This,guid,pDataSize,pData) \
  4120. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4121. #define ID3D11InputLayout_SetPrivateData(This,guid,DataSize,pData) \
  4122. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4123. #define ID3D11InputLayout_SetPrivateDataInterface(This,guid,pData) \
  4124. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4125. #endif /* COBJMACROS */
  4126. #endif /* C style interface */
  4127. #endif /* __ID3D11InputLayout_INTERFACE_DEFINED__ */
  4128. /* interface __MIDL_itf_d3d11_0000_0021 */
  4129. /* [local] */
  4130. typedef
  4131. enum D3D11_FILTER
  4132. { D3D11_FILTER_MIN_MAG_MIP_POINT = 0,
  4133. D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
  4134. D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
  4135. D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
  4136. D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
  4137. D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
  4138. D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
  4139. D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
  4140. D3D11_FILTER_ANISOTROPIC = 0x55,
  4141. D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
  4142. D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
  4143. D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
  4144. D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
  4145. D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
  4146. D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
  4147. D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
  4148. D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
  4149. D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5
  4150. } D3D11_FILTER;
  4151. typedef
  4152. enum D3D11_FILTER_TYPE
  4153. { D3D11_FILTER_TYPE_POINT = 0,
  4154. D3D11_FILTER_TYPE_LINEAR = 1
  4155. } D3D11_FILTER_TYPE;
  4156. #define D3D11_FILTER_TYPE_MASK ( 0x3 )
  4157. #define D3D11_MIN_FILTER_SHIFT ( 4 )
  4158. #define D3D11_MAG_FILTER_SHIFT ( 2 )
  4159. #define D3D11_MIP_FILTER_SHIFT ( 0 )
  4160. #define D3D11_COMPARISON_FILTERING_BIT ( 0x80 )
  4161. #define D3D11_ANISOTROPIC_FILTERING_BIT ( 0x40 )
  4162. #define D3D11_ENCODE_BASIC_FILTER( min, mag, mip, bComparison ) \
  4163. ( ( D3D11_FILTER ) ( \
  4164. ( ( bComparison ) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \
  4165. ( ( ( min ) & D3D11_FILTER_TYPE_MASK ) << D3D11_MIN_FILTER_SHIFT ) | \
  4166. ( ( ( mag ) & D3D11_FILTER_TYPE_MASK ) << D3D11_MAG_FILTER_SHIFT ) | \
  4167. ( ( ( mip ) & D3D11_FILTER_TYPE_MASK ) << D3D11_MIP_FILTER_SHIFT ) ) )
  4168. #define D3D11_ENCODE_ANISOTROPIC_FILTER( bComparison ) \
  4169. ( ( D3D11_FILTER ) ( \
  4170. D3D11_ANISOTROPIC_FILTERING_BIT | \
  4171. D3D11_ENCODE_BASIC_FILTER( D3D11_FILTER_TYPE_LINEAR, \
  4172. D3D11_FILTER_TYPE_LINEAR, \
  4173. D3D11_FILTER_TYPE_LINEAR, \
  4174. bComparison ) ) )
  4175. #define D3D11_DECODE_MIN_FILTER( d3d11Filter ) \
  4176. ( ( D3D11_FILTER_TYPE ) \
  4177. ( ( ( d3d11Filter ) >> D3D11_MIN_FILTER_SHIFT ) & D3D11_FILTER_TYPE_MASK ) )
  4178. #define D3D11_DECODE_MAG_FILTER( d3d11Filter ) \
  4179. ( ( D3D11_FILTER_TYPE ) \
  4180. ( ( ( d3d11Filter ) >> D3D11_MAG_FILTER_SHIFT ) & D3D11_FILTER_TYPE_MASK ) )
  4181. #define D3D11_DECODE_MIP_FILTER( d3d11Filter ) \
  4182. ( ( D3D11_FILTER_TYPE ) \
  4183. ( ( ( d3d11Filter ) >> D3D11_MIP_FILTER_SHIFT ) & D3D11_FILTER_TYPE_MASK ) )
  4184. #define D3D11_DECODE_IS_COMPARISON_FILTER( d3d11Filter ) \
  4185. ( ( d3d11Filter ) & D3D11_COMPARISON_FILTERING_BIT )
  4186. #define D3D11_DECODE_IS_ANISOTROPIC_FILTER( d3d11Filter ) \
  4187. ( ( ( d3d11Filter ) & D3D11_ANISOTROPIC_FILTERING_BIT ) && \
  4188. ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER( d3d11Filter ) ) && \
  4189. ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER( d3d11Filter ) ) && \
  4190. ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER( d3d11Filter ) ) )
  4191. typedef
  4192. enum D3D11_TEXTURE_ADDRESS_MODE
  4193. { D3D11_TEXTURE_ADDRESS_WRAP = 1,
  4194. D3D11_TEXTURE_ADDRESS_MIRROR = 2,
  4195. D3D11_TEXTURE_ADDRESS_CLAMP = 3,
  4196. D3D11_TEXTURE_ADDRESS_BORDER = 4,
  4197. D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5
  4198. } D3D11_TEXTURE_ADDRESS_MODE;
  4199. typedef struct D3D11_SAMPLER_DESC
  4200. {
  4201. D3D11_FILTER Filter;
  4202. D3D11_TEXTURE_ADDRESS_MODE AddressU;
  4203. D3D11_TEXTURE_ADDRESS_MODE AddressV;
  4204. D3D11_TEXTURE_ADDRESS_MODE AddressW;
  4205. FLOAT MipLODBias;
  4206. UINT MaxAnisotropy;
  4207. D3D11_COMPARISON_FUNC ComparisonFunc;
  4208. FLOAT BorderColor[ 4 ];
  4209. FLOAT MinLOD;
  4210. FLOAT MaxLOD;
  4211. } D3D11_SAMPLER_DESC;
  4212. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  4213. }
  4214. struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC
  4215. {
  4216. CD3D11_SAMPLER_DESC()
  4217. {}
  4218. explicit CD3D11_SAMPLER_DESC( const D3D11_SAMPLER_DESC& o ) :
  4219. D3D11_SAMPLER_DESC( o )
  4220. {}
  4221. explicit CD3D11_SAMPLER_DESC( CD3D11_DEFAULT )
  4222. {
  4223. Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
  4224. AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
  4225. AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
  4226. AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
  4227. MipLODBias = 0;
  4228. MaxAnisotropy = 1;
  4229. ComparisonFunc = D3D11_COMPARISON_NEVER;
  4230. BorderColor[ 0 ] = 1.0f;
  4231. BorderColor[ 1 ] = 1.0f;
  4232. BorderColor[ 2 ] = 1.0f;
  4233. BorderColor[ 3 ] = 1.0f;
  4234. MinLOD = -3.402823466e+38F; // -FLT_MAX
  4235. MaxLOD = 3.402823466e+38F; // FLT_MAX
  4236. }
  4237. explicit CD3D11_SAMPLER_DESC(
  4238. D3D11_FILTER filter,
  4239. D3D11_TEXTURE_ADDRESS_MODE addressU,
  4240. D3D11_TEXTURE_ADDRESS_MODE addressV,
  4241. D3D11_TEXTURE_ADDRESS_MODE addressW,
  4242. FLOAT mipLODBias,
  4243. UINT maxAnisotropy,
  4244. D3D11_COMPARISON_FUNC comparisonFunc,
  4245. __in_ecount_opt( 4 ) const FLOAT* borderColor, // RGBA
  4246. FLOAT minLOD,
  4247. FLOAT maxLOD )
  4248. {
  4249. Filter = filter;
  4250. AddressU = addressU;
  4251. AddressV = addressV;
  4252. AddressW = addressW;
  4253. MipLODBias = mipLODBias;
  4254. MaxAnisotropy = maxAnisotropy;
  4255. ComparisonFunc = comparisonFunc;
  4256. const float defaultColor[ 4 ] = { 1.0f, 1.0f, 1.0f, 1.0f };
  4257. if (!borderColor) borderColor = defaultColor;
  4258. BorderColor[ 0 ] = borderColor[ 0 ];
  4259. BorderColor[ 1 ] = borderColor[ 1 ];
  4260. BorderColor[ 2 ] = borderColor[ 2 ];
  4261. BorderColor[ 3 ] = borderColor[ 3 ];
  4262. MinLOD = minLOD;
  4263. MaxLOD = maxLOD;
  4264. }
  4265. ~CD3D11_SAMPLER_DESC() {}
  4266. operator const D3D11_SAMPLER_DESC&() const { return *this; }
  4267. };
  4268. extern "C"{
  4269. #endif
  4270. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0021_v0_0_c_ifspec;
  4271. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0021_v0_0_s_ifspec;
  4272. #ifndef __ID3D11SamplerState_INTERFACE_DEFINED__
  4273. #define __ID3D11SamplerState_INTERFACE_DEFINED__
  4274. /* interface ID3D11SamplerState */
  4275. /* [unique][local][object][uuid] */
  4276. EXTERN_C const IID IID_ID3D11SamplerState;
  4277. #if defined(__cplusplus) && !defined(CINTERFACE)
  4278. MIDL_INTERFACE("da6fea51-564c-4487-9810-f0d0f9b4e3a5")
  4279. ID3D11SamplerState : public ID3D11DeviceChild
  4280. {
  4281. public:
  4282. virtual void STDMETHODCALLTYPE GetDesc(
  4283. /* [annotation] */
  4284. __out D3D11_SAMPLER_DESC *pDesc) = 0;
  4285. };
  4286. #else /* C style interface */
  4287. typedef struct ID3D11SamplerStateVtbl
  4288. {
  4289. BEGIN_INTERFACE
  4290. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4291. ID3D11SamplerState * This,
  4292. /* [in] */ REFIID riid,
  4293. /* [annotation][iid_is][out] */
  4294. __RPC__deref_out void **ppvObject);
  4295. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4296. ID3D11SamplerState * This);
  4297. ULONG ( STDMETHODCALLTYPE *Release )(
  4298. ID3D11SamplerState * This);
  4299. void ( STDMETHODCALLTYPE *GetDevice )(
  4300. ID3D11SamplerState * This,
  4301. /* [annotation] */
  4302. __out ID3D11Device **ppDevice);
  4303. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4304. ID3D11SamplerState * This,
  4305. /* [annotation] */
  4306. __in REFGUID guid,
  4307. /* [annotation] */
  4308. __inout UINT *pDataSize,
  4309. /* [annotation] */
  4310. __out_bcount_opt( *pDataSize ) void *pData);
  4311. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4312. ID3D11SamplerState * This,
  4313. /* [annotation] */
  4314. __in REFGUID guid,
  4315. /* [annotation] */
  4316. __in UINT DataSize,
  4317. /* [annotation] */
  4318. __in_bcount_opt( DataSize ) const void *pData);
  4319. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4320. ID3D11SamplerState * This,
  4321. /* [annotation] */
  4322. __in REFGUID guid,
  4323. /* [annotation] */
  4324. __in_opt const IUnknown *pData);
  4325. void ( STDMETHODCALLTYPE *GetDesc )(
  4326. ID3D11SamplerState * This,
  4327. /* [annotation] */
  4328. __out D3D11_SAMPLER_DESC *pDesc);
  4329. END_INTERFACE
  4330. } ID3D11SamplerStateVtbl;
  4331. interface ID3D11SamplerState
  4332. {
  4333. CONST_VTBL struct ID3D11SamplerStateVtbl *lpVtbl;
  4334. };
  4335. #ifdef COBJMACROS
  4336. #define ID3D11SamplerState_QueryInterface(This,riid,ppvObject) \
  4337. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4338. #define ID3D11SamplerState_AddRef(This) \
  4339. ( (This)->lpVtbl -> AddRef(This) )
  4340. #define ID3D11SamplerState_Release(This) \
  4341. ( (This)->lpVtbl -> Release(This) )
  4342. #define ID3D11SamplerState_GetDevice(This,ppDevice) \
  4343. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4344. #define ID3D11SamplerState_GetPrivateData(This,guid,pDataSize,pData) \
  4345. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4346. #define ID3D11SamplerState_SetPrivateData(This,guid,DataSize,pData) \
  4347. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4348. #define ID3D11SamplerState_SetPrivateDataInterface(This,guid,pData) \
  4349. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4350. #define ID3D11SamplerState_GetDesc(This,pDesc) \
  4351. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  4352. #endif /* COBJMACROS */
  4353. #endif /* C style interface */
  4354. #endif /* __ID3D11SamplerState_INTERFACE_DEFINED__ */
  4355. /* interface __MIDL_itf_d3d11_0000_0022 */
  4356. /* [local] */
  4357. typedef
  4358. enum D3D11_FORMAT_SUPPORT
  4359. { D3D11_FORMAT_SUPPORT_BUFFER = 0x1,
  4360. D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
  4361. D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
  4362. D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8,
  4363. D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10,
  4364. D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20,
  4365. D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40,
  4366. D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
  4367. D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
  4368. D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
  4369. D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
  4370. D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
  4371. D3D11_FORMAT_SUPPORT_MIP = 0x1000,
  4372. D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
  4373. D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
  4374. D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000,
  4375. D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
  4376. D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
  4377. D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
  4378. D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000,
  4379. D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
  4380. D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
  4381. D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
  4382. D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
  4383. D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000,
  4384. D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
  4385. D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000
  4386. } D3D11_FORMAT_SUPPORT;
  4387. typedef
  4388. enum D3D11_FORMAT_SUPPORT2
  4389. { D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
  4390. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
  4391. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
  4392. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
  4393. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
  4394. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
  4395. D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
  4396. D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80
  4397. } D3D11_FORMAT_SUPPORT2;
  4398. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0022_v0_0_c_ifspec;
  4399. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0022_v0_0_s_ifspec;
  4400. #ifndef __ID3D11Asynchronous_INTERFACE_DEFINED__
  4401. #define __ID3D11Asynchronous_INTERFACE_DEFINED__
  4402. /* interface ID3D11Asynchronous */
  4403. /* [unique][local][object][uuid] */
  4404. EXTERN_C const IID IID_ID3D11Asynchronous;
  4405. #if defined(__cplusplus) && !defined(CINTERFACE)
  4406. MIDL_INTERFACE("4b35d0cd-1e15-4258-9c98-1b1333f6dd3b")
  4407. ID3D11Asynchronous : public ID3D11DeviceChild
  4408. {
  4409. public:
  4410. virtual UINT STDMETHODCALLTYPE GetDataSize( void) = 0;
  4411. };
  4412. #else /* C style interface */
  4413. typedef struct ID3D11AsynchronousVtbl
  4414. {
  4415. BEGIN_INTERFACE
  4416. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4417. ID3D11Asynchronous * This,
  4418. /* [in] */ REFIID riid,
  4419. /* [annotation][iid_is][out] */
  4420. __RPC__deref_out void **ppvObject);
  4421. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4422. ID3D11Asynchronous * This);
  4423. ULONG ( STDMETHODCALLTYPE *Release )(
  4424. ID3D11Asynchronous * This);
  4425. void ( STDMETHODCALLTYPE *GetDevice )(
  4426. ID3D11Asynchronous * This,
  4427. /* [annotation] */
  4428. __out ID3D11Device **ppDevice);
  4429. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4430. ID3D11Asynchronous * This,
  4431. /* [annotation] */
  4432. __in REFGUID guid,
  4433. /* [annotation] */
  4434. __inout UINT *pDataSize,
  4435. /* [annotation] */
  4436. __out_bcount_opt( *pDataSize ) void *pData);
  4437. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4438. ID3D11Asynchronous * This,
  4439. /* [annotation] */
  4440. __in REFGUID guid,
  4441. /* [annotation] */
  4442. __in UINT DataSize,
  4443. /* [annotation] */
  4444. __in_bcount_opt( DataSize ) const void *pData);
  4445. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4446. ID3D11Asynchronous * This,
  4447. /* [annotation] */
  4448. __in REFGUID guid,
  4449. /* [annotation] */
  4450. __in_opt const IUnknown *pData);
  4451. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  4452. ID3D11Asynchronous * This);
  4453. END_INTERFACE
  4454. } ID3D11AsynchronousVtbl;
  4455. interface ID3D11Asynchronous
  4456. {
  4457. CONST_VTBL struct ID3D11AsynchronousVtbl *lpVtbl;
  4458. };
  4459. #ifdef COBJMACROS
  4460. #define ID3D11Asynchronous_QueryInterface(This,riid,ppvObject) \
  4461. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4462. #define ID3D11Asynchronous_AddRef(This) \
  4463. ( (This)->lpVtbl -> AddRef(This) )
  4464. #define ID3D11Asynchronous_Release(This) \
  4465. ( (This)->lpVtbl -> Release(This) )
  4466. #define ID3D11Asynchronous_GetDevice(This,ppDevice) \
  4467. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4468. #define ID3D11Asynchronous_GetPrivateData(This,guid,pDataSize,pData) \
  4469. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4470. #define ID3D11Asynchronous_SetPrivateData(This,guid,DataSize,pData) \
  4471. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4472. #define ID3D11Asynchronous_SetPrivateDataInterface(This,guid,pData) \
  4473. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4474. #define ID3D11Asynchronous_GetDataSize(This) \
  4475. ( (This)->lpVtbl -> GetDataSize(This) )
  4476. #endif /* COBJMACROS */
  4477. #endif /* C style interface */
  4478. #endif /* __ID3D11Asynchronous_INTERFACE_DEFINED__ */
  4479. /* interface __MIDL_itf_d3d11_0000_0023 */
  4480. /* [local] */
  4481. typedef
  4482. enum D3D11_ASYNC_GETDATA_FLAG
  4483. { D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1
  4484. } D3D11_ASYNC_GETDATA_FLAG;
  4485. typedef
  4486. enum D3D11_QUERY
  4487. { D3D11_QUERY_EVENT = 0,
  4488. D3D11_QUERY_OCCLUSION = ( D3D11_QUERY_EVENT + 1 ) ,
  4489. D3D11_QUERY_TIMESTAMP = ( D3D11_QUERY_OCCLUSION + 1 ) ,
  4490. D3D11_QUERY_TIMESTAMP_DISJOINT = ( D3D11_QUERY_TIMESTAMP + 1 ) ,
  4491. D3D11_QUERY_PIPELINE_STATISTICS = ( D3D11_QUERY_TIMESTAMP_DISJOINT + 1 ) ,
  4492. D3D11_QUERY_OCCLUSION_PREDICATE = ( D3D11_QUERY_PIPELINE_STATISTICS + 1 ) ,
  4493. D3D11_QUERY_SO_STATISTICS = ( D3D11_QUERY_OCCLUSION_PREDICATE + 1 ) ,
  4494. D3D11_QUERY_SO_OVERFLOW_PREDICATE = ( D3D11_QUERY_SO_STATISTICS + 1 ) ,
  4495. D3D11_QUERY_SO_STATISTICS_STREAM0 = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1 ) ,
  4496. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = ( D3D11_QUERY_SO_STATISTICS_STREAM0 + 1 ) ,
  4497. D3D11_QUERY_SO_STATISTICS_STREAM1 = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1 ) ,
  4498. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = ( D3D11_QUERY_SO_STATISTICS_STREAM1 + 1 ) ,
  4499. D3D11_QUERY_SO_STATISTICS_STREAM2 = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1 ) ,
  4500. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = ( D3D11_QUERY_SO_STATISTICS_STREAM2 + 1 ) ,
  4501. D3D11_QUERY_SO_STATISTICS_STREAM3 = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1 ) ,
  4502. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = ( D3D11_QUERY_SO_STATISTICS_STREAM3 + 1 )
  4503. } D3D11_QUERY;
  4504. typedef
  4505. enum D3D11_QUERY_MISC_FLAG
  4506. { D3D11_QUERY_MISC_PREDICATEHINT = 0x1
  4507. } D3D11_QUERY_MISC_FLAG;
  4508. typedef struct D3D11_QUERY_DESC
  4509. {
  4510. D3D11_QUERY Query;
  4511. UINT MiscFlags;
  4512. } D3D11_QUERY_DESC;
  4513. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  4514. }
  4515. struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC
  4516. {
  4517. CD3D11_QUERY_DESC()
  4518. {}
  4519. explicit CD3D11_QUERY_DESC( const D3D11_QUERY_DESC& o ) :
  4520. D3D11_QUERY_DESC( o )
  4521. {}
  4522. explicit CD3D11_QUERY_DESC(
  4523. D3D11_QUERY query,
  4524. UINT miscFlags = 0 )
  4525. {
  4526. Query = query;
  4527. MiscFlags = miscFlags;
  4528. }
  4529. ~CD3D11_QUERY_DESC() {}
  4530. operator const D3D11_QUERY_DESC&() const { return *this; }
  4531. };
  4532. extern "C"{
  4533. #endif
  4534. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0023_v0_0_c_ifspec;
  4535. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0023_v0_0_s_ifspec;
  4536. #ifndef __ID3D11Query_INTERFACE_DEFINED__
  4537. #define __ID3D11Query_INTERFACE_DEFINED__
  4538. /* interface ID3D11Query */
  4539. /* [unique][local][object][uuid] */
  4540. EXTERN_C const IID IID_ID3D11Query;
  4541. #if defined(__cplusplus) && !defined(CINTERFACE)
  4542. MIDL_INTERFACE("d6c00747-87b7-425e-b84d-44d108560afd")
  4543. ID3D11Query : public ID3D11Asynchronous
  4544. {
  4545. public:
  4546. virtual void STDMETHODCALLTYPE GetDesc(
  4547. /* [annotation] */
  4548. __out D3D11_QUERY_DESC *pDesc) = 0;
  4549. };
  4550. #else /* C style interface */
  4551. typedef struct ID3D11QueryVtbl
  4552. {
  4553. BEGIN_INTERFACE
  4554. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4555. ID3D11Query * This,
  4556. /* [in] */ REFIID riid,
  4557. /* [annotation][iid_is][out] */
  4558. __RPC__deref_out void **ppvObject);
  4559. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4560. ID3D11Query * This);
  4561. ULONG ( STDMETHODCALLTYPE *Release )(
  4562. ID3D11Query * This);
  4563. void ( STDMETHODCALLTYPE *GetDevice )(
  4564. ID3D11Query * This,
  4565. /* [annotation] */
  4566. __out ID3D11Device **ppDevice);
  4567. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4568. ID3D11Query * This,
  4569. /* [annotation] */
  4570. __in REFGUID guid,
  4571. /* [annotation] */
  4572. __inout UINT *pDataSize,
  4573. /* [annotation] */
  4574. __out_bcount_opt( *pDataSize ) void *pData);
  4575. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4576. ID3D11Query * This,
  4577. /* [annotation] */
  4578. __in REFGUID guid,
  4579. /* [annotation] */
  4580. __in UINT DataSize,
  4581. /* [annotation] */
  4582. __in_bcount_opt( DataSize ) const void *pData);
  4583. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4584. ID3D11Query * This,
  4585. /* [annotation] */
  4586. __in REFGUID guid,
  4587. /* [annotation] */
  4588. __in_opt const IUnknown *pData);
  4589. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  4590. ID3D11Query * This);
  4591. void ( STDMETHODCALLTYPE *GetDesc )(
  4592. ID3D11Query * This,
  4593. /* [annotation] */
  4594. __out D3D11_QUERY_DESC *pDesc);
  4595. END_INTERFACE
  4596. } ID3D11QueryVtbl;
  4597. interface ID3D11Query
  4598. {
  4599. CONST_VTBL struct ID3D11QueryVtbl *lpVtbl;
  4600. };
  4601. #ifdef COBJMACROS
  4602. #define ID3D11Query_QueryInterface(This,riid,ppvObject) \
  4603. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4604. #define ID3D11Query_AddRef(This) \
  4605. ( (This)->lpVtbl -> AddRef(This) )
  4606. #define ID3D11Query_Release(This) \
  4607. ( (This)->lpVtbl -> Release(This) )
  4608. #define ID3D11Query_GetDevice(This,ppDevice) \
  4609. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4610. #define ID3D11Query_GetPrivateData(This,guid,pDataSize,pData) \
  4611. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4612. #define ID3D11Query_SetPrivateData(This,guid,DataSize,pData) \
  4613. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4614. #define ID3D11Query_SetPrivateDataInterface(This,guid,pData) \
  4615. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4616. #define ID3D11Query_GetDataSize(This) \
  4617. ( (This)->lpVtbl -> GetDataSize(This) )
  4618. #define ID3D11Query_GetDesc(This,pDesc) \
  4619. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  4620. #endif /* COBJMACROS */
  4621. #endif /* C style interface */
  4622. #endif /* __ID3D11Query_INTERFACE_DEFINED__ */
  4623. #ifndef __ID3D11Predicate_INTERFACE_DEFINED__
  4624. #define __ID3D11Predicate_INTERFACE_DEFINED__
  4625. /* interface ID3D11Predicate */
  4626. /* [unique][local][object][uuid] */
  4627. EXTERN_C const IID IID_ID3D11Predicate;
  4628. #if defined(__cplusplus) && !defined(CINTERFACE)
  4629. MIDL_INTERFACE("9eb576dd-9f77-4d86-81aa-8bab5fe490e2")
  4630. ID3D11Predicate : public ID3D11Query
  4631. {
  4632. public:
  4633. };
  4634. #else /* C style interface */
  4635. typedef struct ID3D11PredicateVtbl
  4636. {
  4637. BEGIN_INTERFACE
  4638. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4639. ID3D11Predicate * This,
  4640. /* [in] */ REFIID riid,
  4641. /* [annotation][iid_is][out] */
  4642. __RPC__deref_out void **ppvObject);
  4643. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4644. ID3D11Predicate * This);
  4645. ULONG ( STDMETHODCALLTYPE *Release )(
  4646. ID3D11Predicate * This);
  4647. void ( STDMETHODCALLTYPE *GetDevice )(
  4648. ID3D11Predicate * This,
  4649. /* [annotation] */
  4650. __out ID3D11Device **ppDevice);
  4651. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4652. ID3D11Predicate * This,
  4653. /* [annotation] */
  4654. __in REFGUID guid,
  4655. /* [annotation] */
  4656. __inout UINT *pDataSize,
  4657. /* [annotation] */
  4658. __out_bcount_opt( *pDataSize ) void *pData);
  4659. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4660. ID3D11Predicate * This,
  4661. /* [annotation] */
  4662. __in REFGUID guid,
  4663. /* [annotation] */
  4664. __in UINT DataSize,
  4665. /* [annotation] */
  4666. __in_bcount_opt( DataSize ) const void *pData);
  4667. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4668. ID3D11Predicate * This,
  4669. /* [annotation] */
  4670. __in REFGUID guid,
  4671. /* [annotation] */
  4672. __in_opt const IUnknown *pData);
  4673. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  4674. ID3D11Predicate * This);
  4675. void ( STDMETHODCALLTYPE *GetDesc )(
  4676. ID3D11Predicate * This,
  4677. /* [annotation] */
  4678. __out D3D11_QUERY_DESC *pDesc);
  4679. END_INTERFACE
  4680. } ID3D11PredicateVtbl;
  4681. interface ID3D11Predicate
  4682. {
  4683. CONST_VTBL struct ID3D11PredicateVtbl *lpVtbl;
  4684. };
  4685. #ifdef COBJMACROS
  4686. #define ID3D11Predicate_QueryInterface(This,riid,ppvObject) \
  4687. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4688. #define ID3D11Predicate_AddRef(This) \
  4689. ( (This)->lpVtbl -> AddRef(This) )
  4690. #define ID3D11Predicate_Release(This) \
  4691. ( (This)->lpVtbl -> Release(This) )
  4692. #define ID3D11Predicate_GetDevice(This,ppDevice) \
  4693. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4694. #define ID3D11Predicate_GetPrivateData(This,guid,pDataSize,pData) \
  4695. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4696. #define ID3D11Predicate_SetPrivateData(This,guid,DataSize,pData) \
  4697. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4698. #define ID3D11Predicate_SetPrivateDataInterface(This,guid,pData) \
  4699. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4700. #define ID3D11Predicate_GetDataSize(This) \
  4701. ( (This)->lpVtbl -> GetDataSize(This) )
  4702. #define ID3D11Predicate_GetDesc(This,pDesc) \
  4703. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  4704. #endif /* COBJMACROS */
  4705. #endif /* C style interface */
  4706. #endif /* __ID3D11Predicate_INTERFACE_DEFINED__ */
  4707. /* interface __MIDL_itf_d3d11_0000_0025 */
  4708. /* [local] */
  4709. typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
  4710. {
  4711. UINT64 Frequency;
  4712. BOOL Disjoint;
  4713. } D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
  4714. typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS
  4715. {
  4716. UINT64 IAVertices;
  4717. UINT64 IAPrimitives;
  4718. UINT64 VSInvocations;
  4719. UINT64 GSInvocations;
  4720. UINT64 GSPrimitives;
  4721. UINT64 CInvocations;
  4722. UINT64 CPrimitives;
  4723. UINT64 PSInvocations;
  4724. UINT64 HSInvocations;
  4725. UINT64 DSInvocations;
  4726. UINT64 CSInvocations;
  4727. } D3D11_QUERY_DATA_PIPELINE_STATISTICS;
  4728. typedef struct D3D11_QUERY_DATA_SO_STATISTICS
  4729. {
  4730. UINT64 NumPrimitivesWritten;
  4731. UINT64 PrimitivesStorageNeeded;
  4732. } D3D11_QUERY_DATA_SO_STATISTICS;
  4733. typedef
  4734. enum D3D11_COUNTER
  4735. { D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
  4736. } D3D11_COUNTER;
  4737. typedef
  4738. enum D3D11_COUNTER_TYPE
  4739. { D3D11_COUNTER_TYPE_FLOAT32 = 0,
  4740. D3D11_COUNTER_TYPE_UINT16 = ( D3D11_COUNTER_TYPE_FLOAT32 + 1 ) ,
  4741. D3D11_COUNTER_TYPE_UINT32 = ( D3D11_COUNTER_TYPE_UINT16 + 1 ) ,
  4742. D3D11_COUNTER_TYPE_UINT64 = ( D3D11_COUNTER_TYPE_UINT32 + 1 )
  4743. } D3D11_COUNTER_TYPE;
  4744. typedef struct D3D11_COUNTER_DESC
  4745. {
  4746. D3D11_COUNTER Counter;
  4747. UINT MiscFlags;
  4748. } D3D11_COUNTER_DESC;
  4749. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  4750. }
  4751. struct CD3D11_COUNTER_DESC : public D3D11_COUNTER_DESC
  4752. {
  4753. CD3D11_COUNTER_DESC()
  4754. {}
  4755. explicit CD3D11_COUNTER_DESC( const D3D11_COUNTER_DESC& o ) :
  4756. D3D11_COUNTER_DESC( o )
  4757. {}
  4758. explicit CD3D11_COUNTER_DESC(
  4759. D3D11_COUNTER counter,
  4760. UINT miscFlags = 0 )
  4761. {
  4762. Counter = counter;
  4763. MiscFlags = miscFlags;
  4764. }
  4765. ~CD3D11_COUNTER_DESC() {}
  4766. operator const D3D11_COUNTER_DESC&() const { return *this; }
  4767. };
  4768. extern "C"{
  4769. #endif
  4770. typedef struct D3D11_COUNTER_INFO
  4771. {
  4772. D3D11_COUNTER LastDeviceDependentCounter;
  4773. UINT NumSimultaneousCounters;
  4774. UINT8 NumDetectableParallelUnits;
  4775. } D3D11_COUNTER_INFO;
  4776. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0025_v0_0_c_ifspec;
  4777. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0025_v0_0_s_ifspec;
  4778. #ifndef __ID3D11Counter_INTERFACE_DEFINED__
  4779. #define __ID3D11Counter_INTERFACE_DEFINED__
  4780. /* interface ID3D11Counter */
  4781. /* [unique][local][object][uuid] */
  4782. EXTERN_C const IID IID_ID3D11Counter;
  4783. #if defined(__cplusplus) && !defined(CINTERFACE)
  4784. MIDL_INTERFACE("6e8c49fb-a371-4770-b440-29086022b741")
  4785. ID3D11Counter : public ID3D11Asynchronous
  4786. {
  4787. public:
  4788. virtual void STDMETHODCALLTYPE GetDesc(
  4789. /* [annotation] */
  4790. __out D3D11_COUNTER_DESC *pDesc) = 0;
  4791. };
  4792. #else /* C style interface */
  4793. typedef struct ID3D11CounterVtbl
  4794. {
  4795. BEGIN_INTERFACE
  4796. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4797. ID3D11Counter * This,
  4798. /* [in] */ REFIID riid,
  4799. /* [annotation][iid_is][out] */
  4800. __RPC__deref_out void **ppvObject);
  4801. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4802. ID3D11Counter * This);
  4803. ULONG ( STDMETHODCALLTYPE *Release )(
  4804. ID3D11Counter * This);
  4805. void ( STDMETHODCALLTYPE *GetDevice )(
  4806. ID3D11Counter * This,
  4807. /* [annotation] */
  4808. __out ID3D11Device **ppDevice);
  4809. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4810. ID3D11Counter * This,
  4811. /* [annotation] */
  4812. __in REFGUID guid,
  4813. /* [annotation] */
  4814. __inout UINT *pDataSize,
  4815. /* [annotation] */
  4816. __out_bcount_opt( *pDataSize ) void *pData);
  4817. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4818. ID3D11Counter * This,
  4819. /* [annotation] */
  4820. __in REFGUID guid,
  4821. /* [annotation] */
  4822. __in UINT DataSize,
  4823. /* [annotation] */
  4824. __in_bcount_opt( DataSize ) const void *pData);
  4825. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4826. ID3D11Counter * This,
  4827. /* [annotation] */
  4828. __in REFGUID guid,
  4829. /* [annotation] */
  4830. __in_opt const IUnknown *pData);
  4831. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  4832. ID3D11Counter * This);
  4833. void ( STDMETHODCALLTYPE *GetDesc )(
  4834. ID3D11Counter * This,
  4835. /* [annotation] */
  4836. __out D3D11_COUNTER_DESC *pDesc);
  4837. END_INTERFACE
  4838. } ID3D11CounterVtbl;
  4839. interface ID3D11Counter
  4840. {
  4841. CONST_VTBL struct ID3D11CounterVtbl *lpVtbl;
  4842. };
  4843. #ifdef COBJMACROS
  4844. #define ID3D11Counter_QueryInterface(This,riid,ppvObject) \
  4845. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4846. #define ID3D11Counter_AddRef(This) \
  4847. ( (This)->lpVtbl -> AddRef(This) )
  4848. #define ID3D11Counter_Release(This) \
  4849. ( (This)->lpVtbl -> Release(This) )
  4850. #define ID3D11Counter_GetDevice(This,ppDevice) \
  4851. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4852. #define ID3D11Counter_GetPrivateData(This,guid,pDataSize,pData) \
  4853. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4854. #define ID3D11Counter_SetPrivateData(This,guid,DataSize,pData) \
  4855. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4856. #define ID3D11Counter_SetPrivateDataInterface(This,guid,pData) \
  4857. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4858. #define ID3D11Counter_GetDataSize(This) \
  4859. ( (This)->lpVtbl -> GetDataSize(This) )
  4860. #define ID3D11Counter_GetDesc(This,pDesc) \
  4861. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  4862. #endif /* COBJMACROS */
  4863. #endif /* C style interface */
  4864. #endif /* __ID3D11Counter_INTERFACE_DEFINED__ */
  4865. /* interface __MIDL_itf_d3d11_0000_0026 */
  4866. /* [local] */
  4867. typedef
  4868. enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS
  4869. { D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
  4870. D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
  4871. } D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
  4872. typedef
  4873. enum D3D11_DEVICE_CONTEXT_TYPE
  4874. { D3D11_DEVICE_CONTEXT_IMMEDIATE = 0,
  4875. D3D11_DEVICE_CONTEXT_DEFERRED = ( D3D11_DEVICE_CONTEXT_IMMEDIATE + 1 )
  4876. } D3D11_DEVICE_CONTEXT_TYPE;
  4877. typedef struct D3D11_CLASS_INSTANCE_DESC
  4878. {
  4879. UINT InstanceId;
  4880. UINT InstanceIndex;
  4881. UINT TypeId;
  4882. UINT ConstantBuffer;
  4883. UINT BaseConstantBufferOffset;
  4884. UINT BaseTexture;
  4885. UINT BaseSampler;
  4886. BOOL Created;
  4887. } D3D11_CLASS_INSTANCE_DESC;
  4888. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0026_v0_0_c_ifspec;
  4889. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0026_v0_0_s_ifspec;
  4890. #ifndef __ID3D11ClassInstance_INTERFACE_DEFINED__
  4891. #define __ID3D11ClassInstance_INTERFACE_DEFINED__
  4892. /* interface ID3D11ClassInstance */
  4893. /* [unique][local][object][uuid] */
  4894. EXTERN_C const IID IID_ID3D11ClassInstance;
  4895. #if defined(__cplusplus) && !defined(CINTERFACE)
  4896. MIDL_INTERFACE("a6cd7faa-b0b7-4a2f-9436-8662a65797cb")
  4897. ID3D11ClassInstance : public ID3D11DeviceChild
  4898. {
  4899. public:
  4900. virtual void STDMETHODCALLTYPE GetClassLinkage(
  4901. /* [annotation] */
  4902. __out ID3D11ClassLinkage **ppLinkage) = 0;
  4903. virtual void STDMETHODCALLTYPE GetDesc(
  4904. /* [annotation] */
  4905. __out D3D11_CLASS_INSTANCE_DESC *pDesc) = 0;
  4906. virtual void STDMETHODCALLTYPE GetInstanceName(
  4907. /* [annotation] */
  4908. __out_ecount_opt(*pBufferLength) LPSTR pInstanceName,
  4909. /* [annotation] */
  4910. __inout SIZE_T *pBufferLength) = 0;
  4911. virtual void STDMETHODCALLTYPE GetTypeName(
  4912. /* [annotation] */
  4913. __out_ecount_opt(*pBufferLength) LPSTR pTypeName,
  4914. /* [annotation] */
  4915. __inout SIZE_T *pBufferLength) = 0;
  4916. };
  4917. #else /* C style interface */
  4918. typedef struct ID3D11ClassInstanceVtbl
  4919. {
  4920. BEGIN_INTERFACE
  4921. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4922. ID3D11ClassInstance * This,
  4923. /* [in] */ REFIID riid,
  4924. /* [annotation][iid_is][out] */
  4925. __RPC__deref_out void **ppvObject);
  4926. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4927. ID3D11ClassInstance * This);
  4928. ULONG ( STDMETHODCALLTYPE *Release )(
  4929. ID3D11ClassInstance * This);
  4930. void ( STDMETHODCALLTYPE *GetDevice )(
  4931. ID3D11ClassInstance * This,
  4932. /* [annotation] */
  4933. __out ID3D11Device **ppDevice);
  4934. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4935. ID3D11ClassInstance * This,
  4936. /* [annotation] */
  4937. __in REFGUID guid,
  4938. /* [annotation] */
  4939. __inout UINT *pDataSize,
  4940. /* [annotation] */
  4941. __out_bcount_opt( *pDataSize ) void *pData);
  4942. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4943. ID3D11ClassInstance * This,
  4944. /* [annotation] */
  4945. __in REFGUID guid,
  4946. /* [annotation] */
  4947. __in UINT DataSize,
  4948. /* [annotation] */
  4949. __in_bcount_opt( DataSize ) const void *pData);
  4950. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4951. ID3D11ClassInstance * This,
  4952. /* [annotation] */
  4953. __in REFGUID guid,
  4954. /* [annotation] */
  4955. __in_opt const IUnknown *pData);
  4956. void ( STDMETHODCALLTYPE *GetClassLinkage )(
  4957. ID3D11ClassInstance * This,
  4958. /* [annotation] */
  4959. __out ID3D11ClassLinkage **ppLinkage);
  4960. void ( STDMETHODCALLTYPE *GetDesc )(
  4961. ID3D11ClassInstance * This,
  4962. /* [annotation] */
  4963. __out D3D11_CLASS_INSTANCE_DESC *pDesc);
  4964. void ( STDMETHODCALLTYPE *GetInstanceName )(
  4965. ID3D11ClassInstance * This,
  4966. /* [annotation] */
  4967. __out_ecount_opt(*pBufferLength) LPSTR pInstanceName,
  4968. /* [annotation] */
  4969. __inout SIZE_T *pBufferLength);
  4970. void ( STDMETHODCALLTYPE *GetTypeName )(
  4971. ID3D11ClassInstance * This,
  4972. /* [annotation] */
  4973. __out_ecount_opt(*pBufferLength) LPSTR pTypeName,
  4974. /* [annotation] */
  4975. __inout SIZE_T *pBufferLength);
  4976. END_INTERFACE
  4977. } ID3D11ClassInstanceVtbl;
  4978. interface ID3D11ClassInstance
  4979. {
  4980. CONST_VTBL struct ID3D11ClassInstanceVtbl *lpVtbl;
  4981. };
  4982. #ifdef COBJMACROS
  4983. #define ID3D11ClassInstance_QueryInterface(This,riid,ppvObject) \
  4984. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4985. #define ID3D11ClassInstance_AddRef(This) \
  4986. ( (This)->lpVtbl -> AddRef(This) )
  4987. #define ID3D11ClassInstance_Release(This) \
  4988. ( (This)->lpVtbl -> Release(This) )
  4989. #define ID3D11ClassInstance_GetDevice(This,ppDevice) \
  4990. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  4991. #define ID3D11ClassInstance_GetPrivateData(This,guid,pDataSize,pData) \
  4992. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4993. #define ID3D11ClassInstance_SetPrivateData(This,guid,DataSize,pData) \
  4994. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4995. #define ID3D11ClassInstance_SetPrivateDataInterface(This,guid,pData) \
  4996. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4997. #define ID3D11ClassInstance_GetClassLinkage(This,ppLinkage) \
  4998. ( (This)->lpVtbl -> GetClassLinkage(This,ppLinkage) )
  4999. #define ID3D11ClassInstance_GetDesc(This,pDesc) \
  5000. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  5001. #define ID3D11ClassInstance_GetInstanceName(This,pInstanceName,pBufferLength) \
  5002. ( (This)->lpVtbl -> GetInstanceName(This,pInstanceName,pBufferLength) )
  5003. #define ID3D11ClassInstance_GetTypeName(This,pTypeName,pBufferLength) \
  5004. ( (This)->lpVtbl -> GetTypeName(This,pTypeName,pBufferLength) )
  5005. #endif /* COBJMACROS */
  5006. #endif /* C style interface */
  5007. #endif /* __ID3D11ClassInstance_INTERFACE_DEFINED__ */
  5008. #ifndef __ID3D11ClassLinkage_INTERFACE_DEFINED__
  5009. #define __ID3D11ClassLinkage_INTERFACE_DEFINED__
  5010. /* interface ID3D11ClassLinkage */
  5011. /* [unique][local][object][uuid] */
  5012. EXTERN_C const IID IID_ID3D11ClassLinkage;
  5013. #if defined(__cplusplus) && !defined(CINTERFACE)
  5014. MIDL_INTERFACE("ddf57cba-9543-46e4-a12b-f207a0fe7fed")
  5015. ID3D11ClassLinkage : public ID3D11DeviceChild
  5016. {
  5017. public:
  5018. virtual HRESULT STDMETHODCALLTYPE GetClassInstance(
  5019. /* [annotation] */
  5020. __in LPCSTR pClassInstanceName,
  5021. /* [annotation] */
  5022. __in UINT InstanceIndex,
  5023. /* [annotation] */
  5024. __out ID3D11ClassInstance **ppInstance) = 0;
  5025. virtual HRESULT STDMETHODCALLTYPE CreateClassInstance(
  5026. /* [annotation] */
  5027. __in LPCSTR pClassTypeName,
  5028. /* [annotation] */
  5029. __in UINT ConstantBufferOffset,
  5030. /* [annotation] */
  5031. __in UINT ConstantVectorOffset,
  5032. /* [annotation] */
  5033. __in UINT TextureOffset,
  5034. /* [annotation] */
  5035. __in UINT SamplerOffset,
  5036. /* [annotation] */
  5037. __out ID3D11ClassInstance **ppInstance) = 0;
  5038. };
  5039. #else /* C style interface */
  5040. typedef struct ID3D11ClassLinkageVtbl
  5041. {
  5042. BEGIN_INTERFACE
  5043. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5044. ID3D11ClassLinkage * This,
  5045. /* [in] */ REFIID riid,
  5046. /* [annotation][iid_is][out] */
  5047. __RPC__deref_out void **ppvObject);
  5048. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5049. ID3D11ClassLinkage * This);
  5050. ULONG ( STDMETHODCALLTYPE *Release )(
  5051. ID3D11ClassLinkage * This);
  5052. void ( STDMETHODCALLTYPE *GetDevice )(
  5053. ID3D11ClassLinkage * This,
  5054. /* [annotation] */
  5055. __out ID3D11Device **ppDevice);
  5056. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  5057. ID3D11ClassLinkage * This,
  5058. /* [annotation] */
  5059. __in REFGUID guid,
  5060. /* [annotation] */
  5061. __inout UINT *pDataSize,
  5062. /* [annotation] */
  5063. __out_bcount_opt( *pDataSize ) void *pData);
  5064. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  5065. ID3D11ClassLinkage * This,
  5066. /* [annotation] */
  5067. __in REFGUID guid,
  5068. /* [annotation] */
  5069. __in UINT DataSize,
  5070. /* [annotation] */
  5071. __in_bcount_opt( DataSize ) const void *pData);
  5072. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  5073. ID3D11ClassLinkage * This,
  5074. /* [annotation] */
  5075. __in REFGUID guid,
  5076. /* [annotation] */
  5077. __in_opt const IUnknown *pData);
  5078. HRESULT ( STDMETHODCALLTYPE *GetClassInstance )(
  5079. ID3D11ClassLinkage * This,
  5080. /* [annotation] */
  5081. __in LPCSTR pClassInstanceName,
  5082. /* [annotation] */
  5083. __in UINT InstanceIndex,
  5084. /* [annotation] */
  5085. __out ID3D11ClassInstance **ppInstance);
  5086. HRESULT ( STDMETHODCALLTYPE *CreateClassInstance )(
  5087. ID3D11ClassLinkage * This,
  5088. /* [annotation] */
  5089. __in LPCSTR pClassTypeName,
  5090. /* [annotation] */
  5091. __in UINT ConstantBufferOffset,
  5092. /* [annotation] */
  5093. __in UINT ConstantVectorOffset,
  5094. /* [annotation] */
  5095. __in UINT TextureOffset,
  5096. /* [annotation] */
  5097. __in UINT SamplerOffset,
  5098. /* [annotation] */
  5099. __out ID3D11ClassInstance **ppInstance);
  5100. END_INTERFACE
  5101. } ID3D11ClassLinkageVtbl;
  5102. interface ID3D11ClassLinkage
  5103. {
  5104. CONST_VTBL struct ID3D11ClassLinkageVtbl *lpVtbl;
  5105. };
  5106. #ifdef COBJMACROS
  5107. #define ID3D11ClassLinkage_QueryInterface(This,riid,ppvObject) \
  5108. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  5109. #define ID3D11ClassLinkage_AddRef(This) \
  5110. ( (This)->lpVtbl -> AddRef(This) )
  5111. #define ID3D11ClassLinkage_Release(This) \
  5112. ( (This)->lpVtbl -> Release(This) )
  5113. #define ID3D11ClassLinkage_GetDevice(This,ppDevice) \
  5114. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  5115. #define ID3D11ClassLinkage_GetPrivateData(This,guid,pDataSize,pData) \
  5116. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  5117. #define ID3D11ClassLinkage_SetPrivateData(This,guid,DataSize,pData) \
  5118. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  5119. #define ID3D11ClassLinkage_SetPrivateDataInterface(This,guid,pData) \
  5120. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  5121. #define ID3D11ClassLinkage_GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance) \
  5122. ( (This)->lpVtbl -> GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance) )
  5123. #define ID3D11ClassLinkage_CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance) \
  5124. ( (This)->lpVtbl -> CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance) )
  5125. #endif /* COBJMACROS */
  5126. #endif /* C style interface */
  5127. #endif /* __ID3D11ClassLinkage_INTERFACE_DEFINED__ */
  5128. #ifndef __ID3D11CommandList_INTERFACE_DEFINED__
  5129. #define __ID3D11CommandList_INTERFACE_DEFINED__
  5130. /* interface ID3D11CommandList */
  5131. /* [unique][local][object][uuid] */
  5132. EXTERN_C const IID IID_ID3D11CommandList;
  5133. #if defined(__cplusplus) && !defined(CINTERFACE)
  5134. MIDL_INTERFACE("a24bc4d1-769e-43f7-8013-98ff566c18e2")
  5135. ID3D11CommandList : public ID3D11DeviceChild
  5136. {
  5137. public:
  5138. virtual UINT STDMETHODCALLTYPE GetContextFlags( void) = 0;
  5139. };
  5140. #else /* C style interface */
  5141. typedef struct ID3D11CommandListVtbl
  5142. {
  5143. BEGIN_INTERFACE
  5144. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5145. ID3D11CommandList * This,
  5146. /* [in] */ REFIID riid,
  5147. /* [annotation][iid_is][out] */
  5148. __RPC__deref_out void **ppvObject);
  5149. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5150. ID3D11CommandList * This);
  5151. ULONG ( STDMETHODCALLTYPE *Release )(
  5152. ID3D11CommandList * This);
  5153. void ( STDMETHODCALLTYPE *GetDevice )(
  5154. ID3D11CommandList * This,
  5155. /* [annotation] */
  5156. __out ID3D11Device **ppDevice);
  5157. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  5158. ID3D11CommandList * This,
  5159. /* [annotation] */
  5160. __in REFGUID guid,
  5161. /* [annotation] */
  5162. __inout UINT *pDataSize,
  5163. /* [annotation] */
  5164. __out_bcount_opt( *pDataSize ) void *pData);
  5165. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  5166. ID3D11CommandList * This,
  5167. /* [annotation] */
  5168. __in REFGUID guid,
  5169. /* [annotation] */
  5170. __in UINT DataSize,
  5171. /* [annotation] */
  5172. __in_bcount_opt( DataSize ) const void *pData);
  5173. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  5174. ID3D11CommandList * This,
  5175. /* [annotation] */
  5176. __in REFGUID guid,
  5177. /* [annotation] */
  5178. __in_opt const IUnknown *pData);
  5179. UINT ( STDMETHODCALLTYPE *GetContextFlags )(
  5180. ID3D11CommandList * This);
  5181. END_INTERFACE
  5182. } ID3D11CommandListVtbl;
  5183. interface ID3D11CommandList
  5184. {
  5185. CONST_VTBL struct ID3D11CommandListVtbl *lpVtbl;
  5186. };
  5187. #ifdef COBJMACROS
  5188. #define ID3D11CommandList_QueryInterface(This,riid,ppvObject) \
  5189. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  5190. #define ID3D11CommandList_AddRef(This) \
  5191. ( (This)->lpVtbl -> AddRef(This) )
  5192. #define ID3D11CommandList_Release(This) \
  5193. ( (This)->lpVtbl -> Release(This) )
  5194. #define ID3D11CommandList_GetDevice(This,ppDevice) \
  5195. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  5196. #define ID3D11CommandList_GetPrivateData(This,guid,pDataSize,pData) \
  5197. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  5198. #define ID3D11CommandList_SetPrivateData(This,guid,DataSize,pData) \
  5199. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  5200. #define ID3D11CommandList_SetPrivateDataInterface(This,guid,pData) \
  5201. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  5202. #define ID3D11CommandList_GetContextFlags(This) \
  5203. ( (This)->lpVtbl -> GetContextFlags(This) )
  5204. #endif /* COBJMACROS */
  5205. #endif /* C style interface */
  5206. #endif /* __ID3D11CommandList_INTERFACE_DEFINED__ */
  5207. /* interface __MIDL_itf_d3d11_0000_0029 */
  5208. /* [local] */
  5209. typedef
  5210. enum D3D11_FEATURE
  5211. { D3D11_FEATURE_THREADING = 0,
  5212. D3D11_FEATURE_DOUBLES = ( D3D11_FEATURE_THREADING + 1 ) ,
  5213. D3D11_FEATURE_FORMAT_SUPPORT = ( D3D11_FEATURE_DOUBLES + 1 ) ,
  5214. D3D11_FEATURE_FORMAT_SUPPORT2 = ( D3D11_FEATURE_FORMAT_SUPPORT + 1 ) ,
  5215. D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = ( D3D11_FEATURE_FORMAT_SUPPORT2 + 1 )
  5216. } D3D11_FEATURE;
  5217. typedef struct D3D11_FEATURE_DATA_THREADING
  5218. {
  5219. BOOL DriverConcurrentCreates;
  5220. BOOL DriverCommandLists;
  5221. } D3D11_FEATURE_DATA_THREADING;
  5222. typedef struct D3D11_FEATURE_DATA_DOUBLES
  5223. {
  5224. BOOL DoublePrecisionFloatShaderOps;
  5225. } D3D11_FEATURE_DATA_DOUBLES;
  5226. typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT
  5227. {
  5228. DXGI_FORMAT InFormat;
  5229. UINT OutFormatSupport;
  5230. } D3D11_FEATURE_DATA_FORMAT_SUPPORT;
  5231. typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2
  5232. {
  5233. DXGI_FORMAT InFormat;
  5234. UINT OutFormatSupport2;
  5235. } D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
  5236. typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS
  5237. {
  5238. BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
  5239. } D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
  5240. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0029_v0_0_c_ifspec;
  5241. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0029_v0_0_s_ifspec;
  5242. #ifndef __ID3D11DeviceContext_INTERFACE_DEFINED__
  5243. #define __ID3D11DeviceContext_INTERFACE_DEFINED__
  5244. /* interface ID3D11DeviceContext */
  5245. /* [unique][local][object][uuid] */
  5246. EXTERN_C const IID IID_ID3D11DeviceContext;
  5247. #if defined(__cplusplus) && !defined(CINTERFACE)
  5248. MIDL_INTERFACE("c0bfa96c-e089-44fb-8eaf-26f8796190da")
  5249. ID3D11DeviceContext : public ID3D11DeviceChild
  5250. {
  5251. public:
  5252. virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
  5253. /* [annotation] */
  5254. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5255. /* [annotation] */
  5256. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5257. /* [annotation] */
  5258. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers) = 0;
  5259. virtual void STDMETHODCALLTYPE PSSetShaderResources(
  5260. /* [annotation] */
  5261. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5262. /* [annotation] */
  5263. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5264. /* [annotation] */
  5265. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5266. virtual void STDMETHODCALLTYPE PSSetShader(
  5267. /* [annotation] */
  5268. __in_opt ID3D11PixelShader *pPixelShader,
  5269. /* [annotation] */
  5270. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  5271. UINT NumClassInstances) = 0;
  5272. virtual void STDMETHODCALLTYPE PSSetSamplers(
  5273. /* [annotation] */
  5274. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5275. /* [annotation] */
  5276. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5277. /* [annotation] */
  5278. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers) = 0;
  5279. virtual void STDMETHODCALLTYPE VSSetShader(
  5280. /* [annotation] */
  5281. __in_opt ID3D11VertexShader *pVertexShader,
  5282. /* [annotation] */
  5283. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  5284. UINT NumClassInstances) = 0;
  5285. virtual void STDMETHODCALLTYPE DrawIndexed(
  5286. /* [annotation] */
  5287. __in UINT IndexCount,
  5288. /* [annotation] */
  5289. __in UINT StartIndexLocation,
  5290. /* [annotation] */
  5291. __in INT BaseVertexLocation) = 0;
  5292. virtual void STDMETHODCALLTYPE Draw(
  5293. /* [annotation] */
  5294. __in UINT VertexCount,
  5295. /* [annotation] */
  5296. __in UINT StartVertexLocation) = 0;
  5297. virtual HRESULT STDMETHODCALLTYPE Map(
  5298. /* [annotation] */
  5299. __in ID3D11Resource *pResource,
  5300. /* [annotation] */
  5301. __in UINT Subresource,
  5302. /* [annotation] */
  5303. __in D3D11_MAP MapType,
  5304. /* [annotation] */
  5305. __in UINT MapFlags,
  5306. /* [annotation] */
  5307. __out D3D11_MAPPED_SUBRESOURCE *pMappedResource) = 0;
  5308. virtual void STDMETHODCALLTYPE Unmap(
  5309. /* [annotation] */
  5310. __in ID3D11Resource *pResource,
  5311. /* [annotation] */
  5312. __in UINT Subresource) = 0;
  5313. virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
  5314. /* [annotation] */
  5315. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5316. /* [annotation] */
  5317. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5318. /* [annotation] */
  5319. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers) = 0;
  5320. virtual void STDMETHODCALLTYPE IASetInputLayout(
  5321. /* [annotation] */
  5322. __in_opt ID3D11InputLayout *pInputLayout) = 0;
  5323. virtual void STDMETHODCALLTYPE IASetVertexBuffers(
  5324. /* [annotation] */
  5325. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5326. /* [annotation] */
  5327. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5328. /* [annotation] */
  5329. __in_ecount(NumBuffers) ID3D11Buffer *const *ppVertexBuffers,
  5330. /* [annotation] */
  5331. __in_ecount(NumBuffers) const UINT *pStrides,
  5332. /* [annotation] */
  5333. __in_ecount(NumBuffers) const UINT *pOffsets) = 0;
  5334. virtual void STDMETHODCALLTYPE IASetIndexBuffer(
  5335. /* [annotation] */
  5336. __in_opt ID3D11Buffer *pIndexBuffer,
  5337. /* [annotation] */
  5338. __in DXGI_FORMAT Format,
  5339. /* [annotation] */
  5340. __in UINT Offset) = 0;
  5341. virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
  5342. /* [annotation] */
  5343. __in UINT IndexCountPerInstance,
  5344. /* [annotation] */
  5345. __in UINT InstanceCount,
  5346. /* [annotation] */
  5347. __in UINT StartIndexLocation,
  5348. /* [annotation] */
  5349. __in INT BaseVertexLocation,
  5350. /* [annotation] */
  5351. __in UINT StartInstanceLocation) = 0;
  5352. virtual void STDMETHODCALLTYPE DrawInstanced(
  5353. /* [annotation] */
  5354. __in UINT VertexCountPerInstance,
  5355. /* [annotation] */
  5356. __in UINT InstanceCount,
  5357. /* [annotation] */
  5358. __in UINT StartVertexLocation,
  5359. /* [annotation] */
  5360. __in UINT StartInstanceLocation) = 0;
  5361. virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
  5362. /* [annotation] */
  5363. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5364. /* [annotation] */
  5365. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5366. /* [annotation] */
  5367. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers) = 0;
  5368. virtual void STDMETHODCALLTYPE GSSetShader(
  5369. /* [annotation] */
  5370. __in_opt ID3D11GeometryShader *pShader,
  5371. /* [annotation] */
  5372. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  5373. UINT NumClassInstances) = 0;
  5374. virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
  5375. /* [annotation] */
  5376. __in D3D11_PRIMITIVE_TOPOLOGY Topology) = 0;
  5377. virtual void STDMETHODCALLTYPE VSSetShaderResources(
  5378. /* [annotation] */
  5379. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5380. /* [annotation] */
  5381. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5382. /* [annotation] */
  5383. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5384. virtual void STDMETHODCALLTYPE VSSetSamplers(
  5385. /* [annotation] */
  5386. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5387. /* [annotation] */
  5388. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5389. /* [annotation] */
  5390. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers) = 0;
  5391. virtual void STDMETHODCALLTYPE Begin(
  5392. /* [annotation] */
  5393. __in ID3D11Asynchronous *pAsync) = 0;
  5394. virtual void STDMETHODCALLTYPE End(
  5395. /* [annotation] */
  5396. __in ID3D11Asynchronous *pAsync) = 0;
  5397. virtual HRESULT STDMETHODCALLTYPE GetData(
  5398. /* [annotation] */
  5399. __in ID3D11Asynchronous *pAsync,
  5400. /* [annotation] */
  5401. __out_bcount_opt( DataSize ) void *pData,
  5402. /* [annotation] */
  5403. __in UINT DataSize,
  5404. /* [annotation] */
  5405. __in UINT GetDataFlags) = 0;
  5406. virtual void STDMETHODCALLTYPE SetPredication(
  5407. /* [annotation] */
  5408. __in_opt ID3D11Predicate *pPredicate,
  5409. /* [annotation] */
  5410. __in BOOL PredicateValue) = 0;
  5411. virtual void STDMETHODCALLTYPE GSSetShaderResources(
  5412. /* [annotation] */
  5413. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5414. /* [annotation] */
  5415. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5416. /* [annotation] */
  5417. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5418. virtual void STDMETHODCALLTYPE GSSetSamplers(
  5419. /* [annotation] */
  5420. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5421. /* [annotation] */
  5422. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5423. /* [annotation] */
  5424. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers) = 0;
  5425. virtual void STDMETHODCALLTYPE OMSetRenderTargets(
  5426. /* [annotation] */
  5427. __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  5428. /* [annotation] */
  5429. __in_ecount_opt(NumViews) ID3D11RenderTargetView *const *ppRenderTargetViews,
  5430. /* [annotation] */
  5431. __in_opt ID3D11DepthStencilView *pDepthStencilView) = 0;
  5432. virtual void STDMETHODCALLTYPE OMSetRenderTargetsAndUnorderedAccessViews(
  5433. /* [annotation] */
  5434. __in UINT NumRTVs,
  5435. /* [annotation] */
  5436. __in_ecount_opt(NumRTVs) ID3D11RenderTargetView *const *ppRenderTargetViews,
  5437. /* [annotation] */
  5438. __in_opt ID3D11DepthStencilView *pDepthStencilView,
  5439. /* [annotation] */
  5440. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT UAVStartSlot,
  5441. /* [annotation] */
  5442. __in UINT NumUAVs,
  5443. /* [annotation] */
  5444. __in_ecount_opt(NumUAVs) ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  5445. /* [annotation] */
  5446. __in_ecount_opt(NumUAVs) const UINT *pUAVInitialCounts) = 0;
  5447. virtual void STDMETHODCALLTYPE OMSetBlendState(
  5448. /* [annotation] */
  5449. __in_opt ID3D11BlendState *pBlendState,
  5450. /* [annotation] */
  5451. __in_opt const FLOAT BlendFactor[ 4 ],
  5452. /* [annotation] */
  5453. __in UINT SampleMask) = 0;
  5454. virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
  5455. /* [annotation] */
  5456. __in_opt ID3D11DepthStencilState *pDepthStencilState,
  5457. /* [annotation] */
  5458. __in UINT StencilRef) = 0;
  5459. virtual void STDMETHODCALLTYPE SOSetTargets(
  5460. /* [annotation] */
  5461. __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT) UINT NumBuffers,
  5462. /* [annotation] */
  5463. __in_ecount_opt(NumBuffers) ID3D11Buffer *const *ppSOTargets,
  5464. /* [annotation] */
  5465. __in_ecount_opt(NumBuffers) const UINT *pOffsets) = 0;
  5466. virtual void STDMETHODCALLTYPE DrawAuto( void) = 0;
  5467. virtual void STDMETHODCALLTYPE DrawIndexedInstancedIndirect(
  5468. /* [annotation] */
  5469. __in ID3D11Buffer *pBufferForArgs,
  5470. /* [annotation] */
  5471. __in UINT AlignedByteOffsetForArgs) = 0;
  5472. virtual void STDMETHODCALLTYPE DrawInstancedIndirect(
  5473. /* [annotation] */
  5474. __in ID3D11Buffer *pBufferForArgs,
  5475. /* [annotation] */
  5476. __in UINT AlignedByteOffsetForArgs) = 0;
  5477. virtual void STDMETHODCALLTYPE Dispatch(
  5478. /* [annotation] */
  5479. __in UINT ThreadGroupCountX,
  5480. /* [annotation] */
  5481. __in UINT ThreadGroupCountY,
  5482. /* [annotation] */
  5483. __in UINT ThreadGroupCountZ) = 0;
  5484. virtual void STDMETHODCALLTYPE DispatchIndirect(
  5485. /* [annotation] */
  5486. __in ID3D11Buffer *pBufferForArgs,
  5487. /* [annotation] */
  5488. __in UINT AlignedByteOffsetForArgs) = 0;
  5489. virtual void STDMETHODCALLTYPE RSSetState(
  5490. /* [annotation] */
  5491. __in_opt ID3D11RasterizerState *pRasterizerState) = 0;
  5492. virtual void STDMETHODCALLTYPE RSSetViewports(
  5493. /* [annotation] */
  5494. __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
  5495. /* [annotation] */
  5496. __in_ecount_opt(NumViewports) const D3D11_VIEWPORT *pViewports) = 0;
  5497. virtual void STDMETHODCALLTYPE RSSetScissorRects(
  5498. /* [annotation] */
  5499. __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
  5500. /* [annotation] */
  5501. __in_ecount_opt(NumRects) const D3D11_RECT *pRects) = 0;
  5502. virtual void STDMETHODCALLTYPE CopySubresourceRegion(
  5503. /* [annotation] */
  5504. __in ID3D11Resource *pDstResource,
  5505. /* [annotation] */
  5506. __in UINT DstSubresource,
  5507. /* [annotation] */
  5508. __in UINT DstX,
  5509. /* [annotation] */
  5510. __in UINT DstY,
  5511. /* [annotation] */
  5512. __in UINT DstZ,
  5513. /* [annotation] */
  5514. __in ID3D11Resource *pSrcResource,
  5515. /* [annotation] */
  5516. __in UINT SrcSubresource,
  5517. /* [annotation] */
  5518. __in_opt const D3D11_BOX *pSrcBox) = 0;
  5519. virtual void STDMETHODCALLTYPE CopyResource(
  5520. /* [annotation] */
  5521. __in ID3D11Resource *pDstResource,
  5522. /* [annotation] */
  5523. __in ID3D11Resource *pSrcResource) = 0;
  5524. virtual void STDMETHODCALLTYPE UpdateSubresource(
  5525. /* [annotation] */
  5526. __in ID3D11Resource *pDstResource,
  5527. /* [annotation] */
  5528. __in UINT DstSubresource,
  5529. /* [annotation] */
  5530. __in_opt const D3D11_BOX *pDstBox,
  5531. /* [annotation] */
  5532. __in const void *pSrcData,
  5533. /* [annotation] */
  5534. __in UINT SrcRowPitch,
  5535. /* [annotation] */
  5536. __in UINT SrcDepthPitch) = 0;
  5537. virtual void STDMETHODCALLTYPE CopyStructureCount(
  5538. /* [annotation] */
  5539. __in ID3D11Buffer *pDstBuffer,
  5540. /* [annotation] */
  5541. __in UINT DstAlignedByteOffset,
  5542. /* [annotation] */
  5543. __in ID3D11UnorderedAccessView *pSrcView) = 0;
  5544. virtual void STDMETHODCALLTYPE ClearRenderTargetView(
  5545. /* [annotation] */
  5546. __in ID3D11RenderTargetView *pRenderTargetView,
  5547. /* [annotation] */
  5548. __in const FLOAT ColorRGBA[ 4 ]) = 0;
  5549. virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
  5550. /* [annotation] */
  5551. __in ID3D11UnorderedAccessView *pUnorderedAccessView,
  5552. /* [annotation] */
  5553. __in const UINT Values[ 4 ]) = 0;
  5554. virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
  5555. /* [annotation] */
  5556. __in ID3D11UnorderedAccessView *pUnorderedAccessView,
  5557. /* [annotation] */
  5558. __in const FLOAT Values[ 4 ]) = 0;
  5559. virtual void STDMETHODCALLTYPE ClearDepthStencilView(
  5560. /* [annotation] */
  5561. __in ID3D11DepthStencilView *pDepthStencilView,
  5562. /* [annotation] */
  5563. __in UINT ClearFlags,
  5564. /* [annotation] */
  5565. __in FLOAT Depth,
  5566. /* [annotation] */
  5567. __in UINT8 Stencil) = 0;
  5568. virtual void STDMETHODCALLTYPE GenerateMips(
  5569. /* [annotation] */
  5570. __in ID3D11ShaderResourceView *pShaderResourceView) = 0;
  5571. virtual void STDMETHODCALLTYPE SetResourceMinLOD(
  5572. /* [annotation] */
  5573. __in ID3D11Resource *pResource,
  5574. FLOAT MinLOD) = 0;
  5575. virtual FLOAT STDMETHODCALLTYPE GetResourceMinLOD(
  5576. /* [annotation] */
  5577. __in ID3D11Resource *pResource) = 0;
  5578. virtual void STDMETHODCALLTYPE ResolveSubresource(
  5579. /* [annotation] */
  5580. __in ID3D11Resource *pDstResource,
  5581. /* [annotation] */
  5582. __in UINT DstSubresource,
  5583. /* [annotation] */
  5584. __in ID3D11Resource *pSrcResource,
  5585. /* [annotation] */
  5586. __in UINT SrcSubresource,
  5587. /* [annotation] */
  5588. __in DXGI_FORMAT Format) = 0;
  5589. virtual void STDMETHODCALLTYPE ExecuteCommandList(
  5590. /* [annotation] */
  5591. __in ID3D11CommandList *pCommandList,
  5592. BOOL RestoreContextState) = 0;
  5593. virtual void STDMETHODCALLTYPE HSSetShaderResources(
  5594. /* [annotation] */
  5595. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5596. /* [annotation] */
  5597. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5598. /* [annotation] */
  5599. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5600. virtual void STDMETHODCALLTYPE HSSetShader(
  5601. /* [annotation] */
  5602. __in_opt ID3D11HullShader *pHullShader,
  5603. /* [annotation] */
  5604. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  5605. UINT NumClassInstances) = 0;
  5606. virtual void STDMETHODCALLTYPE HSSetSamplers(
  5607. /* [annotation] */
  5608. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5609. /* [annotation] */
  5610. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5611. /* [annotation] */
  5612. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers) = 0;
  5613. virtual void STDMETHODCALLTYPE HSSetConstantBuffers(
  5614. /* [annotation] */
  5615. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5616. /* [annotation] */
  5617. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5618. /* [annotation] */
  5619. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers) = 0;
  5620. virtual void STDMETHODCALLTYPE DSSetShaderResources(
  5621. /* [annotation] */
  5622. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5623. /* [annotation] */
  5624. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5625. /* [annotation] */
  5626. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5627. virtual void STDMETHODCALLTYPE DSSetShader(
  5628. /* [annotation] */
  5629. __in_opt ID3D11DomainShader *pDomainShader,
  5630. /* [annotation] */
  5631. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  5632. UINT NumClassInstances) = 0;
  5633. virtual void STDMETHODCALLTYPE DSSetSamplers(
  5634. /* [annotation] */
  5635. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5636. /* [annotation] */
  5637. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5638. /* [annotation] */
  5639. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers) = 0;
  5640. virtual void STDMETHODCALLTYPE DSSetConstantBuffers(
  5641. /* [annotation] */
  5642. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5643. /* [annotation] */
  5644. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5645. /* [annotation] */
  5646. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers) = 0;
  5647. virtual void STDMETHODCALLTYPE CSSetShaderResources(
  5648. /* [annotation] */
  5649. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5650. /* [annotation] */
  5651. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5652. /* [annotation] */
  5653. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5654. virtual void STDMETHODCALLTYPE CSSetUnorderedAccessViews(
  5655. /* [annotation] */
  5656. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT StartSlot,
  5657. /* [annotation] */
  5658. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot ) UINT NumUAVs,
  5659. /* [annotation] */
  5660. __in_ecount(NumUAVs) ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  5661. /* [annotation] */
  5662. __in_ecount(NumUAVs) const UINT *pUAVInitialCounts) = 0;
  5663. virtual void STDMETHODCALLTYPE CSSetShader(
  5664. /* [annotation] */
  5665. __in_opt ID3D11ComputeShader *pComputeShader,
  5666. /* [annotation] */
  5667. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  5668. UINT NumClassInstances) = 0;
  5669. virtual void STDMETHODCALLTYPE CSSetSamplers(
  5670. /* [annotation] */
  5671. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5672. /* [annotation] */
  5673. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5674. /* [annotation] */
  5675. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers) = 0;
  5676. virtual void STDMETHODCALLTYPE CSSetConstantBuffers(
  5677. /* [annotation] */
  5678. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5679. /* [annotation] */
  5680. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5681. /* [annotation] */
  5682. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers) = 0;
  5683. virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
  5684. /* [annotation] */
  5685. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5686. /* [annotation] */
  5687. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5688. /* [annotation] */
  5689. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers) = 0;
  5690. virtual void STDMETHODCALLTYPE PSGetShaderResources(
  5691. /* [annotation] */
  5692. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5693. /* [annotation] */
  5694. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5695. /* [annotation] */
  5696. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5697. virtual void STDMETHODCALLTYPE PSGetShader(
  5698. /* [annotation] */
  5699. __out ID3D11PixelShader **ppPixelShader,
  5700. /* [annotation] */
  5701. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  5702. /* [annotation] */
  5703. __inout_opt UINT *pNumClassInstances) = 0;
  5704. virtual void STDMETHODCALLTYPE PSGetSamplers(
  5705. /* [annotation] */
  5706. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5707. /* [annotation] */
  5708. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5709. /* [annotation] */
  5710. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers) = 0;
  5711. virtual void STDMETHODCALLTYPE VSGetShader(
  5712. /* [annotation] */
  5713. __out ID3D11VertexShader **ppVertexShader,
  5714. /* [annotation] */
  5715. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  5716. /* [annotation] */
  5717. __inout_opt UINT *pNumClassInstances) = 0;
  5718. virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
  5719. /* [annotation] */
  5720. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5721. /* [annotation] */
  5722. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5723. /* [annotation] */
  5724. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers) = 0;
  5725. virtual void STDMETHODCALLTYPE IAGetInputLayout(
  5726. /* [annotation] */
  5727. __out ID3D11InputLayout **ppInputLayout) = 0;
  5728. virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
  5729. /* [annotation] */
  5730. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5731. /* [annotation] */
  5732. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5733. /* [annotation] */
  5734. __out_ecount_opt(NumBuffers) ID3D11Buffer **ppVertexBuffers,
  5735. /* [annotation] */
  5736. __out_ecount_opt(NumBuffers) UINT *pStrides,
  5737. /* [annotation] */
  5738. __out_ecount_opt(NumBuffers) UINT *pOffsets) = 0;
  5739. virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
  5740. /* [annotation] */
  5741. __out_opt ID3D11Buffer **pIndexBuffer,
  5742. /* [annotation] */
  5743. __out_opt DXGI_FORMAT *Format,
  5744. /* [annotation] */
  5745. __out_opt UINT *Offset) = 0;
  5746. virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
  5747. /* [annotation] */
  5748. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5749. /* [annotation] */
  5750. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5751. /* [annotation] */
  5752. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers) = 0;
  5753. virtual void STDMETHODCALLTYPE GSGetShader(
  5754. /* [annotation] */
  5755. __out ID3D11GeometryShader **ppGeometryShader,
  5756. /* [annotation] */
  5757. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  5758. /* [annotation] */
  5759. __inout_opt UINT *pNumClassInstances) = 0;
  5760. virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
  5761. /* [annotation] */
  5762. __out D3D11_PRIMITIVE_TOPOLOGY *pTopology) = 0;
  5763. virtual void STDMETHODCALLTYPE VSGetShaderResources(
  5764. /* [annotation] */
  5765. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5766. /* [annotation] */
  5767. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5768. /* [annotation] */
  5769. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5770. virtual void STDMETHODCALLTYPE VSGetSamplers(
  5771. /* [annotation] */
  5772. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5773. /* [annotation] */
  5774. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5775. /* [annotation] */
  5776. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers) = 0;
  5777. virtual void STDMETHODCALLTYPE GetPredication(
  5778. /* [annotation] */
  5779. __out_opt ID3D11Predicate **ppPredicate,
  5780. /* [annotation] */
  5781. __out_opt BOOL *pPredicateValue) = 0;
  5782. virtual void STDMETHODCALLTYPE GSGetShaderResources(
  5783. /* [annotation] */
  5784. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5785. /* [annotation] */
  5786. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5787. /* [annotation] */
  5788. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5789. virtual void STDMETHODCALLTYPE GSGetSamplers(
  5790. /* [annotation] */
  5791. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5792. /* [annotation] */
  5793. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5794. /* [annotation] */
  5795. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers) = 0;
  5796. virtual void STDMETHODCALLTYPE OMGetRenderTargets(
  5797. /* [annotation] */
  5798. __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  5799. /* [annotation] */
  5800. __out_ecount_opt(NumViews) ID3D11RenderTargetView **ppRenderTargetViews,
  5801. /* [annotation] */
  5802. __out_opt ID3D11DepthStencilView **ppDepthStencilView) = 0;
  5803. virtual void STDMETHODCALLTYPE OMGetRenderTargetsAndUnorderedAccessViews(
  5804. /* [annotation] */
  5805. __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumRTVs,
  5806. /* [annotation] */
  5807. __out_ecount_opt(NumRTVs) ID3D11RenderTargetView **ppRenderTargetViews,
  5808. /* [annotation] */
  5809. __out_opt ID3D11DepthStencilView **ppDepthStencilView,
  5810. /* [annotation] */
  5811. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT UAVStartSlot,
  5812. /* [annotation] */
  5813. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - UAVStartSlot ) UINT NumUAVs,
  5814. /* [annotation] */
  5815. __out_ecount_opt(NumUAVs) ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
  5816. virtual void STDMETHODCALLTYPE OMGetBlendState(
  5817. /* [annotation] */
  5818. __out_opt ID3D11BlendState **ppBlendState,
  5819. /* [annotation] */
  5820. __out_opt FLOAT BlendFactor[ 4 ],
  5821. /* [annotation] */
  5822. __out_opt UINT *pSampleMask) = 0;
  5823. virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
  5824. /* [annotation] */
  5825. __out_opt ID3D11DepthStencilState **ppDepthStencilState,
  5826. /* [annotation] */
  5827. __out_opt UINT *pStencilRef) = 0;
  5828. virtual void STDMETHODCALLTYPE SOGetTargets(
  5829. /* [annotation] */
  5830. __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT ) UINT NumBuffers,
  5831. /* [annotation] */
  5832. __out_ecount(NumBuffers) ID3D11Buffer **ppSOTargets) = 0;
  5833. virtual void STDMETHODCALLTYPE RSGetState(
  5834. /* [annotation] */
  5835. __out ID3D11RasterizerState **ppRasterizerState) = 0;
  5836. virtual void STDMETHODCALLTYPE RSGetViewports(
  5837. /* [annotation] */
  5838. __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *pNumViewports,
  5839. /* [annotation] */
  5840. __out_ecount_opt(*pNumViewports) D3D11_VIEWPORT *pViewports) = 0;
  5841. virtual void STDMETHODCALLTYPE RSGetScissorRects(
  5842. /* [annotation] */
  5843. __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *pNumRects,
  5844. /* [annotation] */
  5845. __out_ecount_opt(*pNumRects) D3D11_RECT *pRects) = 0;
  5846. virtual void STDMETHODCALLTYPE HSGetShaderResources(
  5847. /* [annotation] */
  5848. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5849. /* [annotation] */
  5850. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5851. /* [annotation] */
  5852. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5853. virtual void STDMETHODCALLTYPE HSGetShader(
  5854. /* [annotation] */
  5855. __out ID3D11HullShader **ppHullShader,
  5856. /* [annotation] */
  5857. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  5858. /* [annotation] */
  5859. __inout_opt UINT *pNumClassInstances) = 0;
  5860. virtual void STDMETHODCALLTYPE HSGetSamplers(
  5861. /* [annotation] */
  5862. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5863. /* [annotation] */
  5864. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5865. /* [annotation] */
  5866. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers) = 0;
  5867. virtual void STDMETHODCALLTYPE HSGetConstantBuffers(
  5868. /* [annotation] */
  5869. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5870. /* [annotation] */
  5871. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5872. /* [annotation] */
  5873. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers) = 0;
  5874. virtual void STDMETHODCALLTYPE DSGetShaderResources(
  5875. /* [annotation] */
  5876. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5877. /* [annotation] */
  5878. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5879. /* [annotation] */
  5880. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5881. virtual void STDMETHODCALLTYPE DSGetShader(
  5882. /* [annotation] */
  5883. __out ID3D11DomainShader **ppDomainShader,
  5884. /* [annotation] */
  5885. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  5886. /* [annotation] */
  5887. __inout_opt UINT *pNumClassInstances) = 0;
  5888. virtual void STDMETHODCALLTYPE DSGetSamplers(
  5889. /* [annotation] */
  5890. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5891. /* [annotation] */
  5892. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5893. /* [annotation] */
  5894. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers) = 0;
  5895. virtual void STDMETHODCALLTYPE DSGetConstantBuffers(
  5896. /* [annotation] */
  5897. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5898. /* [annotation] */
  5899. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5900. /* [annotation] */
  5901. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers) = 0;
  5902. virtual void STDMETHODCALLTYPE CSGetShaderResources(
  5903. /* [annotation] */
  5904. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5905. /* [annotation] */
  5906. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5907. /* [annotation] */
  5908. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5909. virtual void STDMETHODCALLTYPE CSGetUnorderedAccessViews(
  5910. /* [annotation] */
  5911. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT StartSlot,
  5912. /* [annotation] */
  5913. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot ) UINT NumUAVs,
  5914. /* [annotation] */
  5915. __out_ecount(NumUAVs) ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
  5916. virtual void STDMETHODCALLTYPE CSGetShader(
  5917. /* [annotation] */
  5918. __out ID3D11ComputeShader **ppComputeShader,
  5919. /* [annotation] */
  5920. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  5921. /* [annotation] */
  5922. __inout_opt UINT *pNumClassInstances) = 0;
  5923. virtual void STDMETHODCALLTYPE CSGetSamplers(
  5924. /* [annotation] */
  5925. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  5926. /* [annotation] */
  5927. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  5928. /* [annotation] */
  5929. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers) = 0;
  5930. virtual void STDMETHODCALLTYPE CSGetConstantBuffers(
  5931. /* [annotation] */
  5932. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5933. /* [annotation] */
  5934. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5935. /* [annotation] */
  5936. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers) = 0;
  5937. virtual void STDMETHODCALLTYPE ClearState( void) = 0;
  5938. virtual void STDMETHODCALLTYPE Flush( void) = 0;
  5939. virtual D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE GetType( void) = 0;
  5940. virtual UINT STDMETHODCALLTYPE GetContextFlags( void) = 0;
  5941. virtual HRESULT STDMETHODCALLTYPE FinishCommandList(
  5942. BOOL RestoreDeferredContextState,
  5943. /* [annotation] */
  5944. __out_opt ID3D11CommandList **ppCommandList) = 0;
  5945. };
  5946. #else /* C style interface */
  5947. typedef struct ID3D11DeviceContextVtbl
  5948. {
  5949. BEGIN_INTERFACE
  5950. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5951. ID3D11DeviceContext * This,
  5952. /* [in] */ REFIID riid,
  5953. /* [annotation][iid_is][out] */
  5954. __RPC__deref_out void **ppvObject);
  5955. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5956. ID3D11DeviceContext * This);
  5957. ULONG ( STDMETHODCALLTYPE *Release )(
  5958. ID3D11DeviceContext * This);
  5959. void ( STDMETHODCALLTYPE *GetDevice )(
  5960. ID3D11DeviceContext * This,
  5961. /* [annotation] */
  5962. __out ID3D11Device **ppDevice);
  5963. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  5964. ID3D11DeviceContext * This,
  5965. /* [annotation] */
  5966. __in REFGUID guid,
  5967. /* [annotation] */
  5968. __inout UINT *pDataSize,
  5969. /* [annotation] */
  5970. __out_bcount_opt( *pDataSize ) void *pData);
  5971. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  5972. ID3D11DeviceContext * This,
  5973. /* [annotation] */
  5974. __in REFGUID guid,
  5975. /* [annotation] */
  5976. __in UINT DataSize,
  5977. /* [annotation] */
  5978. __in_bcount_opt( DataSize ) const void *pData);
  5979. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  5980. ID3D11DeviceContext * This,
  5981. /* [annotation] */
  5982. __in REFGUID guid,
  5983. /* [annotation] */
  5984. __in_opt const IUnknown *pData);
  5985. void ( STDMETHODCALLTYPE *VSSetConstantBuffers )(
  5986. ID3D11DeviceContext * This,
  5987. /* [annotation] */
  5988. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  5989. /* [annotation] */
  5990. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  5991. /* [annotation] */
  5992. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers);
  5993. void ( STDMETHODCALLTYPE *PSSetShaderResources )(
  5994. ID3D11DeviceContext * This,
  5995. /* [annotation] */
  5996. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  5997. /* [annotation] */
  5998. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  5999. /* [annotation] */
  6000. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6001. void ( STDMETHODCALLTYPE *PSSetShader )(
  6002. ID3D11DeviceContext * This,
  6003. /* [annotation] */
  6004. __in_opt ID3D11PixelShader *pPixelShader,
  6005. /* [annotation] */
  6006. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  6007. UINT NumClassInstances);
  6008. void ( STDMETHODCALLTYPE *PSSetSamplers )(
  6009. ID3D11DeviceContext * This,
  6010. /* [annotation] */
  6011. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6012. /* [annotation] */
  6013. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6014. /* [annotation] */
  6015. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers);
  6016. void ( STDMETHODCALLTYPE *VSSetShader )(
  6017. ID3D11DeviceContext * This,
  6018. /* [annotation] */
  6019. __in_opt ID3D11VertexShader *pVertexShader,
  6020. /* [annotation] */
  6021. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  6022. UINT NumClassInstances);
  6023. void ( STDMETHODCALLTYPE *DrawIndexed )(
  6024. ID3D11DeviceContext * This,
  6025. /* [annotation] */
  6026. __in UINT IndexCount,
  6027. /* [annotation] */
  6028. __in UINT StartIndexLocation,
  6029. /* [annotation] */
  6030. __in INT BaseVertexLocation);
  6031. void ( STDMETHODCALLTYPE *Draw )(
  6032. ID3D11DeviceContext * This,
  6033. /* [annotation] */
  6034. __in UINT VertexCount,
  6035. /* [annotation] */
  6036. __in UINT StartVertexLocation);
  6037. HRESULT ( STDMETHODCALLTYPE *Map )(
  6038. ID3D11DeviceContext * This,
  6039. /* [annotation] */
  6040. __in ID3D11Resource *pResource,
  6041. /* [annotation] */
  6042. __in UINT Subresource,
  6043. /* [annotation] */
  6044. __in D3D11_MAP MapType,
  6045. /* [annotation] */
  6046. __in UINT MapFlags,
  6047. /* [annotation] */
  6048. __out D3D11_MAPPED_SUBRESOURCE *pMappedResource);
  6049. void ( STDMETHODCALLTYPE *Unmap )(
  6050. ID3D11DeviceContext * This,
  6051. /* [annotation] */
  6052. __in ID3D11Resource *pResource,
  6053. /* [annotation] */
  6054. __in UINT Subresource);
  6055. void ( STDMETHODCALLTYPE *PSSetConstantBuffers )(
  6056. ID3D11DeviceContext * This,
  6057. /* [annotation] */
  6058. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6059. /* [annotation] */
  6060. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6061. /* [annotation] */
  6062. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers);
  6063. void ( STDMETHODCALLTYPE *IASetInputLayout )(
  6064. ID3D11DeviceContext * This,
  6065. /* [annotation] */
  6066. __in_opt ID3D11InputLayout *pInputLayout);
  6067. void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
  6068. ID3D11DeviceContext * This,
  6069. /* [annotation] */
  6070. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6071. /* [annotation] */
  6072. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6073. /* [annotation] */
  6074. __in_ecount(NumBuffers) ID3D11Buffer *const *ppVertexBuffers,
  6075. /* [annotation] */
  6076. __in_ecount(NumBuffers) const UINT *pStrides,
  6077. /* [annotation] */
  6078. __in_ecount(NumBuffers) const UINT *pOffsets);
  6079. void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
  6080. ID3D11DeviceContext * This,
  6081. /* [annotation] */
  6082. __in_opt ID3D11Buffer *pIndexBuffer,
  6083. /* [annotation] */
  6084. __in DXGI_FORMAT Format,
  6085. /* [annotation] */
  6086. __in UINT Offset);
  6087. void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
  6088. ID3D11DeviceContext * This,
  6089. /* [annotation] */
  6090. __in UINT IndexCountPerInstance,
  6091. /* [annotation] */
  6092. __in UINT InstanceCount,
  6093. /* [annotation] */
  6094. __in UINT StartIndexLocation,
  6095. /* [annotation] */
  6096. __in INT BaseVertexLocation,
  6097. /* [annotation] */
  6098. __in UINT StartInstanceLocation);
  6099. void ( STDMETHODCALLTYPE *DrawInstanced )(
  6100. ID3D11DeviceContext * This,
  6101. /* [annotation] */
  6102. __in UINT VertexCountPerInstance,
  6103. /* [annotation] */
  6104. __in UINT InstanceCount,
  6105. /* [annotation] */
  6106. __in UINT StartVertexLocation,
  6107. /* [annotation] */
  6108. __in UINT StartInstanceLocation);
  6109. void ( STDMETHODCALLTYPE *GSSetConstantBuffers )(
  6110. ID3D11DeviceContext * This,
  6111. /* [annotation] */
  6112. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6113. /* [annotation] */
  6114. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6115. /* [annotation] */
  6116. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers);
  6117. void ( STDMETHODCALLTYPE *GSSetShader )(
  6118. ID3D11DeviceContext * This,
  6119. /* [annotation] */
  6120. __in_opt ID3D11GeometryShader *pShader,
  6121. /* [annotation] */
  6122. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  6123. UINT NumClassInstances);
  6124. void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
  6125. ID3D11DeviceContext * This,
  6126. /* [annotation] */
  6127. __in D3D11_PRIMITIVE_TOPOLOGY Topology);
  6128. void ( STDMETHODCALLTYPE *VSSetShaderResources )(
  6129. ID3D11DeviceContext * This,
  6130. /* [annotation] */
  6131. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6132. /* [annotation] */
  6133. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6134. /* [annotation] */
  6135. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6136. void ( STDMETHODCALLTYPE *VSSetSamplers )(
  6137. ID3D11DeviceContext * This,
  6138. /* [annotation] */
  6139. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6140. /* [annotation] */
  6141. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6142. /* [annotation] */
  6143. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers);
  6144. void ( STDMETHODCALLTYPE *Begin )(
  6145. ID3D11DeviceContext * This,
  6146. /* [annotation] */
  6147. __in ID3D11Asynchronous *pAsync);
  6148. void ( STDMETHODCALLTYPE *End )(
  6149. ID3D11DeviceContext * This,
  6150. /* [annotation] */
  6151. __in ID3D11Asynchronous *pAsync);
  6152. HRESULT ( STDMETHODCALLTYPE *GetData )(
  6153. ID3D11DeviceContext * This,
  6154. /* [annotation] */
  6155. __in ID3D11Asynchronous *pAsync,
  6156. /* [annotation] */
  6157. __out_bcount_opt( DataSize ) void *pData,
  6158. /* [annotation] */
  6159. __in UINT DataSize,
  6160. /* [annotation] */
  6161. __in UINT GetDataFlags);
  6162. void ( STDMETHODCALLTYPE *SetPredication )(
  6163. ID3D11DeviceContext * This,
  6164. /* [annotation] */
  6165. __in_opt ID3D11Predicate *pPredicate,
  6166. /* [annotation] */
  6167. __in BOOL PredicateValue);
  6168. void ( STDMETHODCALLTYPE *GSSetShaderResources )(
  6169. ID3D11DeviceContext * This,
  6170. /* [annotation] */
  6171. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6172. /* [annotation] */
  6173. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6174. /* [annotation] */
  6175. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6176. void ( STDMETHODCALLTYPE *GSSetSamplers )(
  6177. ID3D11DeviceContext * This,
  6178. /* [annotation] */
  6179. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6180. /* [annotation] */
  6181. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6182. /* [annotation] */
  6183. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers);
  6184. void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
  6185. ID3D11DeviceContext * This,
  6186. /* [annotation] */
  6187. __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  6188. /* [annotation] */
  6189. __in_ecount_opt(NumViews) ID3D11RenderTargetView *const *ppRenderTargetViews,
  6190. /* [annotation] */
  6191. __in_opt ID3D11DepthStencilView *pDepthStencilView);
  6192. void ( STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews )(
  6193. ID3D11DeviceContext * This,
  6194. /* [annotation] */
  6195. __in UINT NumRTVs,
  6196. /* [annotation] */
  6197. __in_ecount_opt(NumRTVs) ID3D11RenderTargetView *const *ppRenderTargetViews,
  6198. /* [annotation] */
  6199. __in_opt ID3D11DepthStencilView *pDepthStencilView,
  6200. /* [annotation] */
  6201. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT UAVStartSlot,
  6202. /* [annotation] */
  6203. __in UINT NumUAVs,
  6204. /* [annotation] */
  6205. __in_ecount_opt(NumUAVs) ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  6206. /* [annotation] */
  6207. __in_ecount_opt(NumUAVs) const UINT *pUAVInitialCounts);
  6208. void ( STDMETHODCALLTYPE *OMSetBlendState )(
  6209. ID3D11DeviceContext * This,
  6210. /* [annotation] */
  6211. __in_opt ID3D11BlendState *pBlendState,
  6212. /* [annotation] */
  6213. __in_opt const FLOAT BlendFactor[ 4 ],
  6214. /* [annotation] */
  6215. __in UINT SampleMask);
  6216. void ( STDMETHODCALLTYPE *OMSetDepthStencilState )(
  6217. ID3D11DeviceContext * This,
  6218. /* [annotation] */
  6219. __in_opt ID3D11DepthStencilState *pDepthStencilState,
  6220. /* [annotation] */
  6221. __in UINT StencilRef);
  6222. void ( STDMETHODCALLTYPE *SOSetTargets )(
  6223. ID3D11DeviceContext * This,
  6224. /* [annotation] */
  6225. __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT) UINT NumBuffers,
  6226. /* [annotation] */
  6227. __in_ecount_opt(NumBuffers) ID3D11Buffer *const *ppSOTargets,
  6228. /* [annotation] */
  6229. __in_ecount_opt(NumBuffers) const UINT *pOffsets);
  6230. void ( STDMETHODCALLTYPE *DrawAuto )(
  6231. ID3D11DeviceContext * This);
  6232. void ( STDMETHODCALLTYPE *DrawIndexedInstancedIndirect )(
  6233. ID3D11DeviceContext * This,
  6234. /* [annotation] */
  6235. __in ID3D11Buffer *pBufferForArgs,
  6236. /* [annotation] */
  6237. __in UINT AlignedByteOffsetForArgs);
  6238. void ( STDMETHODCALLTYPE *DrawInstancedIndirect )(
  6239. ID3D11DeviceContext * This,
  6240. /* [annotation] */
  6241. __in ID3D11Buffer *pBufferForArgs,
  6242. /* [annotation] */
  6243. __in UINT AlignedByteOffsetForArgs);
  6244. void ( STDMETHODCALLTYPE *Dispatch )(
  6245. ID3D11DeviceContext * This,
  6246. /* [annotation] */
  6247. __in UINT ThreadGroupCountX,
  6248. /* [annotation] */
  6249. __in UINT ThreadGroupCountY,
  6250. /* [annotation] */
  6251. __in UINT ThreadGroupCountZ);
  6252. void ( STDMETHODCALLTYPE *DispatchIndirect )(
  6253. ID3D11DeviceContext * This,
  6254. /* [annotation] */
  6255. __in ID3D11Buffer *pBufferForArgs,
  6256. /* [annotation] */
  6257. __in UINT AlignedByteOffsetForArgs);
  6258. void ( STDMETHODCALLTYPE *RSSetState )(
  6259. ID3D11DeviceContext * This,
  6260. /* [annotation] */
  6261. __in_opt ID3D11RasterizerState *pRasterizerState);
  6262. void ( STDMETHODCALLTYPE *RSSetViewports )(
  6263. ID3D11DeviceContext * This,
  6264. /* [annotation] */
  6265. __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
  6266. /* [annotation] */
  6267. __in_ecount_opt(NumViewports) const D3D11_VIEWPORT *pViewports);
  6268. void ( STDMETHODCALLTYPE *RSSetScissorRects )(
  6269. ID3D11DeviceContext * This,
  6270. /* [annotation] */
  6271. __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
  6272. /* [annotation] */
  6273. __in_ecount_opt(NumRects) const D3D11_RECT *pRects);
  6274. void ( STDMETHODCALLTYPE *CopySubresourceRegion )(
  6275. ID3D11DeviceContext * This,
  6276. /* [annotation] */
  6277. __in ID3D11Resource *pDstResource,
  6278. /* [annotation] */
  6279. __in UINT DstSubresource,
  6280. /* [annotation] */
  6281. __in UINT DstX,
  6282. /* [annotation] */
  6283. __in UINT DstY,
  6284. /* [annotation] */
  6285. __in UINT DstZ,
  6286. /* [annotation] */
  6287. __in ID3D11Resource *pSrcResource,
  6288. /* [annotation] */
  6289. __in UINT SrcSubresource,
  6290. /* [annotation] */
  6291. __in_opt const D3D11_BOX *pSrcBox);
  6292. void ( STDMETHODCALLTYPE *CopyResource )(
  6293. ID3D11DeviceContext * This,
  6294. /* [annotation] */
  6295. __in ID3D11Resource *pDstResource,
  6296. /* [annotation] */
  6297. __in ID3D11Resource *pSrcResource);
  6298. void ( STDMETHODCALLTYPE *UpdateSubresource )(
  6299. ID3D11DeviceContext * This,
  6300. /* [annotation] */
  6301. __in ID3D11Resource *pDstResource,
  6302. /* [annotation] */
  6303. __in UINT DstSubresource,
  6304. /* [annotation] */
  6305. __in_opt const D3D11_BOX *pDstBox,
  6306. /* [annotation] */
  6307. __in const void *pSrcData,
  6308. /* [annotation] */
  6309. __in UINT SrcRowPitch,
  6310. /* [annotation] */
  6311. __in UINT SrcDepthPitch);
  6312. void ( STDMETHODCALLTYPE *CopyStructureCount )(
  6313. ID3D11DeviceContext * This,
  6314. /* [annotation] */
  6315. __in ID3D11Buffer *pDstBuffer,
  6316. /* [annotation] */
  6317. __in UINT DstAlignedByteOffset,
  6318. /* [annotation] */
  6319. __in ID3D11UnorderedAccessView *pSrcView);
  6320. void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
  6321. ID3D11DeviceContext * This,
  6322. /* [annotation] */
  6323. __in ID3D11RenderTargetView *pRenderTargetView,
  6324. /* [annotation] */
  6325. __in const FLOAT ColorRGBA[ 4 ]);
  6326. void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
  6327. ID3D11DeviceContext * This,
  6328. /* [annotation] */
  6329. __in ID3D11UnorderedAccessView *pUnorderedAccessView,
  6330. /* [annotation] */
  6331. __in const UINT Values[ 4 ]);
  6332. void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
  6333. ID3D11DeviceContext * This,
  6334. /* [annotation] */
  6335. __in ID3D11UnorderedAccessView *pUnorderedAccessView,
  6336. /* [annotation] */
  6337. __in const FLOAT Values[ 4 ]);
  6338. void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
  6339. ID3D11DeviceContext * This,
  6340. /* [annotation] */
  6341. __in ID3D11DepthStencilView *pDepthStencilView,
  6342. /* [annotation] */
  6343. __in UINT ClearFlags,
  6344. /* [annotation] */
  6345. __in FLOAT Depth,
  6346. /* [annotation] */
  6347. __in UINT8 Stencil);
  6348. void ( STDMETHODCALLTYPE *GenerateMips )(
  6349. ID3D11DeviceContext * This,
  6350. /* [annotation] */
  6351. __in ID3D11ShaderResourceView *pShaderResourceView);
  6352. void ( STDMETHODCALLTYPE *SetResourceMinLOD )(
  6353. ID3D11DeviceContext * This,
  6354. /* [annotation] */
  6355. __in ID3D11Resource *pResource,
  6356. FLOAT MinLOD);
  6357. FLOAT ( STDMETHODCALLTYPE *GetResourceMinLOD )(
  6358. ID3D11DeviceContext * This,
  6359. /* [annotation] */
  6360. __in ID3D11Resource *pResource);
  6361. void ( STDMETHODCALLTYPE *ResolveSubresource )(
  6362. ID3D11DeviceContext * This,
  6363. /* [annotation] */
  6364. __in ID3D11Resource *pDstResource,
  6365. /* [annotation] */
  6366. __in UINT DstSubresource,
  6367. /* [annotation] */
  6368. __in ID3D11Resource *pSrcResource,
  6369. /* [annotation] */
  6370. __in UINT SrcSubresource,
  6371. /* [annotation] */
  6372. __in DXGI_FORMAT Format);
  6373. void ( STDMETHODCALLTYPE *ExecuteCommandList )(
  6374. ID3D11DeviceContext * This,
  6375. /* [annotation] */
  6376. __in ID3D11CommandList *pCommandList,
  6377. BOOL RestoreContextState);
  6378. void ( STDMETHODCALLTYPE *HSSetShaderResources )(
  6379. ID3D11DeviceContext * This,
  6380. /* [annotation] */
  6381. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6382. /* [annotation] */
  6383. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6384. /* [annotation] */
  6385. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6386. void ( STDMETHODCALLTYPE *HSSetShader )(
  6387. ID3D11DeviceContext * This,
  6388. /* [annotation] */
  6389. __in_opt ID3D11HullShader *pHullShader,
  6390. /* [annotation] */
  6391. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  6392. UINT NumClassInstances);
  6393. void ( STDMETHODCALLTYPE *HSSetSamplers )(
  6394. ID3D11DeviceContext * This,
  6395. /* [annotation] */
  6396. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6397. /* [annotation] */
  6398. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6399. /* [annotation] */
  6400. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers);
  6401. void ( STDMETHODCALLTYPE *HSSetConstantBuffers )(
  6402. ID3D11DeviceContext * This,
  6403. /* [annotation] */
  6404. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6405. /* [annotation] */
  6406. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6407. /* [annotation] */
  6408. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers);
  6409. void ( STDMETHODCALLTYPE *DSSetShaderResources )(
  6410. ID3D11DeviceContext * This,
  6411. /* [annotation] */
  6412. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6413. /* [annotation] */
  6414. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6415. /* [annotation] */
  6416. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6417. void ( STDMETHODCALLTYPE *DSSetShader )(
  6418. ID3D11DeviceContext * This,
  6419. /* [annotation] */
  6420. __in_opt ID3D11DomainShader *pDomainShader,
  6421. /* [annotation] */
  6422. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  6423. UINT NumClassInstances);
  6424. void ( STDMETHODCALLTYPE *DSSetSamplers )(
  6425. ID3D11DeviceContext * This,
  6426. /* [annotation] */
  6427. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6428. /* [annotation] */
  6429. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6430. /* [annotation] */
  6431. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers);
  6432. void ( STDMETHODCALLTYPE *DSSetConstantBuffers )(
  6433. ID3D11DeviceContext * This,
  6434. /* [annotation] */
  6435. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6436. /* [annotation] */
  6437. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6438. /* [annotation] */
  6439. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers);
  6440. void ( STDMETHODCALLTYPE *CSSetShaderResources )(
  6441. ID3D11DeviceContext * This,
  6442. /* [annotation] */
  6443. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6444. /* [annotation] */
  6445. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6446. /* [annotation] */
  6447. __in_ecount(NumViews) ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6448. void ( STDMETHODCALLTYPE *CSSetUnorderedAccessViews )(
  6449. ID3D11DeviceContext * This,
  6450. /* [annotation] */
  6451. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT StartSlot,
  6452. /* [annotation] */
  6453. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot ) UINT NumUAVs,
  6454. /* [annotation] */
  6455. __in_ecount(NumUAVs) ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  6456. /* [annotation] */
  6457. __in_ecount(NumUAVs) const UINT *pUAVInitialCounts);
  6458. void ( STDMETHODCALLTYPE *CSSetShader )(
  6459. ID3D11DeviceContext * This,
  6460. /* [annotation] */
  6461. __in_opt ID3D11ComputeShader *pComputeShader,
  6462. /* [annotation] */
  6463. __in_ecount_opt(NumClassInstances) ID3D11ClassInstance *const *ppClassInstances,
  6464. UINT NumClassInstances);
  6465. void ( STDMETHODCALLTYPE *CSSetSamplers )(
  6466. ID3D11DeviceContext * This,
  6467. /* [annotation] */
  6468. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6469. /* [annotation] */
  6470. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6471. /* [annotation] */
  6472. __in_ecount(NumSamplers) ID3D11SamplerState *const *ppSamplers);
  6473. void ( STDMETHODCALLTYPE *CSSetConstantBuffers )(
  6474. ID3D11DeviceContext * This,
  6475. /* [annotation] */
  6476. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6477. /* [annotation] */
  6478. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6479. /* [annotation] */
  6480. __in_ecount(NumBuffers) ID3D11Buffer *const *ppConstantBuffers);
  6481. void ( STDMETHODCALLTYPE *VSGetConstantBuffers )(
  6482. ID3D11DeviceContext * This,
  6483. /* [annotation] */
  6484. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6485. /* [annotation] */
  6486. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6487. /* [annotation] */
  6488. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers);
  6489. void ( STDMETHODCALLTYPE *PSGetShaderResources )(
  6490. ID3D11DeviceContext * This,
  6491. /* [annotation] */
  6492. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6493. /* [annotation] */
  6494. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6495. /* [annotation] */
  6496. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews);
  6497. void ( STDMETHODCALLTYPE *PSGetShader )(
  6498. ID3D11DeviceContext * This,
  6499. /* [annotation] */
  6500. __out ID3D11PixelShader **ppPixelShader,
  6501. /* [annotation] */
  6502. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  6503. /* [annotation] */
  6504. __inout_opt UINT *pNumClassInstances);
  6505. void ( STDMETHODCALLTYPE *PSGetSamplers )(
  6506. ID3D11DeviceContext * This,
  6507. /* [annotation] */
  6508. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6509. /* [annotation] */
  6510. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6511. /* [annotation] */
  6512. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers);
  6513. void ( STDMETHODCALLTYPE *VSGetShader )(
  6514. ID3D11DeviceContext * This,
  6515. /* [annotation] */
  6516. __out ID3D11VertexShader **ppVertexShader,
  6517. /* [annotation] */
  6518. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  6519. /* [annotation] */
  6520. __inout_opt UINT *pNumClassInstances);
  6521. void ( STDMETHODCALLTYPE *PSGetConstantBuffers )(
  6522. ID3D11DeviceContext * This,
  6523. /* [annotation] */
  6524. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6525. /* [annotation] */
  6526. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6527. /* [annotation] */
  6528. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers);
  6529. void ( STDMETHODCALLTYPE *IAGetInputLayout )(
  6530. ID3D11DeviceContext * This,
  6531. /* [annotation] */
  6532. __out ID3D11InputLayout **ppInputLayout);
  6533. void ( STDMETHODCALLTYPE *IAGetVertexBuffers )(
  6534. ID3D11DeviceContext * This,
  6535. /* [annotation] */
  6536. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6537. /* [annotation] */
  6538. __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6539. /* [annotation] */
  6540. __out_ecount_opt(NumBuffers) ID3D11Buffer **ppVertexBuffers,
  6541. /* [annotation] */
  6542. __out_ecount_opt(NumBuffers) UINT *pStrides,
  6543. /* [annotation] */
  6544. __out_ecount_opt(NumBuffers) UINT *pOffsets);
  6545. void ( STDMETHODCALLTYPE *IAGetIndexBuffer )(
  6546. ID3D11DeviceContext * This,
  6547. /* [annotation] */
  6548. __out_opt ID3D11Buffer **pIndexBuffer,
  6549. /* [annotation] */
  6550. __out_opt DXGI_FORMAT *Format,
  6551. /* [annotation] */
  6552. __out_opt UINT *Offset);
  6553. void ( STDMETHODCALLTYPE *GSGetConstantBuffers )(
  6554. ID3D11DeviceContext * This,
  6555. /* [annotation] */
  6556. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6557. /* [annotation] */
  6558. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6559. /* [annotation] */
  6560. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers);
  6561. void ( STDMETHODCALLTYPE *GSGetShader )(
  6562. ID3D11DeviceContext * This,
  6563. /* [annotation] */
  6564. __out ID3D11GeometryShader **ppGeometryShader,
  6565. /* [annotation] */
  6566. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  6567. /* [annotation] */
  6568. __inout_opt UINT *pNumClassInstances);
  6569. void ( STDMETHODCALLTYPE *IAGetPrimitiveTopology )(
  6570. ID3D11DeviceContext * This,
  6571. /* [annotation] */
  6572. __out D3D11_PRIMITIVE_TOPOLOGY *pTopology);
  6573. void ( STDMETHODCALLTYPE *VSGetShaderResources )(
  6574. ID3D11DeviceContext * This,
  6575. /* [annotation] */
  6576. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6577. /* [annotation] */
  6578. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6579. /* [annotation] */
  6580. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews);
  6581. void ( STDMETHODCALLTYPE *VSGetSamplers )(
  6582. ID3D11DeviceContext * This,
  6583. /* [annotation] */
  6584. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6585. /* [annotation] */
  6586. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6587. /* [annotation] */
  6588. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers);
  6589. void ( STDMETHODCALLTYPE *GetPredication )(
  6590. ID3D11DeviceContext * This,
  6591. /* [annotation] */
  6592. __out_opt ID3D11Predicate **ppPredicate,
  6593. /* [annotation] */
  6594. __out_opt BOOL *pPredicateValue);
  6595. void ( STDMETHODCALLTYPE *GSGetShaderResources )(
  6596. ID3D11DeviceContext * This,
  6597. /* [annotation] */
  6598. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6599. /* [annotation] */
  6600. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6601. /* [annotation] */
  6602. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews);
  6603. void ( STDMETHODCALLTYPE *GSGetSamplers )(
  6604. ID3D11DeviceContext * This,
  6605. /* [annotation] */
  6606. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6607. /* [annotation] */
  6608. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6609. /* [annotation] */
  6610. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers);
  6611. void ( STDMETHODCALLTYPE *OMGetRenderTargets )(
  6612. ID3D11DeviceContext * This,
  6613. /* [annotation] */
  6614. __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  6615. /* [annotation] */
  6616. __out_ecount_opt(NumViews) ID3D11RenderTargetView **ppRenderTargetViews,
  6617. /* [annotation] */
  6618. __out_opt ID3D11DepthStencilView **ppDepthStencilView);
  6619. void ( STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews )(
  6620. ID3D11DeviceContext * This,
  6621. /* [annotation] */
  6622. __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumRTVs,
  6623. /* [annotation] */
  6624. __out_ecount_opt(NumRTVs) ID3D11RenderTargetView **ppRenderTargetViews,
  6625. /* [annotation] */
  6626. __out_opt ID3D11DepthStencilView **ppDepthStencilView,
  6627. /* [annotation] */
  6628. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT UAVStartSlot,
  6629. /* [annotation] */
  6630. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - UAVStartSlot ) UINT NumUAVs,
  6631. /* [annotation] */
  6632. __out_ecount_opt(NumUAVs) ID3D11UnorderedAccessView **ppUnorderedAccessViews);
  6633. void ( STDMETHODCALLTYPE *OMGetBlendState )(
  6634. ID3D11DeviceContext * This,
  6635. /* [annotation] */
  6636. __out_opt ID3D11BlendState **ppBlendState,
  6637. /* [annotation] */
  6638. __out_opt FLOAT BlendFactor[ 4 ],
  6639. /* [annotation] */
  6640. __out_opt UINT *pSampleMask);
  6641. void ( STDMETHODCALLTYPE *OMGetDepthStencilState )(
  6642. ID3D11DeviceContext * This,
  6643. /* [annotation] */
  6644. __out_opt ID3D11DepthStencilState **ppDepthStencilState,
  6645. /* [annotation] */
  6646. __out_opt UINT *pStencilRef);
  6647. void ( STDMETHODCALLTYPE *SOGetTargets )(
  6648. ID3D11DeviceContext * This,
  6649. /* [annotation] */
  6650. __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT ) UINT NumBuffers,
  6651. /* [annotation] */
  6652. __out_ecount(NumBuffers) ID3D11Buffer **ppSOTargets);
  6653. void ( STDMETHODCALLTYPE *RSGetState )(
  6654. ID3D11DeviceContext * This,
  6655. /* [annotation] */
  6656. __out ID3D11RasterizerState **ppRasterizerState);
  6657. void ( STDMETHODCALLTYPE *RSGetViewports )(
  6658. ID3D11DeviceContext * This,
  6659. /* [annotation] */
  6660. __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *pNumViewports,
  6661. /* [annotation] */
  6662. __out_ecount_opt(*pNumViewports) D3D11_VIEWPORT *pViewports);
  6663. void ( STDMETHODCALLTYPE *RSGetScissorRects )(
  6664. ID3D11DeviceContext * This,
  6665. /* [annotation] */
  6666. __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *pNumRects,
  6667. /* [annotation] */
  6668. __out_ecount_opt(*pNumRects) D3D11_RECT *pRects);
  6669. void ( STDMETHODCALLTYPE *HSGetShaderResources )(
  6670. ID3D11DeviceContext * This,
  6671. /* [annotation] */
  6672. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6673. /* [annotation] */
  6674. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6675. /* [annotation] */
  6676. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews);
  6677. void ( STDMETHODCALLTYPE *HSGetShader )(
  6678. ID3D11DeviceContext * This,
  6679. /* [annotation] */
  6680. __out ID3D11HullShader **ppHullShader,
  6681. /* [annotation] */
  6682. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  6683. /* [annotation] */
  6684. __inout_opt UINT *pNumClassInstances);
  6685. void ( STDMETHODCALLTYPE *HSGetSamplers )(
  6686. ID3D11DeviceContext * This,
  6687. /* [annotation] */
  6688. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6689. /* [annotation] */
  6690. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6691. /* [annotation] */
  6692. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers);
  6693. void ( STDMETHODCALLTYPE *HSGetConstantBuffers )(
  6694. ID3D11DeviceContext * This,
  6695. /* [annotation] */
  6696. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6697. /* [annotation] */
  6698. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6699. /* [annotation] */
  6700. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers);
  6701. void ( STDMETHODCALLTYPE *DSGetShaderResources )(
  6702. ID3D11DeviceContext * This,
  6703. /* [annotation] */
  6704. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6705. /* [annotation] */
  6706. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6707. /* [annotation] */
  6708. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews);
  6709. void ( STDMETHODCALLTYPE *DSGetShader )(
  6710. ID3D11DeviceContext * This,
  6711. /* [annotation] */
  6712. __out ID3D11DomainShader **ppDomainShader,
  6713. /* [annotation] */
  6714. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  6715. /* [annotation] */
  6716. __inout_opt UINT *pNumClassInstances);
  6717. void ( STDMETHODCALLTYPE *DSGetSamplers )(
  6718. ID3D11DeviceContext * This,
  6719. /* [annotation] */
  6720. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6721. /* [annotation] */
  6722. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6723. /* [annotation] */
  6724. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers);
  6725. void ( STDMETHODCALLTYPE *DSGetConstantBuffers )(
  6726. ID3D11DeviceContext * This,
  6727. /* [annotation] */
  6728. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6729. /* [annotation] */
  6730. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6731. /* [annotation] */
  6732. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers);
  6733. void ( STDMETHODCALLTYPE *CSGetShaderResources )(
  6734. ID3D11DeviceContext * This,
  6735. /* [annotation] */
  6736. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  6737. /* [annotation] */
  6738. __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  6739. /* [annotation] */
  6740. __out_ecount(NumViews) ID3D11ShaderResourceView **ppShaderResourceViews);
  6741. void ( STDMETHODCALLTYPE *CSGetUnorderedAccessViews )(
  6742. ID3D11DeviceContext * This,
  6743. /* [annotation] */
  6744. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 ) UINT StartSlot,
  6745. /* [annotation] */
  6746. __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot ) UINT NumUAVs,
  6747. /* [annotation] */
  6748. __out_ecount(NumUAVs) ID3D11UnorderedAccessView **ppUnorderedAccessViews);
  6749. void ( STDMETHODCALLTYPE *CSGetShader )(
  6750. ID3D11DeviceContext * This,
  6751. /* [annotation] */
  6752. __out ID3D11ComputeShader **ppComputeShader,
  6753. /* [annotation] */
  6754. __out_ecount_opt(*pNumClassInstances) ID3D11ClassInstance **ppClassInstances,
  6755. /* [annotation] */
  6756. __inout_opt UINT *pNumClassInstances);
  6757. void ( STDMETHODCALLTYPE *CSGetSamplers )(
  6758. ID3D11DeviceContext * This,
  6759. /* [annotation] */
  6760. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  6761. /* [annotation] */
  6762. __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  6763. /* [annotation] */
  6764. __out_ecount(NumSamplers) ID3D11SamplerState **ppSamplers);
  6765. void ( STDMETHODCALLTYPE *CSGetConstantBuffers )(
  6766. ID3D11DeviceContext * This,
  6767. /* [annotation] */
  6768. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  6769. /* [annotation] */
  6770. __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  6771. /* [annotation] */
  6772. __out_ecount(NumBuffers) ID3D11Buffer **ppConstantBuffers);
  6773. void ( STDMETHODCALLTYPE *ClearState )(
  6774. ID3D11DeviceContext * This);
  6775. void ( STDMETHODCALLTYPE *Flush )(
  6776. ID3D11DeviceContext * This);
  6777. D3D11_DEVICE_CONTEXT_TYPE ( STDMETHODCALLTYPE *GetType )(
  6778. ID3D11DeviceContext * This);
  6779. UINT ( STDMETHODCALLTYPE *GetContextFlags )(
  6780. ID3D11DeviceContext * This);
  6781. HRESULT ( STDMETHODCALLTYPE *FinishCommandList )(
  6782. ID3D11DeviceContext * This,
  6783. BOOL RestoreDeferredContextState,
  6784. /* [annotation] */
  6785. __out_opt ID3D11CommandList **ppCommandList);
  6786. END_INTERFACE
  6787. } ID3D11DeviceContextVtbl;
  6788. interface ID3D11DeviceContext
  6789. {
  6790. CONST_VTBL struct ID3D11DeviceContextVtbl *lpVtbl;
  6791. };
  6792. #ifdef COBJMACROS
  6793. #define ID3D11DeviceContext_QueryInterface(This,riid,ppvObject) \
  6794. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  6795. #define ID3D11DeviceContext_AddRef(This) \
  6796. ( (This)->lpVtbl -> AddRef(This) )
  6797. #define ID3D11DeviceContext_Release(This) \
  6798. ( (This)->lpVtbl -> Release(This) )
  6799. #define ID3D11DeviceContext_GetDevice(This,ppDevice) \
  6800. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  6801. #define ID3D11DeviceContext_GetPrivateData(This,guid,pDataSize,pData) \
  6802. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  6803. #define ID3D11DeviceContext_SetPrivateData(This,guid,DataSize,pData) \
  6804. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  6805. #define ID3D11DeviceContext_SetPrivateDataInterface(This,guid,pData) \
  6806. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  6807. #define ID3D11DeviceContext_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6808. ( (This)->lpVtbl -> VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6809. #define ID3D11DeviceContext_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6810. ( (This)->lpVtbl -> PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6811. #define ID3D11DeviceContext_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) \
  6812. ( (This)->lpVtbl -> PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) )
  6813. #define ID3D11DeviceContext_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6814. ( (This)->lpVtbl -> PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6815. #define ID3D11DeviceContext_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) \
  6816. ( (This)->lpVtbl -> VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) )
  6817. #define ID3D11DeviceContext_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) \
  6818. ( (This)->lpVtbl -> DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) )
  6819. #define ID3D11DeviceContext_Draw(This,VertexCount,StartVertexLocation) \
  6820. ( (This)->lpVtbl -> Draw(This,VertexCount,StartVertexLocation) )
  6821. #define ID3D11DeviceContext_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) \
  6822. ( (This)->lpVtbl -> Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) )
  6823. #define ID3D11DeviceContext_Unmap(This,pResource,Subresource) \
  6824. ( (This)->lpVtbl -> Unmap(This,pResource,Subresource) )
  6825. #define ID3D11DeviceContext_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6826. ( (This)->lpVtbl -> PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6827. #define ID3D11DeviceContext_IASetInputLayout(This,pInputLayout) \
  6828. ( (This)->lpVtbl -> IASetInputLayout(This,pInputLayout) )
  6829. #define ID3D11DeviceContext_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) \
  6830. ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  6831. #define ID3D11DeviceContext_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  6832. ( (This)->lpVtbl -> IASetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  6833. #define ID3D11DeviceContext_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
  6834. ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
  6835. #define ID3D11DeviceContext_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
  6836. ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
  6837. #define ID3D11DeviceContext_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6838. ( (This)->lpVtbl -> GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6839. #define ID3D11DeviceContext_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) \
  6840. ( (This)->lpVtbl -> GSSetShader(This,pShader,ppClassInstances,NumClassInstances) )
  6841. #define ID3D11DeviceContext_IASetPrimitiveTopology(This,Topology) \
  6842. ( (This)->lpVtbl -> IASetPrimitiveTopology(This,Topology) )
  6843. #define ID3D11DeviceContext_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6844. ( (This)->lpVtbl -> VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6845. #define ID3D11DeviceContext_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6846. ( (This)->lpVtbl -> VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6847. #define ID3D11DeviceContext_Begin(This,pAsync) \
  6848. ( (This)->lpVtbl -> Begin(This,pAsync) )
  6849. #define ID3D11DeviceContext_End(This,pAsync) \
  6850. ( (This)->lpVtbl -> End(This,pAsync) )
  6851. #define ID3D11DeviceContext_GetData(This,pAsync,pData,DataSize,GetDataFlags) \
  6852. ( (This)->lpVtbl -> GetData(This,pAsync,pData,DataSize,GetDataFlags) )
  6853. #define ID3D11DeviceContext_SetPredication(This,pPredicate,PredicateValue) \
  6854. ( (This)->lpVtbl -> SetPredication(This,pPredicate,PredicateValue) )
  6855. #define ID3D11DeviceContext_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6856. ( (This)->lpVtbl -> GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6857. #define ID3D11DeviceContext_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6858. ( (This)->lpVtbl -> GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6859. #define ID3D11DeviceContext_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) \
  6860. ( (This)->lpVtbl -> OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) )
  6861. #define ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) \
  6862. ( (This)->lpVtbl -> OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) )
  6863. #define ID3D11DeviceContext_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) \
  6864. ( (This)->lpVtbl -> OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) )
  6865. #define ID3D11DeviceContext_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) \
  6866. ( (This)->lpVtbl -> OMSetDepthStencilState(This,pDepthStencilState,StencilRef) )
  6867. #define ID3D11DeviceContext_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) \
  6868. ( (This)->lpVtbl -> SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  6869. #define ID3D11DeviceContext_DrawAuto(This) \
  6870. ( (This)->lpVtbl -> DrawAuto(This) )
  6871. #define ID3D11DeviceContext_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) \
  6872. ( (This)->lpVtbl -> DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) )
  6873. #define ID3D11DeviceContext_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) \
  6874. ( (This)->lpVtbl -> DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) )
  6875. #define ID3D11DeviceContext_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
  6876. ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
  6877. #define ID3D11DeviceContext_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) \
  6878. ( (This)->lpVtbl -> DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) )
  6879. #define ID3D11DeviceContext_RSSetState(This,pRasterizerState) \
  6880. ( (This)->lpVtbl -> RSSetState(This,pRasterizerState) )
  6881. #define ID3D11DeviceContext_RSSetViewports(This,NumViewports,pViewports) \
  6882. ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
  6883. #define ID3D11DeviceContext_RSSetScissorRects(This,NumRects,pRects) \
  6884. ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
  6885. #define ID3D11DeviceContext_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) \
  6886. ( (This)->lpVtbl -> CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) )
  6887. #define ID3D11DeviceContext_CopyResource(This,pDstResource,pSrcResource) \
  6888. ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
  6889. #define ID3D11DeviceContext_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
  6890. ( (This)->lpVtbl -> UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
  6891. #define ID3D11DeviceContext_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) \
  6892. ( (This)->lpVtbl -> CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) )
  6893. #define ID3D11DeviceContext_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) \
  6894. ( (This)->lpVtbl -> ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) )
  6895. #define ID3D11DeviceContext_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) \
  6896. ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) )
  6897. #define ID3D11DeviceContext_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) \
  6898. ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) )
  6899. #define ID3D11DeviceContext_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) \
  6900. ( (This)->lpVtbl -> ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) )
  6901. #define ID3D11DeviceContext_GenerateMips(This,pShaderResourceView) \
  6902. ( (This)->lpVtbl -> GenerateMips(This,pShaderResourceView) )
  6903. #define ID3D11DeviceContext_SetResourceMinLOD(This,pResource,MinLOD) \
  6904. ( (This)->lpVtbl -> SetResourceMinLOD(This,pResource,MinLOD) )
  6905. #define ID3D11DeviceContext_GetResourceMinLOD(This,pResource) \
  6906. ( (This)->lpVtbl -> GetResourceMinLOD(This,pResource) )
  6907. #define ID3D11DeviceContext_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
  6908. ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
  6909. #define ID3D11DeviceContext_ExecuteCommandList(This,pCommandList,RestoreContextState) \
  6910. ( (This)->lpVtbl -> ExecuteCommandList(This,pCommandList,RestoreContextState) )
  6911. #define ID3D11DeviceContext_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6912. ( (This)->lpVtbl -> HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6913. #define ID3D11DeviceContext_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) \
  6914. ( (This)->lpVtbl -> HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) )
  6915. #define ID3D11DeviceContext_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6916. ( (This)->lpVtbl -> HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6917. #define ID3D11DeviceContext_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6918. ( (This)->lpVtbl -> HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6919. #define ID3D11DeviceContext_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6920. ( (This)->lpVtbl -> DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6921. #define ID3D11DeviceContext_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) \
  6922. ( (This)->lpVtbl -> DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) )
  6923. #define ID3D11DeviceContext_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6924. ( (This)->lpVtbl -> DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6925. #define ID3D11DeviceContext_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6926. ( (This)->lpVtbl -> DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6927. #define ID3D11DeviceContext_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6928. ( (This)->lpVtbl -> CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6929. #define ID3D11DeviceContext_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) \
  6930. ( (This)->lpVtbl -> CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) )
  6931. #define ID3D11DeviceContext_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) \
  6932. ( (This)->lpVtbl -> CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) )
  6933. #define ID3D11DeviceContext_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6934. ( (This)->lpVtbl -> CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6935. #define ID3D11DeviceContext_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6936. ( (This)->lpVtbl -> CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6937. #define ID3D11DeviceContext_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6938. ( (This)->lpVtbl -> VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6939. #define ID3D11DeviceContext_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6940. ( (This)->lpVtbl -> PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6941. #define ID3D11DeviceContext_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) \
  6942. ( (This)->lpVtbl -> PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) )
  6943. #define ID3D11DeviceContext_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6944. ( (This)->lpVtbl -> PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6945. #define ID3D11DeviceContext_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) \
  6946. ( (This)->lpVtbl -> VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) )
  6947. #define ID3D11DeviceContext_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6948. ( (This)->lpVtbl -> PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6949. #define ID3D11DeviceContext_IAGetInputLayout(This,ppInputLayout) \
  6950. ( (This)->lpVtbl -> IAGetInputLayout(This,ppInputLayout) )
  6951. #define ID3D11DeviceContext_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) \
  6952. ( (This)->lpVtbl -> IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  6953. #define ID3D11DeviceContext_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  6954. ( (This)->lpVtbl -> IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  6955. #define ID3D11DeviceContext_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6956. ( (This)->lpVtbl -> GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6957. #define ID3D11DeviceContext_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) \
  6958. ( (This)->lpVtbl -> GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) )
  6959. #define ID3D11DeviceContext_IAGetPrimitiveTopology(This,pTopology) \
  6960. ( (This)->lpVtbl -> IAGetPrimitiveTopology(This,pTopology) )
  6961. #define ID3D11DeviceContext_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6962. ( (This)->lpVtbl -> VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6963. #define ID3D11DeviceContext_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6964. ( (This)->lpVtbl -> VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6965. #define ID3D11DeviceContext_GetPredication(This,ppPredicate,pPredicateValue) \
  6966. ( (This)->lpVtbl -> GetPredication(This,ppPredicate,pPredicateValue) )
  6967. #define ID3D11DeviceContext_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6968. ( (This)->lpVtbl -> GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6969. #define ID3D11DeviceContext_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6970. ( (This)->lpVtbl -> GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6971. #define ID3D11DeviceContext_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) \
  6972. ( (This)->lpVtbl -> OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) )
  6973. #define ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) \
  6974. ( (This)->lpVtbl -> OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) )
  6975. #define ID3D11DeviceContext_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) \
  6976. ( (This)->lpVtbl -> OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) )
  6977. #define ID3D11DeviceContext_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) \
  6978. ( (This)->lpVtbl -> OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) )
  6979. #define ID3D11DeviceContext_SOGetTargets(This,NumBuffers,ppSOTargets) \
  6980. ( (This)->lpVtbl -> SOGetTargets(This,NumBuffers,ppSOTargets) )
  6981. #define ID3D11DeviceContext_RSGetState(This,ppRasterizerState) \
  6982. ( (This)->lpVtbl -> RSGetState(This,ppRasterizerState) )
  6983. #define ID3D11DeviceContext_RSGetViewports(This,pNumViewports,pViewports) \
  6984. ( (This)->lpVtbl -> RSGetViewports(This,pNumViewports,pViewports) )
  6985. #define ID3D11DeviceContext_RSGetScissorRects(This,pNumRects,pRects) \
  6986. ( (This)->lpVtbl -> RSGetScissorRects(This,pNumRects,pRects) )
  6987. #define ID3D11DeviceContext_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6988. ( (This)->lpVtbl -> HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6989. #define ID3D11DeviceContext_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) \
  6990. ( (This)->lpVtbl -> HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) )
  6991. #define ID3D11DeviceContext_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  6992. ( (This)->lpVtbl -> HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  6993. #define ID3D11DeviceContext_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  6994. ( (This)->lpVtbl -> HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  6995. #define ID3D11DeviceContext_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  6996. ( (This)->lpVtbl -> DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  6997. #define ID3D11DeviceContext_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) \
  6998. ( (This)->lpVtbl -> DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) )
  6999. #define ID3D11DeviceContext_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  7000. ( (This)->lpVtbl -> DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  7001. #define ID3D11DeviceContext_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  7002. ( (This)->lpVtbl -> DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  7003. #define ID3D11DeviceContext_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  7004. ( (This)->lpVtbl -> CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  7005. #define ID3D11DeviceContext_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) \
  7006. ( (This)->lpVtbl -> CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) )
  7007. #define ID3D11DeviceContext_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) \
  7008. ( (This)->lpVtbl -> CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) )
  7009. #define ID3D11DeviceContext_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  7010. ( (This)->lpVtbl -> CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  7011. #define ID3D11DeviceContext_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  7012. ( (This)->lpVtbl -> CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  7013. #define ID3D11DeviceContext_ClearState(This) \
  7014. ( (This)->lpVtbl -> ClearState(This) )
  7015. #define ID3D11DeviceContext_Flush(This) \
  7016. ( (This)->lpVtbl -> Flush(This) )
  7017. #define ID3D11DeviceContext_GetType(This) \
  7018. ( (This)->lpVtbl -> GetType(This) )
  7019. #define ID3D11DeviceContext_GetContextFlags(This) \
  7020. ( (This)->lpVtbl -> GetContextFlags(This) )
  7021. #define ID3D11DeviceContext_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) \
  7022. ( (This)->lpVtbl -> FinishCommandList(This,RestoreDeferredContextState,ppCommandList) )
  7023. #endif /* COBJMACROS */
  7024. #endif /* C style interface */
  7025. #endif /* __ID3D11DeviceContext_INTERFACE_DEFINED__ */
  7026. #ifndef __ID3D11Device_INTERFACE_DEFINED__
  7027. #define __ID3D11Device_INTERFACE_DEFINED__
  7028. /* interface ID3D11Device */
  7029. /* [unique][local][object][uuid] */
  7030. EXTERN_C const IID IID_ID3D11Device;
  7031. #if defined(__cplusplus) && !defined(CINTERFACE)
  7032. MIDL_INTERFACE("db6f6ddb-ac77-4e88-8253-819df9bbf140")
  7033. ID3D11Device : public IUnknown
  7034. {
  7035. public:
  7036. virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
  7037. /* [annotation] */
  7038. __in const D3D11_BUFFER_DESC *pDesc,
  7039. /* [annotation] */
  7040. __in_opt const D3D11_SUBRESOURCE_DATA *pInitialData,
  7041. /* [annotation] */
  7042. __out_opt ID3D11Buffer **ppBuffer) = 0;
  7043. virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
  7044. /* [annotation] */
  7045. __in const D3D11_TEXTURE1D_DESC *pDesc,
  7046. /* [annotation] */
  7047. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D11_SUBRESOURCE_DATA *pInitialData,
  7048. /* [annotation] */
  7049. __out_opt ID3D11Texture1D **ppTexture1D) = 0;
  7050. virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
  7051. /* [annotation] */
  7052. __in const D3D11_TEXTURE2D_DESC *pDesc,
  7053. /* [annotation] */
  7054. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D11_SUBRESOURCE_DATA *pInitialData,
  7055. /* [annotation] */
  7056. __out_opt ID3D11Texture2D **ppTexture2D) = 0;
  7057. virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
  7058. /* [annotation] */
  7059. __in const D3D11_TEXTURE3D_DESC *pDesc,
  7060. /* [annotation] */
  7061. __in_xcount_opt(pDesc->MipLevels) const D3D11_SUBRESOURCE_DATA *pInitialData,
  7062. /* [annotation] */
  7063. __out_opt ID3D11Texture3D **ppTexture3D) = 0;
  7064. virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
  7065. /* [annotation] */
  7066. __in ID3D11Resource *pResource,
  7067. /* [annotation] */
  7068. __in_opt const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
  7069. /* [annotation] */
  7070. __out_opt ID3D11ShaderResourceView **ppSRView) = 0;
  7071. virtual HRESULT STDMETHODCALLTYPE CreateUnorderedAccessView(
  7072. /* [annotation] */
  7073. __in ID3D11Resource *pResource,
  7074. /* [annotation] */
  7075. __in_opt const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
  7076. /* [annotation] */
  7077. __out_opt ID3D11UnorderedAccessView **ppUAView) = 0;
  7078. virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
  7079. /* [annotation] */
  7080. __in ID3D11Resource *pResource,
  7081. /* [annotation] */
  7082. __in_opt const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
  7083. /* [annotation] */
  7084. __out_opt ID3D11RenderTargetView **ppRTView) = 0;
  7085. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
  7086. /* [annotation] */
  7087. __in ID3D11Resource *pResource,
  7088. /* [annotation] */
  7089. __in_opt const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
  7090. /* [annotation] */
  7091. __out_opt ID3D11DepthStencilView **ppDepthStencilView) = 0;
  7092. virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
  7093. /* [annotation] */
  7094. __in_ecount(NumElements) const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  7095. /* [annotation] */
  7096. __in_range( 0, D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ) UINT NumElements,
  7097. /* [annotation] */
  7098. __in const void *pShaderBytecodeWithInputSignature,
  7099. /* [annotation] */
  7100. __in SIZE_T BytecodeLength,
  7101. /* [annotation] */
  7102. __out_opt ID3D11InputLayout **ppInputLayout) = 0;
  7103. virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
  7104. /* [annotation] */
  7105. __in const void *pShaderBytecode,
  7106. /* [annotation] */
  7107. __in SIZE_T BytecodeLength,
  7108. /* [annotation] */
  7109. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7110. /* [annotation] */
  7111. __out_opt ID3D11VertexShader **ppVertexShader) = 0;
  7112. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
  7113. /* [annotation] */
  7114. __in const void *pShaderBytecode,
  7115. /* [annotation] */
  7116. __in SIZE_T BytecodeLength,
  7117. /* [annotation] */
  7118. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7119. /* [annotation] */
  7120. __out_opt ID3D11GeometryShader **ppGeometryShader) = 0;
  7121. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
  7122. /* [annotation] */
  7123. __in const void *pShaderBytecode,
  7124. /* [annotation] */
  7125. __in SIZE_T BytecodeLength,
  7126. /* [annotation] */
  7127. __in_ecount_opt(NumEntries) const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
  7128. /* [annotation] */
  7129. __in_range( 0, D3D11_SO_STREAM_COUNT * D3D11_SO_OUTPUT_COMPONENT_COUNT ) UINT NumEntries,
  7130. /* [annotation] */
  7131. __in_ecount_opt(NumStrides) const UINT *pBufferStrides,
  7132. /* [annotation] */
  7133. __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT ) UINT NumStrides,
  7134. /* [annotation] */
  7135. __in UINT RasterizedStream,
  7136. /* [annotation] */
  7137. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7138. /* [annotation] */
  7139. __out_opt ID3D11GeometryShader **ppGeometryShader) = 0;
  7140. virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
  7141. /* [annotation] */
  7142. __in const void *pShaderBytecode,
  7143. /* [annotation] */
  7144. __in SIZE_T BytecodeLength,
  7145. /* [annotation] */
  7146. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7147. /* [annotation] */
  7148. __out_opt ID3D11PixelShader **ppPixelShader) = 0;
  7149. virtual HRESULT STDMETHODCALLTYPE CreateHullShader(
  7150. /* [annotation] */
  7151. __in const void *pShaderBytecode,
  7152. /* [annotation] */
  7153. __in SIZE_T BytecodeLength,
  7154. /* [annotation] */
  7155. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7156. /* [annotation] */
  7157. __out_opt ID3D11HullShader **ppHullShader) = 0;
  7158. virtual HRESULT STDMETHODCALLTYPE CreateDomainShader(
  7159. /* [annotation] */
  7160. __in const void *pShaderBytecode,
  7161. /* [annotation] */
  7162. __in SIZE_T BytecodeLength,
  7163. /* [annotation] */
  7164. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7165. /* [annotation] */
  7166. __out_opt ID3D11DomainShader **ppDomainShader) = 0;
  7167. virtual HRESULT STDMETHODCALLTYPE CreateComputeShader(
  7168. /* [annotation] */
  7169. __in const void *pShaderBytecode,
  7170. /* [annotation] */
  7171. __in SIZE_T BytecodeLength,
  7172. /* [annotation] */
  7173. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7174. /* [annotation] */
  7175. __out_opt ID3D11ComputeShader **ppComputeShader) = 0;
  7176. virtual HRESULT STDMETHODCALLTYPE CreateClassLinkage(
  7177. /* [annotation] */
  7178. __out ID3D11ClassLinkage **ppLinkage) = 0;
  7179. virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
  7180. /* [annotation] */
  7181. __in const D3D11_BLEND_DESC *pBlendStateDesc,
  7182. /* [annotation] */
  7183. __out_opt ID3D11BlendState **ppBlendState) = 0;
  7184. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
  7185. /* [annotation] */
  7186. __in const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  7187. /* [annotation] */
  7188. __out_opt ID3D11DepthStencilState **ppDepthStencilState) = 0;
  7189. virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
  7190. /* [annotation] */
  7191. __in const D3D11_RASTERIZER_DESC *pRasterizerDesc,
  7192. /* [annotation] */
  7193. __out_opt ID3D11RasterizerState **ppRasterizerState) = 0;
  7194. virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
  7195. /* [annotation] */
  7196. __in const D3D11_SAMPLER_DESC *pSamplerDesc,
  7197. /* [annotation] */
  7198. __out_opt ID3D11SamplerState **ppSamplerState) = 0;
  7199. virtual HRESULT STDMETHODCALLTYPE CreateQuery(
  7200. /* [annotation] */
  7201. __in const D3D11_QUERY_DESC *pQueryDesc,
  7202. /* [annotation] */
  7203. __out_opt ID3D11Query **ppQuery) = 0;
  7204. virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
  7205. /* [annotation] */
  7206. __in const D3D11_QUERY_DESC *pPredicateDesc,
  7207. /* [annotation] */
  7208. __out_opt ID3D11Predicate **ppPredicate) = 0;
  7209. virtual HRESULT STDMETHODCALLTYPE CreateCounter(
  7210. /* [annotation] */
  7211. __in const D3D11_COUNTER_DESC *pCounterDesc,
  7212. /* [annotation] */
  7213. __out_opt ID3D11Counter **ppCounter) = 0;
  7214. virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext(
  7215. UINT ContextFlags,
  7216. /* [annotation] */
  7217. __out_opt ID3D11DeviceContext **ppDeferredContext) = 0;
  7218. virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
  7219. /* [annotation] */
  7220. __in HANDLE hResource,
  7221. /* [annotation] */
  7222. __in REFIID ReturnedInterface,
  7223. /* [annotation] */
  7224. __out_opt void **ppResource) = 0;
  7225. virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
  7226. /* [annotation] */
  7227. __in DXGI_FORMAT Format,
  7228. /* [annotation] */
  7229. __out UINT *pFormatSupport) = 0;
  7230. virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
  7231. /* [annotation] */
  7232. __in DXGI_FORMAT Format,
  7233. /* [annotation] */
  7234. __in UINT SampleCount,
  7235. /* [annotation] */
  7236. __out UINT *pNumQualityLevels) = 0;
  7237. virtual void STDMETHODCALLTYPE CheckCounterInfo(
  7238. /* [annotation] */
  7239. __out D3D11_COUNTER_INFO *pCounterInfo) = 0;
  7240. virtual HRESULT STDMETHODCALLTYPE CheckCounter(
  7241. /* [annotation] */
  7242. __in const D3D11_COUNTER_DESC *pDesc,
  7243. /* [annotation] */
  7244. __out D3D11_COUNTER_TYPE *pType,
  7245. /* [annotation] */
  7246. __out UINT *pActiveCounters,
  7247. /* [annotation] */
  7248. __out_ecount_opt(*pNameLength) LPSTR szName,
  7249. /* [annotation] */
  7250. __inout_opt UINT *pNameLength,
  7251. /* [annotation] */
  7252. __out_ecount_opt(*pUnitsLength) LPSTR szUnits,
  7253. /* [annotation] */
  7254. __inout_opt UINT *pUnitsLength,
  7255. /* [annotation] */
  7256. __out_ecount_opt(*pDescriptionLength) LPSTR szDescription,
  7257. /* [annotation] */
  7258. __inout_opt UINT *pDescriptionLength) = 0;
  7259. virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
  7260. D3D11_FEATURE Feature,
  7261. /* [annotation] */
  7262. __out_bcount(FeatureSupportDataSize) void *pFeatureSupportData,
  7263. UINT FeatureSupportDataSize) = 0;
  7264. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  7265. /* [annotation] */
  7266. __in REFGUID guid,
  7267. /* [annotation] */
  7268. __inout UINT *pDataSize,
  7269. /* [annotation] */
  7270. __out_bcount_opt(*pDataSize) void *pData) = 0;
  7271. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  7272. /* [annotation] */
  7273. __in REFGUID guid,
  7274. /* [annotation] */
  7275. __in UINT DataSize,
  7276. /* [annotation] */
  7277. __in_bcount_opt(DataSize) const void *pData) = 0;
  7278. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  7279. /* [annotation] */
  7280. __in REFGUID guid,
  7281. /* [annotation] */
  7282. __in_opt const IUnknown *pData) = 0;
  7283. virtual D3D_FEATURE_LEVEL STDMETHODCALLTYPE GetFeatureLevel( void) = 0;
  7284. virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;
  7285. virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
  7286. virtual void STDMETHODCALLTYPE GetImmediateContext(
  7287. /* [annotation] */
  7288. __out ID3D11DeviceContext **ppImmediateContext) = 0;
  7289. virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
  7290. UINT RaiseFlags) = 0;
  7291. virtual UINT STDMETHODCALLTYPE GetExceptionMode( void) = 0;
  7292. };
  7293. #else /* C style interface */
  7294. typedef struct ID3D11DeviceVtbl
  7295. {
  7296. BEGIN_INTERFACE
  7297. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7298. ID3D11Device * This,
  7299. /* [in] */ REFIID riid,
  7300. /* [annotation][iid_is][out] */
  7301. __RPC__deref_out void **ppvObject);
  7302. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7303. ID3D11Device * This);
  7304. ULONG ( STDMETHODCALLTYPE *Release )(
  7305. ID3D11Device * This);
  7306. HRESULT ( STDMETHODCALLTYPE *CreateBuffer )(
  7307. ID3D11Device * This,
  7308. /* [annotation] */
  7309. __in const D3D11_BUFFER_DESC *pDesc,
  7310. /* [annotation] */
  7311. __in_opt const D3D11_SUBRESOURCE_DATA *pInitialData,
  7312. /* [annotation] */
  7313. __out_opt ID3D11Buffer **ppBuffer);
  7314. HRESULT ( STDMETHODCALLTYPE *CreateTexture1D )(
  7315. ID3D11Device * This,
  7316. /* [annotation] */
  7317. __in const D3D11_TEXTURE1D_DESC *pDesc,
  7318. /* [annotation] */
  7319. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D11_SUBRESOURCE_DATA *pInitialData,
  7320. /* [annotation] */
  7321. __out_opt ID3D11Texture1D **ppTexture1D);
  7322. HRESULT ( STDMETHODCALLTYPE *CreateTexture2D )(
  7323. ID3D11Device * This,
  7324. /* [annotation] */
  7325. __in const D3D11_TEXTURE2D_DESC *pDesc,
  7326. /* [annotation] */
  7327. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D11_SUBRESOURCE_DATA *pInitialData,
  7328. /* [annotation] */
  7329. __out_opt ID3D11Texture2D **ppTexture2D);
  7330. HRESULT ( STDMETHODCALLTYPE *CreateTexture3D )(
  7331. ID3D11Device * This,
  7332. /* [annotation] */
  7333. __in const D3D11_TEXTURE3D_DESC *pDesc,
  7334. /* [annotation] */
  7335. __in_xcount_opt(pDesc->MipLevels) const D3D11_SUBRESOURCE_DATA *pInitialData,
  7336. /* [annotation] */
  7337. __out_opt ID3D11Texture3D **ppTexture3D);
  7338. HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView )(
  7339. ID3D11Device * This,
  7340. /* [annotation] */
  7341. __in ID3D11Resource *pResource,
  7342. /* [annotation] */
  7343. __in_opt const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
  7344. /* [annotation] */
  7345. __out_opt ID3D11ShaderResourceView **ppSRView);
  7346. HRESULT ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
  7347. ID3D11Device * This,
  7348. /* [annotation] */
  7349. __in ID3D11Resource *pResource,
  7350. /* [annotation] */
  7351. __in_opt const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
  7352. /* [annotation] */
  7353. __out_opt ID3D11UnorderedAccessView **ppUAView);
  7354. HRESULT ( STDMETHODCALLTYPE *CreateRenderTargetView )(
  7355. ID3D11Device * This,
  7356. /* [annotation] */
  7357. __in ID3D11Resource *pResource,
  7358. /* [annotation] */
  7359. __in_opt const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
  7360. /* [annotation] */
  7361. __out_opt ID3D11RenderTargetView **ppRTView);
  7362. HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilView )(
  7363. ID3D11Device * This,
  7364. /* [annotation] */
  7365. __in ID3D11Resource *pResource,
  7366. /* [annotation] */
  7367. __in_opt const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
  7368. /* [annotation] */
  7369. __out_opt ID3D11DepthStencilView **ppDepthStencilView);
  7370. HRESULT ( STDMETHODCALLTYPE *CreateInputLayout )(
  7371. ID3D11Device * This,
  7372. /* [annotation] */
  7373. __in_ecount(NumElements) const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  7374. /* [annotation] */
  7375. __in_range( 0, D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ) UINT NumElements,
  7376. /* [annotation] */
  7377. __in const void *pShaderBytecodeWithInputSignature,
  7378. /* [annotation] */
  7379. __in SIZE_T BytecodeLength,
  7380. /* [annotation] */
  7381. __out_opt ID3D11InputLayout **ppInputLayout);
  7382. HRESULT ( STDMETHODCALLTYPE *CreateVertexShader )(
  7383. ID3D11Device * This,
  7384. /* [annotation] */
  7385. __in const void *pShaderBytecode,
  7386. /* [annotation] */
  7387. __in SIZE_T BytecodeLength,
  7388. /* [annotation] */
  7389. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7390. /* [annotation] */
  7391. __out_opt ID3D11VertexShader **ppVertexShader);
  7392. HRESULT ( STDMETHODCALLTYPE *CreateGeometryShader )(
  7393. ID3D11Device * This,
  7394. /* [annotation] */
  7395. __in const void *pShaderBytecode,
  7396. /* [annotation] */
  7397. __in SIZE_T BytecodeLength,
  7398. /* [annotation] */
  7399. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7400. /* [annotation] */
  7401. __out_opt ID3D11GeometryShader **ppGeometryShader);
  7402. HRESULT ( STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput )(
  7403. ID3D11Device * This,
  7404. /* [annotation] */
  7405. __in const void *pShaderBytecode,
  7406. /* [annotation] */
  7407. __in SIZE_T BytecodeLength,
  7408. /* [annotation] */
  7409. __in_ecount_opt(NumEntries) const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
  7410. /* [annotation] */
  7411. __in_range( 0, D3D11_SO_STREAM_COUNT * D3D11_SO_OUTPUT_COMPONENT_COUNT ) UINT NumEntries,
  7412. /* [annotation] */
  7413. __in_ecount_opt(NumStrides) const UINT *pBufferStrides,
  7414. /* [annotation] */
  7415. __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT ) UINT NumStrides,
  7416. /* [annotation] */
  7417. __in UINT RasterizedStream,
  7418. /* [annotation] */
  7419. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7420. /* [annotation] */
  7421. __out_opt ID3D11GeometryShader **ppGeometryShader);
  7422. HRESULT ( STDMETHODCALLTYPE *CreatePixelShader )(
  7423. ID3D11Device * This,
  7424. /* [annotation] */
  7425. __in const void *pShaderBytecode,
  7426. /* [annotation] */
  7427. __in SIZE_T BytecodeLength,
  7428. /* [annotation] */
  7429. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7430. /* [annotation] */
  7431. __out_opt ID3D11PixelShader **ppPixelShader);
  7432. HRESULT ( STDMETHODCALLTYPE *CreateHullShader )(
  7433. ID3D11Device * This,
  7434. /* [annotation] */
  7435. __in const void *pShaderBytecode,
  7436. /* [annotation] */
  7437. __in SIZE_T BytecodeLength,
  7438. /* [annotation] */
  7439. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7440. /* [annotation] */
  7441. __out_opt ID3D11HullShader **ppHullShader);
  7442. HRESULT ( STDMETHODCALLTYPE *CreateDomainShader )(
  7443. ID3D11Device * This,
  7444. /* [annotation] */
  7445. __in const void *pShaderBytecode,
  7446. /* [annotation] */
  7447. __in SIZE_T BytecodeLength,
  7448. /* [annotation] */
  7449. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7450. /* [annotation] */
  7451. __out_opt ID3D11DomainShader **ppDomainShader);
  7452. HRESULT ( STDMETHODCALLTYPE *CreateComputeShader )(
  7453. ID3D11Device * This,
  7454. /* [annotation] */
  7455. __in const void *pShaderBytecode,
  7456. /* [annotation] */
  7457. __in SIZE_T BytecodeLength,
  7458. /* [annotation] */
  7459. __in_opt ID3D11ClassLinkage *pClassLinkage,
  7460. /* [annotation] */
  7461. __out_opt ID3D11ComputeShader **ppComputeShader);
  7462. HRESULT ( STDMETHODCALLTYPE *CreateClassLinkage )(
  7463. ID3D11Device * This,
  7464. /* [annotation] */
  7465. __out ID3D11ClassLinkage **ppLinkage);
  7466. HRESULT ( STDMETHODCALLTYPE *CreateBlendState )(
  7467. ID3D11Device * This,
  7468. /* [annotation] */
  7469. __in const D3D11_BLEND_DESC *pBlendStateDesc,
  7470. /* [annotation] */
  7471. __out_opt ID3D11BlendState **ppBlendState);
  7472. HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilState )(
  7473. ID3D11Device * This,
  7474. /* [annotation] */
  7475. __in const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  7476. /* [annotation] */
  7477. __out_opt ID3D11DepthStencilState **ppDepthStencilState);
  7478. HRESULT ( STDMETHODCALLTYPE *CreateRasterizerState )(
  7479. ID3D11Device * This,
  7480. /* [annotation] */
  7481. __in const D3D11_RASTERIZER_DESC *pRasterizerDesc,
  7482. /* [annotation] */
  7483. __out_opt ID3D11RasterizerState **ppRasterizerState);
  7484. HRESULT ( STDMETHODCALLTYPE *CreateSamplerState )(
  7485. ID3D11Device * This,
  7486. /* [annotation] */
  7487. __in const D3D11_SAMPLER_DESC *pSamplerDesc,
  7488. /* [annotation] */
  7489. __out_opt ID3D11SamplerState **ppSamplerState);
  7490. HRESULT ( STDMETHODCALLTYPE *CreateQuery )(
  7491. ID3D11Device * This,
  7492. /* [annotation] */
  7493. __in const D3D11_QUERY_DESC *pQueryDesc,
  7494. /* [annotation] */
  7495. __out_opt ID3D11Query **ppQuery);
  7496. HRESULT ( STDMETHODCALLTYPE *CreatePredicate )(
  7497. ID3D11Device * This,
  7498. /* [annotation] */
  7499. __in const D3D11_QUERY_DESC *pPredicateDesc,
  7500. /* [annotation] */
  7501. __out_opt ID3D11Predicate **ppPredicate);
  7502. HRESULT ( STDMETHODCALLTYPE *CreateCounter )(
  7503. ID3D11Device * This,
  7504. /* [annotation] */
  7505. __in const D3D11_COUNTER_DESC *pCounterDesc,
  7506. /* [annotation] */
  7507. __out_opt ID3D11Counter **ppCounter);
  7508. HRESULT ( STDMETHODCALLTYPE *CreateDeferredContext )(
  7509. ID3D11Device * This,
  7510. UINT ContextFlags,
  7511. /* [annotation] */
  7512. __out_opt ID3D11DeviceContext **ppDeferredContext);
  7513. HRESULT ( STDMETHODCALLTYPE *OpenSharedResource )(
  7514. ID3D11Device * This,
  7515. /* [annotation] */
  7516. __in HANDLE hResource,
  7517. /* [annotation] */
  7518. __in REFIID ReturnedInterface,
  7519. /* [annotation] */
  7520. __out_opt void **ppResource);
  7521. HRESULT ( STDMETHODCALLTYPE *CheckFormatSupport )(
  7522. ID3D11Device * This,
  7523. /* [annotation] */
  7524. __in DXGI_FORMAT Format,
  7525. /* [annotation] */
  7526. __out UINT *pFormatSupport);
  7527. HRESULT ( STDMETHODCALLTYPE *CheckMultisampleQualityLevels )(
  7528. ID3D11Device * This,
  7529. /* [annotation] */
  7530. __in DXGI_FORMAT Format,
  7531. /* [annotation] */
  7532. __in UINT SampleCount,
  7533. /* [annotation] */
  7534. __out UINT *pNumQualityLevels);
  7535. void ( STDMETHODCALLTYPE *CheckCounterInfo )(
  7536. ID3D11Device * This,
  7537. /* [annotation] */
  7538. __out D3D11_COUNTER_INFO *pCounterInfo);
  7539. HRESULT ( STDMETHODCALLTYPE *CheckCounter )(
  7540. ID3D11Device * This,
  7541. /* [annotation] */
  7542. __in const D3D11_COUNTER_DESC *pDesc,
  7543. /* [annotation] */
  7544. __out D3D11_COUNTER_TYPE *pType,
  7545. /* [annotation] */
  7546. __out UINT *pActiveCounters,
  7547. /* [annotation] */
  7548. __out_ecount_opt(*pNameLength) LPSTR szName,
  7549. /* [annotation] */
  7550. __inout_opt UINT *pNameLength,
  7551. /* [annotation] */
  7552. __out_ecount_opt(*pUnitsLength) LPSTR szUnits,
  7553. /* [annotation] */
  7554. __inout_opt UINT *pUnitsLength,
  7555. /* [annotation] */
  7556. __out_ecount_opt(*pDescriptionLength) LPSTR szDescription,
  7557. /* [annotation] */
  7558. __inout_opt UINT *pDescriptionLength);
  7559. HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
  7560. ID3D11Device * This,
  7561. D3D11_FEATURE Feature,
  7562. /* [annotation] */
  7563. __out_bcount(FeatureSupportDataSize) void *pFeatureSupportData,
  7564. UINT FeatureSupportDataSize);
  7565. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  7566. ID3D11Device * This,
  7567. /* [annotation] */
  7568. __in REFGUID guid,
  7569. /* [annotation] */
  7570. __inout UINT *pDataSize,
  7571. /* [annotation] */
  7572. __out_bcount_opt(*pDataSize) void *pData);
  7573. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  7574. ID3D11Device * This,
  7575. /* [annotation] */
  7576. __in REFGUID guid,
  7577. /* [annotation] */
  7578. __in UINT DataSize,
  7579. /* [annotation] */
  7580. __in_bcount_opt(DataSize) const void *pData);
  7581. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  7582. ID3D11Device * This,
  7583. /* [annotation] */
  7584. __in REFGUID guid,
  7585. /* [annotation] */
  7586. __in_opt const IUnknown *pData);
  7587. D3D_FEATURE_LEVEL ( STDMETHODCALLTYPE *GetFeatureLevel )(
  7588. ID3D11Device * This);
  7589. UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
  7590. ID3D11Device * This);
  7591. HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
  7592. ID3D11Device * This);
  7593. void ( STDMETHODCALLTYPE *GetImmediateContext )(
  7594. ID3D11Device * This,
  7595. /* [annotation] */
  7596. __out ID3D11DeviceContext **ppImmediateContext);
  7597. HRESULT ( STDMETHODCALLTYPE *SetExceptionMode )(
  7598. ID3D11Device * This,
  7599. UINT RaiseFlags);
  7600. UINT ( STDMETHODCALLTYPE *GetExceptionMode )(
  7601. ID3D11Device * This);
  7602. END_INTERFACE
  7603. } ID3D11DeviceVtbl;
  7604. interface ID3D11Device
  7605. {
  7606. CONST_VTBL struct ID3D11DeviceVtbl *lpVtbl;
  7607. };
  7608. #ifdef COBJMACROS
  7609. #define ID3D11Device_QueryInterface(This,riid,ppvObject) \
  7610. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  7611. #define ID3D11Device_AddRef(This) \
  7612. ( (This)->lpVtbl -> AddRef(This) )
  7613. #define ID3D11Device_Release(This) \
  7614. ( (This)->lpVtbl -> Release(This) )
  7615. #define ID3D11Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) \
  7616. ( (This)->lpVtbl -> CreateBuffer(This,pDesc,pInitialData,ppBuffer) )
  7617. #define ID3D11Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) \
  7618. ( (This)->lpVtbl -> CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) )
  7619. #define ID3D11Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) \
  7620. ( (This)->lpVtbl -> CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) )
  7621. #define ID3D11Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) \
  7622. ( (This)->lpVtbl -> CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) )
  7623. #define ID3D11Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) \
  7624. ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,ppSRView) )
  7625. #define ID3D11Device_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) \
  7626. ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) )
  7627. #define ID3D11Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) \
  7628. ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,ppRTView) )
  7629. #define ID3D11Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) \
  7630. ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) )
  7631. #define ID3D11Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) \
  7632. ( (This)->lpVtbl -> CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) )
  7633. #define ID3D11Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) \
  7634. ( (This)->lpVtbl -> CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) )
  7635. #define ID3D11Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) \
  7636. ( (This)->lpVtbl -> CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) )
  7637. #define ID3D11Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) \
  7638. ( (This)->lpVtbl -> CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) )
  7639. #define ID3D11Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) \
  7640. ( (This)->lpVtbl -> CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) )
  7641. #define ID3D11Device_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) \
  7642. ( (This)->lpVtbl -> CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) )
  7643. #define ID3D11Device_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) \
  7644. ( (This)->lpVtbl -> CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) )
  7645. #define ID3D11Device_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) \
  7646. ( (This)->lpVtbl -> CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) )
  7647. #define ID3D11Device_CreateClassLinkage(This,ppLinkage) \
  7648. ( (This)->lpVtbl -> CreateClassLinkage(This,ppLinkage) )
  7649. #define ID3D11Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) \
  7650. ( (This)->lpVtbl -> CreateBlendState(This,pBlendStateDesc,ppBlendState) )
  7651. #define ID3D11Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) \
  7652. ( (This)->lpVtbl -> CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) )
  7653. #define ID3D11Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) \
  7654. ( (This)->lpVtbl -> CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) )
  7655. #define ID3D11Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) \
  7656. ( (This)->lpVtbl -> CreateSamplerState(This,pSamplerDesc,ppSamplerState) )
  7657. #define ID3D11Device_CreateQuery(This,pQueryDesc,ppQuery) \
  7658. ( (This)->lpVtbl -> CreateQuery(This,pQueryDesc,ppQuery) )
  7659. #define ID3D11Device_CreatePredicate(This,pPredicateDesc,ppPredicate) \
  7660. ( (This)->lpVtbl -> CreatePredicate(This,pPredicateDesc,ppPredicate) )
  7661. #define ID3D11Device_CreateCounter(This,pCounterDesc,ppCounter) \
  7662. ( (This)->lpVtbl -> CreateCounter(This,pCounterDesc,ppCounter) )
  7663. #define ID3D11Device_CreateDeferredContext(This,ContextFlags,ppDeferredContext) \
  7664. ( (This)->lpVtbl -> CreateDeferredContext(This,ContextFlags,ppDeferredContext) )
  7665. #define ID3D11Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) \
  7666. ( (This)->lpVtbl -> OpenSharedResource(This,hResource,ReturnedInterface,ppResource) )
  7667. #define ID3D11Device_CheckFormatSupport(This,Format,pFormatSupport) \
  7668. ( (This)->lpVtbl -> CheckFormatSupport(This,Format,pFormatSupport) )
  7669. #define ID3D11Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) \
  7670. ( (This)->lpVtbl -> CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) )
  7671. #define ID3D11Device_CheckCounterInfo(This,pCounterInfo) \
  7672. ( (This)->lpVtbl -> CheckCounterInfo(This,pCounterInfo) )
  7673. #define ID3D11Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) \
  7674. ( (This)->lpVtbl -> CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) )
  7675. #define ID3D11Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
  7676. ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
  7677. #define ID3D11Device_GetPrivateData(This,guid,pDataSize,pData) \
  7678. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  7679. #define ID3D11Device_SetPrivateData(This,guid,DataSize,pData) \
  7680. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  7681. #define ID3D11Device_SetPrivateDataInterface(This,guid,pData) \
  7682. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  7683. #define ID3D11Device_GetFeatureLevel(This) \
  7684. ( (This)->lpVtbl -> GetFeatureLevel(This) )
  7685. #define ID3D11Device_GetCreationFlags(This) \
  7686. ( (This)->lpVtbl -> GetCreationFlags(This) )
  7687. #define ID3D11Device_GetDeviceRemovedReason(This) \
  7688. ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
  7689. #define ID3D11Device_GetImmediateContext(This,ppImmediateContext) \
  7690. ( (This)->lpVtbl -> GetImmediateContext(This,ppImmediateContext) )
  7691. #define ID3D11Device_SetExceptionMode(This,RaiseFlags) \
  7692. ( (This)->lpVtbl -> SetExceptionMode(This,RaiseFlags) )
  7693. #define ID3D11Device_GetExceptionMode(This) \
  7694. ( (This)->lpVtbl -> GetExceptionMode(This) )
  7695. #endif /* COBJMACROS */
  7696. #endif /* C style interface */
  7697. #endif /* __ID3D11Device_INTERFACE_DEFINED__ */
  7698. /* interface __MIDL_itf_d3d11_0000_0031 */
  7699. /* [local] */
  7700. typedef
  7701. enum D3D11_CREATE_DEVICE_FLAG
  7702. { D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1,
  7703. D3D11_CREATE_DEVICE_DEBUG = 0x2,
  7704. D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  7705. D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  7706. D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20
  7707. } D3D11_CREATE_DEVICE_FLAG;
  7708. #define D3D11_SDK_VERSION ( 7 )
  7709. #include "d3d10_1.h"
  7710. #if !defined( D3D11_IGNORE_SDK_LAYERS )
  7711. #include "d3d11sdklayers.h"
  7712. #endif
  7713. #include "d3d10misc.h"
  7714. #include "d3d10shader.h"
  7715. #include "d3d10effect.h"
  7716. #include "d3d10_1shader.h"
  7717. ///////////////////////////////////////////////////////////////////////////
  7718. // D3D11CreateDevice
  7719. // ------------------
  7720. //
  7721. // pAdapter
  7722. // If NULL, D3D11CreateDevice will choose the primary adapter and
  7723. // create a new instance from a temporarily created IDXGIFactory.
  7724. // If non-NULL, D3D11CreateDevice will register the appropriate
  7725. // device, if necessary (via IDXGIAdapter::RegisterDrver), before
  7726. // creating the device.
  7727. // DriverType
  7728. // Specifies the driver type to be created: hardware, reference or
  7729. // null.
  7730. // Software
  7731. // HMODULE of a DLL implementing a software rasterizer. Must be NULL for
  7732. // non-Software driver types.
  7733. // Flags
  7734. // Any of those documented for D3D11CreateDeviceAndSwapChain.
  7735. // pFeatureLevels
  7736. // Any of those documented for D3D11CreateDeviceAndSwapChain.
  7737. // FeatureLevels
  7738. // Size of feature levels array.
  7739. // SDKVersion
  7740. // SDK version. Use the D3D11_SDK_VERSION macro.
  7741. // ppDevice
  7742. // Pointer to returned interface. May be NULL.
  7743. // pFeatureLevel
  7744. // Pointer to returned feature level. May be NULL.
  7745. // ppImmediateContext
  7746. // Pointer to returned interface. May be NULL.
  7747. //
  7748. // Return Values
  7749. // Any of those documented for
  7750. // CreateDXGIFactory1
  7751. // IDXGIFactory::EnumAdapters
  7752. // IDXGIAdapter::RegisterDriver
  7753. // D3D11CreateDevice
  7754. //
  7755. ///////////////////////////////////////////////////////////////////////////
  7756. typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)( __in_opt IDXGIAdapter*,
  7757. D3D_DRIVER_TYPE, HMODULE, UINT,
  7758. __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL*,
  7759. UINT FeatureLevels, UINT, __out_opt ID3D11Device**,
  7760. __out_opt D3D_FEATURE_LEVEL*, __out_opt ID3D11DeviceContext** );
  7761. HRESULT WINAPI D3D11CreateDevice(
  7762. __in_opt IDXGIAdapter* pAdapter,
  7763. D3D_DRIVER_TYPE DriverType,
  7764. HMODULE Software,
  7765. UINT Flags,
  7766. __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL* pFeatureLevels,
  7767. UINT FeatureLevels,
  7768. UINT SDKVersion,
  7769. __out_opt ID3D11Device** ppDevice,
  7770. __out_opt D3D_FEATURE_LEVEL* pFeatureLevel,
  7771. __out_opt ID3D11DeviceContext** ppImmediateContext );
  7772. ///////////////////////////////////////////////////////////////////////////
  7773. // D3D11CreateDeviceAndSwapChain
  7774. // ------------------------------
  7775. //
  7776. // ppAdapter
  7777. // If NULL, D3D11CreateDevice will choose the primary adapter and
  7778. // create a new instance from a temporarily created IDXGIFactory.
  7779. // If non-NULL, D3D11CreateDevice will register the appropriate
  7780. // device, if necessary (via IDXGIAdapter::RegisterDrver), before
  7781. // creating the device.
  7782. // DriverType
  7783. // Specifies the driver type to be created: hardware, reference or
  7784. // null.
  7785. // Software
  7786. // HMODULE of a DLL implementing a software rasterizer. Must be NULL for
  7787. // non-Software driver types.
  7788. // Flags
  7789. // Any of those documented for D3D11CreateDevice.
  7790. // pFeatureLevels
  7791. // Array of any of the following:
  7792. // D3D_FEATURE_LEVEL_11_0
  7793. // D3D_FEATURE_LEVEL_10_1
  7794. // D3D_FEATURE_LEVEL_10_0
  7795. // D3D_FEATURE_LEVEL_9_3
  7796. // D3D_FEATURE_LEVEL_9_2
  7797. // D3D_FEATURE_LEVEL_9_1
  7798. // Order indicates sequence in which instantiation will be attempted. If
  7799. // NULL, then the implied order is the same as previously listed (i.e.
  7800. // prefer most features available).
  7801. // FeatureLevels
  7802. // Size of feature levels array.
  7803. // SDKVersion
  7804. // SDK version. Use the D3D11_SDK_VERSION macro.
  7805. // pSwapChainDesc
  7806. // Swap chain description, may be NULL.
  7807. // ppSwapChain
  7808. // Pointer to returned interface. May be NULL.
  7809. // ppDevice
  7810. // Pointer to returned interface. May be NULL.
  7811. // pFeatureLevel
  7812. // Pointer to returned feature level. May be NULL.
  7813. // ppImmediateContext
  7814. // Pointer to returned interface. May be NULL.
  7815. //
  7816. // Return Values
  7817. // Any of those documented for
  7818. // CreateDXGIFactory1
  7819. // IDXGIFactory::EnumAdapters
  7820. // IDXGIAdapter::RegisterDriver
  7821. // D3D11CreateDevice
  7822. // IDXGIFactory::CreateSwapChain
  7823. //
  7824. ///////////////////////////////////////////////////////////////////////////
  7825. typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)( __in_opt IDXGIAdapter*,
  7826. D3D_DRIVER_TYPE, HMODULE, UINT,
  7827. __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL*,
  7828. UINT FeatureLevels, UINT, __in_opt CONST DXGI_SWAP_CHAIN_DESC*,
  7829. __out_opt IDXGISwapChain**, __out_opt ID3D11Device**,
  7830. __out_opt D3D_FEATURE_LEVEL*, __out_opt ID3D11DeviceContext** );
  7831. HRESULT WINAPI D3D11CreateDeviceAndSwapChain(
  7832. __in_opt IDXGIAdapter* pAdapter,
  7833. D3D_DRIVER_TYPE DriverType,
  7834. HMODULE Software,
  7835. UINT Flags,
  7836. __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL* pFeatureLevels,
  7837. UINT FeatureLevels,
  7838. UINT SDKVersion,
  7839. __in_opt CONST DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
  7840. __out_opt IDXGISwapChain** ppSwapChain,
  7841. __out_opt ID3D11Device** ppDevice,
  7842. __out_opt D3D_FEATURE_LEVEL* pFeatureLevel,
  7843. __out_opt ID3D11DeviceContext** ppImmediateContext );
  7844. DEFINE_GUID(IID_ID3D11DeviceChild,0x1841e5c8,0x16b0,0x489b,0xbc,0xc8,0x44,0xcf,0xb0,0xd5,0xde,0xae);
  7845. DEFINE_GUID(IID_ID3D11DepthStencilState,0x03823efb,0x8d8f,0x4e1c,0x9a,0xa2,0xf6,0x4b,0xb2,0xcb,0xfd,0xf1);
  7846. DEFINE_GUID(IID_ID3D11BlendState,0x75b68faa,0x347d,0x4159,0x8f,0x45,0xa0,0x64,0x0f,0x01,0xcd,0x9a);
  7847. DEFINE_GUID(IID_ID3D11RasterizerState,0x9bb4ab81,0xab1a,0x4d8f,0xb5,0x06,0xfc,0x04,0x20,0x0b,0x6e,0xe7);
  7848. DEFINE_GUID(IID_ID3D11Resource,0xdc8e63f3,0xd12b,0x4952,0xb4,0x7b,0x5e,0x45,0x02,0x6a,0x86,0x2d);
  7849. DEFINE_GUID(IID_ID3D11Buffer,0x48570b85,0xd1ee,0x4fcd,0xa2,0x50,0xeb,0x35,0x07,0x22,0xb0,0x37);
  7850. DEFINE_GUID(IID_ID3D11Texture1D,0xf8fb5c27,0xc6b3,0x4f75,0xa4,0xc8,0x43,0x9a,0xf2,0xef,0x56,0x4c);
  7851. DEFINE_GUID(IID_ID3D11Texture2D,0x6f15aaf2,0xd208,0x4e89,0x9a,0xb4,0x48,0x95,0x35,0xd3,0x4f,0x9c);
  7852. DEFINE_GUID(IID_ID3D11Texture3D,0x037e866e,0xf56d,0x4357,0xa8,0xaf,0x9d,0xab,0xbe,0x6e,0x25,0x0e);
  7853. DEFINE_GUID(IID_ID3D11View,0x839d1216,0xbb2e,0x412b,0xb7,0xf4,0xa9,0xdb,0xeb,0xe0,0x8e,0xd1);
  7854. DEFINE_GUID(IID_ID3D11ShaderResourceView,0xb0e06fe0,0x8192,0x4e1a,0xb1,0xca,0x36,0xd7,0x41,0x47,0x10,0xb2);
  7855. DEFINE_GUID(IID_ID3D11RenderTargetView,0xdfdba067,0x0b8d,0x4865,0x87,0x5b,0xd7,0xb4,0x51,0x6c,0xc1,0x64);
  7856. DEFINE_GUID(IID_ID3D11DepthStencilView,0x9fdac92a,0x1876,0x48c3,0xaf,0xad,0x25,0xb9,0x4f,0x84,0xa9,0xb6);
  7857. DEFINE_GUID(IID_ID3D11UnorderedAccessView,0x28acf509,0x7f5c,0x48f6,0x86,0x11,0xf3,0x16,0x01,0x0a,0x63,0x80);
  7858. DEFINE_GUID(IID_ID3D11VertexShader,0x3b301d64,0xd678,0x4289,0x88,0x97,0x22,0xf8,0x92,0x8b,0x72,0xf3);
  7859. DEFINE_GUID(IID_ID3D11HullShader,0x8e5c6061,0x628a,0x4c8e,0x82,0x64,0xbb,0xe4,0x5c,0xb3,0xd5,0xdd);
  7860. DEFINE_GUID(IID_ID3D11DomainShader,0xf582c508,0x0f36,0x490c,0x99,0x77,0x31,0xee,0xce,0x26,0x8c,0xfa);
  7861. DEFINE_GUID(IID_ID3D11GeometryShader,0x38325b96,0xeffb,0x4022,0xba,0x02,0x2e,0x79,0x5b,0x70,0x27,0x5c);
  7862. DEFINE_GUID(IID_ID3D11PixelShader,0xea82e40d,0x51dc,0x4f33,0x93,0xd4,0xdb,0x7c,0x91,0x25,0xae,0x8c);
  7863. DEFINE_GUID(IID_ID3D11ComputeShader,0x4f5b196e,0xc2bd,0x495e,0xbd,0x01,0x1f,0xde,0xd3,0x8e,0x49,0x69);
  7864. DEFINE_GUID(IID_ID3D11InputLayout,0xe4819ddc,0x4cf0,0x4025,0xbd,0x26,0x5d,0xe8,0x2a,0x3e,0x07,0xb7);
  7865. DEFINE_GUID(IID_ID3D11SamplerState,0xda6fea51,0x564c,0x4487,0x98,0x10,0xf0,0xd0,0xf9,0xb4,0xe3,0xa5);
  7866. DEFINE_GUID(IID_ID3D11Asynchronous,0x4b35d0cd,0x1e15,0x4258,0x9c,0x98,0x1b,0x13,0x33,0xf6,0xdd,0x3b);
  7867. DEFINE_GUID(IID_ID3D11Query,0xd6c00747,0x87b7,0x425e,0xb8,0x4d,0x44,0xd1,0x08,0x56,0x0a,0xfd);
  7868. DEFINE_GUID(IID_ID3D11Predicate,0x9eb576dd,0x9f77,0x4d86,0x81,0xaa,0x8b,0xab,0x5f,0xe4,0x90,0xe2);
  7869. DEFINE_GUID(IID_ID3D11Counter,0x6e8c49fb,0xa371,0x4770,0xb4,0x40,0x29,0x08,0x60,0x22,0xb7,0x41);
  7870. DEFINE_GUID(IID_ID3D11ClassInstance,0xa6cd7faa,0xb0b7,0x4a2f,0x94,0x36,0x86,0x62,0xa6,0x57,0x97,0xcb);
  7871. DEFINE_GUID(IID_ID3D11ClassLinkage,0xddf57cba,0x9543,0x46e4,0xa1,0x2b,0xf2,0x07,0xa0,0xfe,0x7f,0xed);
  7872. DEFINE_GUID(IID_ID3D11CommandList,0xa24bc4d1,0x769e,0x43f7,0x80,0x13,0x98,0xff,0x56,0x6c,0x18,0xe2);
  7873. DEFINE_GUID(IID_ID3D11DeviceContext,0xc0bfa96c,0xe089,0x44fb,0x8e,0xaf,0x26,0xf8,0x79,0x61,0x90,0xda);
  7874. DEFINE_GUID(IID_ID3D11Device,0xdb6f6ddb,0xac77,0x4e88,0x82,0x53,0x81,0x9d,0xf9,0xbb,0xf1,0x40);
  7875. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0031_v0_0_c_ifspec;
  7876. extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0031_v0_0_s_ifspec;
  7877. /* Additional Prototypes for ALL interfaces */
  7878. /* end of Additional Prototypes */
  7879. #ifdef __cplusplus
  7880. }
  7881. #endif
  7882. #endif