d3d11.h 458 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992
  1. /*** Autogenerated by WIDL 7.7 from include/d3d11.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __d3d11_h__
  14. #define __d3d11_h__
  15. /* Forward declarations */
  16. #ifndef __ID3D11DeviceChild_FWD_DEFINED__
  17. #define __ID3D11DeviceChild_FWD_DEFINED__
  18. typedef interface ID3D11DeviceChild ID3D11DeviceChild;
  19. #ifdef __cplusplus
  20. interface ID3D11DeviceChild;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __ID3D11Asynchronous_FWD_DEFINED__
  24. #define __ID3D11Asynchronous_FWD_DEFINED__
  25. typedef interface ID3D11Asynchronous ID3D11Asynchronous;
  26. #ifdef __cplusplus
  27. interface ID3D11Asynchronous;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __ID3D11Query_FWD_DEFINED__
  31. #define __ID3D11Query_FWD_DEFINED__
  32. typedef interface ID3D11Query ID3D11Query;
  33. #ifdef __cplusplus
  34. interface ID3D11Query;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __ID3D11Resource_FWD_DEFINED__
  38. #define __ID3D11Resource_FWD_DEFINED__
  39. typedef interface ID3D11Resource ID3D11Resource;
  40. #ifdef __cplusplus
  41. interface ID3D11Resource;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __ID3D11View_FWD_DEFINED__
  45. #define __ID3D11View_FWD_DEFINED__
  46. typedef interface ID3D11View ID3D11View;
  47. #ifdef __cplusplus
  48. interface ID3D11View;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __ID3D11BlendState_FWD_DEFINED__
  52. #define __ID3D11BlendState_FWD_DEFINED__
  53. typedef interface ID3D11BlendState ID3D11BlendState;
  54. #ifdef __cplusplus
  55. interface ID3D11BlendState;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __ID3D11Buffer_FWD_DEFINED__
  59. #define __ID3D11Buffer_FWD_DEFINED__
  60. typedef interface ID3D11Buffer ID3D11Buffer;
  61. #ifdef __cplusplus
  62. interface ID3D11Buffer;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __ID3D11ClassInstance_FWD_DEFINED__
  66. #define __ID3D11ClassInstance_FWD_DEFINED__
  67. typedef interface ID3D11ClassInstance ID3D11ClassInstance;
  68. #ifdef __cplusplus
  69. interface ID3D11ClassInstance;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __ID3D11ClassLinkage_FWD_DEFINED__
  73. #define __ID3D11ClassLinkage_FWD_DEFINED__
  74. typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
  75. #ifdef __cplusplus
  76. interface ID3D11ClassLinkage;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __ID3D11CommandList_FWD_DEFINED__
  80. #define __ID3D11CommandList_FWD_DEFINED__
  81. typedef interface ID3D11CommandList ID3D11CommandList;
  82. #ifdef __cplusplus
  83. interface ID3D11CommandList;
  84. #endif /* __cplusplus */
  85. #endif
  86. #ifndef __ID3D11ComputeShader_FWD_DEFINED__
  87. #define __ID3D11ComputeShader_FWD_DEFINED__
  88. typedef interface ID3D11ComputeShader ID3D11ComputeShader;
  89. #ifdef __cplusplus
  90. interface ID3D11ComputeShader;
  91. #endif /* __cplusplus */
  92. #endif
  93. #ifndef __ID3D11Counter_FWD_DEFINED__
  94. #define __ID3D11Counter_FWD_DEFINED__
  95. typedef interface ID3D11Counter ID3D11Counter;
  96. #ifdef __cplusplus
  97. interface ID3D11Counter;
  98. #endif /* __cplusplus */
  99. #endif
  100. #ifndef __ID3D11DepthStencilState_FWD_DEFINED__
  101. #define __ID3D11DepthStencilState_FWD_DEFINED__
  102. typedef interface ID3D11DepthStencilState ID3D11DepthStencilState;
  103. #ifdef __cplusplus
  104. interface ID3D11DepthStencilState;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __ID3D11DepthStencilView_FWD_DEFINED__
  108. #define __ID3D11DepthStencilView_FWD_DEFINED__
  109. typedef interface ID3D11DepthStencilView ID3D11DepthStencilView;
  110. #ifdef __cplusplus
  111. interface ID3D11DepthStencilView;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __ID3D11DomainShader_FWD_DEFINED__
  115. #define __ID3D11DomainShader_FWD_DEFINED__
  116. typedef interface ID3D11DomainShader ID3D11DomainShader;
  117. #ifdef __cplusplus
  118. interface ID3D11DomainShader;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __ID3D11GeometryShader_FWD_DEFINED__
  122. #define __ID3D11GeometryShader_FWD_DEFINED__
  123. typedef interface ID3D11GeometryShader ID3D11GeometryShader;
  124. #ifdef __cplusplus
  125. interface ID3D11GeometryShader;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __ID3D11HullShader_FWD_DEFINED__
  129. #define __ID3D11HullShader_FWD_DEFINED__
  130. typedef interface ID3D11HullShader ID3D11HullShader;
  131. #ifdef __cplusplus
  132. interface ID3D11HullShader;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __ID3D11InputLayout_FWD_DEFINED__
  136. #define __ID3D11InputLayout_FWD_DEFINED__
  137. typedef interface ID3D11InputLayout ID3D11InputLayout;
  138. #ifdef __cplusplus
  139. interface ID3D11InputLayout;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __ID3D11PixelShader_FWD_DEFINED__
  143. #define __ID3D11PixelShader_FWD_DEFINED__
  144. typedef interface ID3D11PixelShader ID3D11PixelShader;
  145. #ifdef __cplusplus
  146. interface ID3D11PixelShader;
  147. #endif /* __cplusplus */
  148. #endif
  149. #ifndef __ID3D11Predicate_FWD_DEFINED__
  150. #define __ID3D11Predicate_FWD_DEFINED__
  151. typedef interface ID3D11Predicate ID3D11Predicate;
  152. #ifdef __cplusplus
  153. interface ID3D11Predicate;
  154. #endif /* __cplusplus */
  155. #endif
  156. #ifndef __ID3D11RasterizerState_FWD_DEFINED__
  157. #define __ID3D11RasterizerState_FWD_DEFINED__
  158. typedef interface ID3D11RasterizerState ID3D11RasterizerState;
  159. #ifdef __cplusplus
  160. interface ID3D11RasterizerState;
  161. #endif /* __cplusplus */
  162. #endif
  163. #ifndef __ID3D11RenderTargetView_FWD_DEFINED__
  164. #define __ID3D11RenderTargetView_FWD_DEFINED__
  165. typedef interface ID3D11RenderTargetView ID3D11RenderTargetView;
  166. #ifdef __cplusplus
  167. interface ID3D11RenderTargetView;
  168. #endif /* __cplusplus */
  169. #endif
  170. #ifndef __ID3D11SamplerState_FWD_DEFINED__
  171. #define __ID3D11SamplerState_FWD_DEFINED__
  172. typedef interface ID3D11SamplerState ID3D11SamplerState;
  173. #ifdef __cplusplus
  174. interface ID3D11SamplerState;
  175. #endif /* __cplusplus */
  176. #endif
  177. #ifndef __ID3D11ShaderResourceView_FWD_DEFINED__
  178. #define __ID3D11ShaderResourceView_FWD_DEFINED__
  179. typedef interface ID3D11ShaderResourceView ID3D11ShaderResourceView;
  180. #ifdef __cplusplus
  181. interface ID3D11ShaderResourceView;
  182. #endif /* __cplusplus */
  183. #endif
  184. #ifndef __ID3D11Texture1D_FWD_DEFINED__
  185. #define __ID3D11Texture1D_FWD_DEFINED__
  186. typedef interface ID3D11Texture1D ID3D11Texture1D;
  187. #ifdef __cplusplus
  188. interface ID3D11Texture1D;
  189. #endif /* __cplusplus */
  190. #endif
  191. #ifndef __ID3D11Texture2D_FWD_DEFINED__
  192. #define __ID3D11Texture2D_FWD_DEFINED__
  193. typedef interface ID3D11Texture2D ID3D11Texture2D;
  194. #ifdef __cplusplus
  195. interface ID3D11Texture2D;
  196. #endif /* __cplusplus */
  197. #endif
  198. #ifndef __ID3D11Texture3D_FWD_DEFINED__
  199. #define __ID3D11Texture3D_FWD_DEFINED__
  200. typedef interface ID3D11Texture3D ID3D11Texture3D;
  201. #ifdef __cplusplus
  202. interface ID3D11Texture3D;
  203. #endif /* __cplusplus */
  204. #endif
  205. #ifndef __ID3D11UnorderedAccessView_FWD_DEFINED__
  206. #define __ID3D11UnorderedAccessView_FWD_DEFINED__
  207. typedef interface ID3D11UnorderedAccessView ID3D11UnorderedAccessView;
  208. #ifdef __cplusplus
  209. interface ID3D11UnorderedAccessView;
  210. #endif /* __cplusplus */
  211. #endif
  212. #ifndef __ID3D11VertexShader_FWD_DEFINED__
  213. #define __ID3D11VertexShader_FWD_DEFINED__
  214. typedef interface ID3D11VertexShader ID3D11VertexShader;
  215. #ifdef __cplusplus
  216. interface ID3D11VertexShader;
  217. #endif /* __cplusplus */
  218. #endif
  219. #ifndef __ID3D11DeviceContext_FWD_DEFINED__
  220. #define __ID3D11DeviceContext_FWD_DEFINED__
  221. typedef interface ID3D11DeviceContext ID3D11DeviceContext;
  222. #ifdef __cplusplus
  223. interface ID3D11DeviceContext;
  224. #endif /* __cplusplus */
  225. #endif
  226. #ifndef __ID3D11AuthenticatedChannel_FWD_DEFINED__
  227. #define __ID3D11AuthenticatedChannel_FWD_DEFINED__
  228. typedef interface ID3D11AuthenticatedChannel ID3D11AuthenticatedChannel;
  229. #ifdef __cplusplus
  230. interface ID3D11AuthenticatedChannel;
  231. #endif /* __cplusplus */
  232. #endif
  233. #ifndef __ID3D11CryptoSession_FWD_DEFINED__
  234. #define __ID3D11CryptoSession_FWD_DEFINED__
  235. typedef interface ID3D11CryptoSession ID3D11CryptoSession;
  236. #ifdef __cplusplus
  237. interface ID3D11CryptoSession;
  238. #endif /* __cplusplus */
  239. #endif
  240. #ifndef __ID3D11VideoDecoder_FWD_DEFINED__
  241. #define __ID3D11VideoDecoder_FWD_DEFINED__
  242. typedef interface ID3D11VideoDecoder ID3D11VideoDecoder;
  243. #ifdef __cplusplus
  244. interface ID3D11VideoDecoder;
  245. #endif /* __cplusplus */
  246. #endif
  247. #ifndef __ID3D11VideoProcessorEnumerator_FWD_DEFINED__
  248. #define __ID3D11VideoProcessorEnumerator_FWD_DEFINED__
  249. typedef interface ID3D11VideoProcessorEnumerator ID3D11VideoProcessorEnumerator;
  250. #ifdef __cplusplus
  251. interface ID3D11VideoProcessorEnumerator;
  252. #endif /* __cplusplus */
  253. #endif
  254. #ifndef __ID3D11VideoProcessor_FWD_DEFINED__
  255. #define __ID3D11VideoProcessor_FWD_DEFINED__
  256. typedef interface ID3D11VideoProcessor ID3D11VideoProcessor;
  257. #ifdef __cplusplus
  258. interface ID3D11VideoProcessor;
  259. #endif /* __cplusplus */
  260. #endif
  261. #ifndef __ID3D11VideoDecoderOutputView_FWD_DEFINED__
  262. #define __ID3D11VideoDecoderOutputView_FWD_DEFINED__
  263. typedef interface ID3D11VideoDecoderOutputView ID3D11VideoDecoderOutputView;
  264. #ifdef __cplusplus
  265. interface ID3D11VideoDecoderOutputView;
  266. #endif /* __cplusplus */
  267. #endif
  268. #ifndef __ID3D11VideoProcessorInputView_FWD_DEFINED__
  269. #define __ID3D11VideoProcessorInputView_FWD_DEFINED__
  270. typedef interface ID3D11VideoProcessorInputView ID3D11VideoProcessorInputView;
  271. #ifdef __cplusplus
  272. interface ID3D11VideoProcessorInputView;
  273. #endif /* __cplusplus */
  274. #endif
  275. #ifndef __ID3D11VideoProcessorOutputView_FWD_DEFINED__
  276. #define __ID3D11VideoProcessorOutputView_FWD_DEFINED__
  277. typedef interface ID3D11VideoProcessorOutputView ID3D11VideoProcessorOutputView;
  278. #ifdef __cplusplus
  279. interface ID3D11VideoProcessorOutputView;
  280. #endif /* __cplusplus */
  281. #endif
  282. #ifndef __ID3D11VideoDevice_FWD_DEFINED__
  283. #define __ID3D11VideoDevice_FWD_DEFINED__
  284. typedef interface ID3D11VideoDevice ID3D11VideoDevice;
  285. #ifdef __cplusplus
  286. interface ID3D11VideoDevice;
  287. #endif /* __cplusplus */
  288. #endif
  289. #ifndef __ID3D11VideoContext_FWD_DEFINED__
  290. #define __ID3D11VideoContext_FWD_DEFINED__
  291. typedef interface ID3D11VideoContext ID3D11VideoContext;
  292. #ifdef __cplusplus
  293. interface ID3D11VideoContext;
  294. #endif /* __cplusplus */
  295. #endif
  296. #ifndef __ID3D11Device_FWD_DEFINED__
  297. #define __ID3D11Device_FWD_DEFINED__
  298. typedef interface ID3D11Device ID3D11Device;
  299. #ifdef __cplusplus
  300. interface ID3D11Device;
  301. #endif /* __cplusplus */
  302. #endif
  303. /* Headers for imported files */
  304. #include <oaidl.h>
  305. #include <ocidl.h>
  306. #include <dxgi.h>
  307. #include <d3dcommon.h>
  308. #ifdef __cplusplus
  309. extern "C" {
  310. #endif
  311. typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
  312. typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
  313. typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
  314. typedef RECT D3D11_RECT;
  315. #ifndef __ID3D11Device_FWD_DEFINED__
  316. #define __ID3D11Device_FWD_DEFINED__
  317. typedef interface ID3D11Device ID3D11Device;
  318. #ifdef __cplusplus
  319. interface ID3D11Device;
  320. #endif /* __cplusplus */
  321. #endif
  322. #ifndef __ID3D11ClassLinkage_FWD_DEFINED__
  323. #define __ID3D11ClassLinkage_FWD_DEFINED__
  324. typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
  325. #ifdef __cplusplus
  326. interface ID3D11ClassLinkage;
  327. #endif /* __cplusplus */
  328. #endif
  329. #ifndef __ID3D11Resource_FWD_DEFINED__
  330. #define __ID3D11Resource_FWD_DEFINED__
  331. typedef interface ID3D11Resource ID3D11Resource;
  332. #ifdef __cplusplus
  333. interface ID3D11Resource;
  334. #endif /* __cplusplus */
  335. #endif
  336. #ifndef __ID3D11VideoProcessorInputView_FWD_DEFINED__
  337. #define __ID3D11VideoProcessorInputView_FWD_DEFINED__
  338. typedef interface ID3D11VideoProcessorInputView ID3D11VideoProcessorInputView;
  339. #ifdef __cplusplus
  340. interface ID3D11VideoProcessorInputView;
  341. #endif /* __cplusplus */
  342. #endif
  343. #ifndef _D3D11_CONSTANTS
  344. #define _D3D11_CONSTANTS
  345. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
  346. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
  347. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32)
  348. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15)
  349. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT (16)
  350. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
  351. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15)
  352. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
  353. #define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
  354. #define D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
  355. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
  356. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1)
  357. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
  358. #define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
  359. #define D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32)
  360. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1)
  361. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
  362. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1)
  363. #define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1)
  364. #define D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
  365. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1)
  366. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT (16)
  367. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1)
  368. #define D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1)
  369. #define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
  370. #define D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
  371. #define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4)
  372. #define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32)
  373. #define D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
  374. #define D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3)
  375. #define D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3)
  376. #define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10)
  377. #define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10)
  378. #define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8)
  379. #define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7)
  380. #define D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (256)
  381. #define D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP (64)
  382. #define D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (240)
  383. #define D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP (68)
  384. #define D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (224)
  385. #define D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP (72)
  386. #define D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (208)
  387. #define D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP (76)
  388. #define D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (192)
  389. #define D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP (84)
  390. #define D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (176)
  391. #define D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP (92)
  392. #define D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (160)
  393. #define D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP (100)
  394. #define D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (144)
  395. #define D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP (112)
  396. #define D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (128)
  397. #define D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP (128)
  398. #define D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (112)
  399. #define D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP (144)
  400. #define D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (96)
  401. #define D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP (168)
  402. #define D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (80)
  403. #define D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP (204)
  404. #define D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (64)
  405. #define D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP (256)
  406. #define D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (48)
  407. #define D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP (340)
  408. #define D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (32)
  409. #define D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP (512)
  410. #define D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (16)
  411. #define D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP (768)
  412. #define D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION (1)
  413. #define D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT (256)
  414. #define D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP (768)
  415. #define D3D11_CS_4_X_THREAD_GROUP_MAX_X (768)
  416. #define D3D11_CS_4_X_THREAD_GROUP_MAX_Y (768)
  417. #define D3D11_CS_4_X_UAV_REGISTER_COUNT (1)
  418. #define D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535)
  419. #define D3D11_CS_TGSM_REGISTER_COUNT (8192)
  420. #define D3D11_CS_TGSM_REGISTER_READS_PER_INST (1)
  421. #define D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS (1)
  422. #define D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS (1)
  423. #define D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP (1024)
  424. #define D3D11_CS_THREAD_GROUP_MAX_X (1024)
  425. #define D3D11_CS_THREAD_GROUP_MAX_Y (1024)
  426. #define D3D11_CS_THREAD_GROUP_MAX_Z (64)
  427. #define D3D11_CS_THREAD_GROUP_MIN_X (1)
  428. #define D3D11_CS_THREAD_GROUP_MIN_Y (1)
  429. #define D3D11_CS_THREAD_GROUP_MIN_Z (1)
  430. #define D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL (16384)
  431. #define D3D11_DEFAULT_DEPTH_BIAS (0)
  432. #define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f
  433. #define D3D11_DEFAULT_MAX_ANISOTROPY (16)
  434. #define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f
  435. #define D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0)
  436. #define D3D11_DEFAULT_SAMPLE_MASK (0xffffffff)
  437. #define D3D11_DEFAULT_SCISSOR_ENDX (0)
  438. #define D3D11_DEFAULT_SCISSOR_ENDY (0)
  439. #define D3D11_DEFAULT_SCISSOR_STARTX (0)
  440. #define D3D11_DEFAULT_SCISSOR_STARTY (0)
  441. #define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f
  442. #define D3D11_DEFAULT_STENCIL_READ_MASK (0xff)
  443. #define D3D11_DEFAULT_STENCIL_REFERENCE (0)
  444. #define D3D11_DEFAULT_STENCIL_WRITE_MASK (0xff)
  445. #define D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0)
  446. #define D3D11_DEFAULT_VIEWPORT_HEIGHT (0)
  447. #define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f
  448. #define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f
  449. #define D3D11_DEFAULT_VIEWPORT_TOPLEFTX (0)
  450. #define D3D11_DEFAULT_VIEWPORT_TOPLEFTY (0)
  451. #define D3D11_DEFAULT_VIEWPORT_WIDTH (0)
  452. #define D3D11_FLOAT32_MAX (3.402823466e+38f)
  453. #define D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
  454. #define D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
  455. #define D3D11_MAX_MAXANISOTROPY (16)
  456. #define D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
  457. #define D3D11_VIEWPORT_BOUNDS_MAX (32767)
  458. #define D3D11_VIEWPORT_BOUNDS_MIN (-32768)
  459. #define D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX (15)
  460. #define D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
  461. #define D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff)
  462. #define D3D11_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff)
  463. #define D3D11_SHADER_MAJOR_VERSION (5)
  464. #define D3D11_SHADER_MAX_INSTANCES (65535)
  465. #define D3D11_SHADER_MAX_INTERFACES (253)
  466. #define D3D11_SHADER_MAX_INTERFACE_CALL_SITES (4096)
  467. #define D3D11_SHADER_MAX_TYPES (65535)
  468. #define D3D11_SHADER_MINOR_VERSION (0)
  469. #define D3D11_VS_OUTPUT_REGISTER_COUNT (32)
  470. #define D3D11_OMAC_SIZE (16)
  471. #define D3D11_PS_CS_UAV_REGISTER_COMPONENTS (1)
  472. #define D3D11_PS_CS_UAV_REGISTER_COUNT (8)
  473. #define D3D11_PS_CS_UAV_REGISTER_READS_PER_INST (1)
  474. #define D3D11_PS_CS_UAV_REGISTER_READ_PORTS (1)
  475. #define D3D11_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff)
  476. #define D3D11_PS_FRONTFACING_FALSE_VALUE (0)
  477. #define D3D11_PS_FRONTFACING_TRUE_VALUE (0xffffffff)
  478. #define D3D11_PS_INPUT_REGISTER_COMPONENTS (4)
  479. #define D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
  480. #define D3D11_PS_INPUT_REGISTER_COUNT (32)
  481. #define D3D11_PS_INPUT_REGISTER_READS_PER_INST (2)
  482. #define D3D11_PS_INPUT_REGISTER_READ_PORTS (1)
  483. #define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f)
  484. #define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1)
  485. #define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32)
  486. #define D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
  487. #define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS (1)
  488. #define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT (32)
  489. #define D3D11_PS_OUTPUT_MASK_REGISTER_COUNT (1)
  490. #define D3D11_PS_OUTPUT_REGISTER_COMPONENTS (4)
  491. #define D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
  492. #define D3D11_PS_OUTPUT_REGISTER_COUNT (8)
  493. #define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f)
  494. #define D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT (16)
  495. #define D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
  496. #define D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27)
  497. #define D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
  498. #define D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
  499. #define D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32)
  500. #define D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32)
  501. #define D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384)
  502. #define D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024)
  503. #define D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
  504. #define D3D11_REQ_MAXANISOTROPY (16)
  505. #define D3D11_REQ_MIP_LEVELS (15)
  506. #define D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048)
  507. #define D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
  508. #define D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (16384)
  509. #define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
  510. #define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
  511. #define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048)
  512. #define D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (20)
  513. #define D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
  514. #define D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048)
  515. #define D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
  516. #define D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048)
  517. #define D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
  518. #define D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
  519. #define D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
  520. #define D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0)
  521. #define D3D11_SHIFT_INSTRUCTION_PAD_VALUE (0)
  522. #define D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5)
  523. #define D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048)
  524. #define D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (512)
  525. #define D3D11_SO_BUFFER_SLOT_COUNT (4)
  526. #define D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff)
  527. #define D3D11_SO_NO_RASTERIZED_STREAM (0xffffffff)
  528. #define D3D11_SO_OUTPUT_COMPONENT_COUNT (128)
  529. #define D3D11_SO_STREAM_COUNT (4)
  530. #define D3D11_SPEC_DATE_DAY (16)
  531. #define D3D11_SPEC_DATE_MONTH (5)
  532. #define D3D11_SPEC_DATE_YEAR (2011)
  533. #define D3D11_SPEC_VERSION (1.07)
  534. #define D3D11_SRGB_GAMMA (2.2f)
  535. #define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 (12.92f)
  536. #define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 (1.055f)
  537. #define D3D11_SRGB_TO_FLOAT_EXPONENT (2.4f)
  538. #define D3D11_SRGB_TO_FLOAT_OFFSET (0.055f)
  539. #define D3D11_SRGB_TO_FLOAT_THRESHOLD (0.04045f)
  540. #define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f)
  541. #define D3D11_STANDARD_COMPONENT_BIT_COUNT (32)
  542. #define D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64)
  543. #define D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4)
  544. #define D3D11_STANDARD_PIXEL_COMPONENT_COUNT (128)
  545. #define D3D11_STANDARD_PIXEL_ELEMENT_COUNT (32)
  546. #define D3D11_STANDARD_VECTOR_SIZE (4)
  547. #define D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
  548. #define D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
  549. #endif
  550. #ifndef _D3D11_1_CONSTANTS
  551. #define _D3D11_1_CONSTANTS
  552. #define D3D11_1_UAV_SLOT_COUNT (64)
  553. #endif
  554. #ifndef _D3D11_2_CONSTANTS
  555. #define _D3D11_2_CONSTANTS
  556. #define D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES (0x10000)
  557. #endif
  558. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  559. struct CD3D11_DEFAULT {};
  560. extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;
  561. #endif
  562. typedef enum D3D11_BLEND {
  563. D3D11_BLEND_ZERO = 1,
  564. D3D11_BLEND_ONE = 2,
  565. D3D11_BLEND_SRC_COLOR = 3,
  566. D3D11_BLEND_INV_SRC_COLOR = 4,
  567. D3D11_BLEND_SRC_ALPHA = 5,
  568. D3D11_BLEND_INV_SRC_ALPHA = 6,
  569. D3D11_BLEND_DEST_ALPHA = 7,
  570. D3D11_BLEND_INV_DEST_ALPHA = 8,
  571. D3D11_BLEND_DEST_COLOR = 9,
  572. D3D11_BLEND_INV_DEST_COLOR = 10,
  573. D3D11_BLEND_SRC_ALPHA_SAT = 11,
  574. D3D11_BLEND_BLEND_FACTOR = 14,
  575. D3D11_BLEND_INV_BLEND_FACTOR = 15,
  576. D3D11_BLEND_SRC1_COLOR = 16,
  577. D3D11_BLEND_INV_SRC1_COLOR = 17,
  578. D3D11_BLEND_SRC1_ALPHA = 18,
  579. D3D11_BLEND_INV_SRC1_ALPHA = 19
  580. } D3D11_BLEND;
  581. typedef enum D3D11_BLEND_OP {
  582. D3D11_BLEND_OP_ADD = 1,
  583. D3D11_BLEND_OP_SUBTRACT = 2,
  584. D3D11_BLEND_OP_REV_SUBTRACT = 3,
  585. D3D11_BLEND_OP_MIN = 4,
  586. D3D11_BLEND_OP_MAX = 5
  587. } D3D11_BLEND_OP;
  588. typedef enum D3D11_VIDEO_DECODER_BUFFER_TYPE {
  589. D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0,
  590. D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1,
  591. D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2,
  592. D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3,
  593. D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4,
  594. D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5,
  595. D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6,
  596. D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7,
  597. D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8
  598. } D3D11_VIDEO_DECODER_BUFFER_TYPE;
  599. typedef enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE {
  600. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0,
  601. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1,
  602. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2,
  603. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3
  604. } D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE;
  605. typedef enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE {
  606. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0,
  607. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1,
  608. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2
  609. } D3D11_VIDEO_PROCESSOR_OUTPUT_RATE;
  610. typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT {
  611. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0,
  612. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1,
  613. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2,
  614. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3,
  615. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4,
  616. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
  617. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6,
  618. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7
  619. } D3D11_VIDEO_PROCESSOR_STEREO_FORMAT;
  620. typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE {
  621. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0,
  622. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1,
  623. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2
  624. } D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE;
  625. typedef enum D3D11_VIDEO_PROCESSOR_ROTATION {
  626. D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0,
  627. D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1,
  628. D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2,
  629. D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3
  630. } D3D11_VIDEO_PROCESSOR_ROTATION;
  631. typedef enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS {
  632. D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x1,
  633. D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x2,
  634. D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4,
  635. D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8,
  636. D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x10
  637. } D3D11_VIDEO_PROCESSOR_DEVICE_CAPS;
  638. typedef enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS {
  639. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x1,
  640. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x2,
  641. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4,
  642. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x8,
  643. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x10,
  644. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x20,
  645. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40,
  646. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80,
  647. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100,
  648. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200,
  649. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400,
  650. D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x800
  651. } D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
  652. typedef enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS {
  653. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x1,
  654. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x2,
  655. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x4,
  656. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x8,
  657. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x10,
  658. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20,
  659. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40,
  660. D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80
  661. } D3D11_VIDEO_PROCESSOR_FILTER_CAPS;
  662. typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS {
  663. D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x1,
  664. D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x2,
  665. D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x4,
  666. D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x8
  667. } D3D11_VIDEO_PROCESSOR_FORMAT_CAPS;
  668. typedef enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS {
  669. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x1,
  670. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x2,
  671. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x4,
  672. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x8,
  673. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x10,
  674. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x20,
  675. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x40,
  676. D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x80
  677. } D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS;
  678. typedef enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS {
  679. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x1,
  680. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x2,
  681. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x4,
  682. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x8,
  683. D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10
  684. } D3D11_VIDEO_PROCESSOR_STEREO_CAPS;
  685. typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS {
  686. D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1,
  687. D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2,
  688. D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4,
  689. D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8,
  690. D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10,
  691. D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20
  692. } D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS;
  693. typedef enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS {
  694. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x1,
  695. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x2,
  696. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x4,
  697. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x8,
  698. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x10,
  699. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x20,
  700. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x40,
  701. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x80,
  702. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x100,
  703. D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000
  704. } D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS;
  705. typedef enum D3D11_CONTENT_PROTECTION_CAPS {
  706. D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x1,
  707. D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x2,
  708. D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x4,
  709. D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x8,
  710. D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x10,
  711. D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x20,
  712. D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x40,
  713. D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x80,
  714. D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x100,
  715. D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x200,
  716. D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x400,
  717. D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800,
  718. D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x1000,
  719. D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x2000,
  720. D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x4000
  721. } D3D11_CONTENT_PROTECTION_CAPS;
  722. typedef enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE {
  723. D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0x0,
  724. D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 0x1,
  725. D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 0x2
  726. } D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE;
  727. typedef enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE {
  728. D3D11_PROCESSIDTYPE_UNKNOWN = 0x0,
  729. D3D11_PROCESSIDTYPE_DWM = 0x1,
  730. D3D11_PROCESSIDTYPE_HANDLE = 0x2
  731. } D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE;
  732. typedef enum D3D11_BUS_TYPE {
  733. D3D11_BUS_TYPE_OTHER = 0x0,
  734. D3D11_BUS_TYPE_PCI = 0x1,
  735. D3D11_BUS_TYPE_PCIX = 0x2,
  736. D3D11_BUS_TYPE_PCIEXPRESS = 0x3,
  737. D3D11_BUS_TYPE_AGP = 0x4,
  738. D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x10000,
  739. D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000,
  740. D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000,
  741. D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000,
  742. D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000,
  743. D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000
  744. } D3D11_BUS_TYPE;
  745. typedef struct D3D11_BOX {
  746. UINT left;
  747. UINT top;
  748. UINT front;
  749. UINT right;
  750. UINT bottom;
  751. UINT back;
  752. } D3D11_BOX;
  753. typedef struct D3D11_BUFFER_RTV {
  754. __C89_NAMELESS union {
  755. UINT FirstElement;
  756. UINT ElementOffset;
  757. } __C89_NAMELESSUNIONNAME1;
  758. __C89_NAMELESS union {
  759. UINT NumElements;
  760. UINT ElementWidth;
  761. } __C89_NAMELESSUNIONNAME2;
  762. } D3D11_BUFFER_RTV;
  763. typedef struct D3D11_BUFFER_SRV {
  764. __C89_NAMELESS union {
  765. UINT FirstElement;
  766. UINT ElementOffset;
  767. } __C89_NAMELESSUNIONNAME1;
  768. __C89_NAMELESS union {
  769. UINT NumElements;
  770. UINT ElementWidth;
  771. } __C89_NAMELESSUNIONNAME2;
  772. } D3D11_BUFFER_SRV;
  773. typedef struct D3D11_BUFFER_UAV {
  774. UINT FirstElement;
  775. UINT NumElements;
  776. UINT Flags;
  777. } D3D11_BUFFER_UAV;
  778. typedef struct D3D11_BUFFEREX_SRV {
  779. UINT FirstElement;
  780. UINT NumElements;
  781. UINT Flags;
  782. } D3D11_BUFFEREX_SRV;
  783. typedef struct D3D11_CLASS_INSTANCE_DESC {
  784. UINT InstanceId;
  785. UINT InstanceIndex;
  786. UINT TypeId;
  787. UINT ConstantBuffer;
  788. UINT BaseConstantBufferOffset;
  789. UINT BaseTexture;
  790. UINT BaseSampler;
  791. WINBOOL Created;
  792. } D3D11_CLASS_INSTANCE_DESC;
  793. typedef enum D3D11_COMPARISON_FUNC {
  794. D3D11_COMPARISON_NEVER = 1,
  795. D3D11_COMPARISON_LESS = 2,
  796. D3D11_COMPARISON_EQUAL = 3,
  797. D3D11_COMPARISON_LESS_EQUAL = 4,
  798. D3D11_COMPARISON_GREATER = 5,
  799. D3D11_COMPARISON_NOT_EQUAL = 6,
  800. D3D11_COMPARISON_GREATER_EQUAL = 7,
  801. D3D11_COMPARISON_ALWAYS = 8
  802. } D3D11_COMPARISON_FUNC;
  803. typedef enum D3D11_COUNTER {
  804. D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
  805. } D3D11_COUNTER;
  806. typedef struct D3D11_COUNTER_DESC {
  807. D3D11_COUNTER Counter;
  808. UINT MiscFlags;
  809. } D3D11_COUNTER_DESC;
  810. typedef struct D3D11_COUNTER_INFO {
  811. D3D11_COUNTER LastDeviceDependentCounter;
  812. UINT NumSimultaneousCounters;
  813. UINT8 NumDetectableParallelUnits;
  814. } D3D11_COUNTER_INFO;
  815. typedef enum D3D11_COUNTER_TYPE {
  816. D3D11_COUNTER_TYPE_FLOAT32 = 0,
  817. D3D11_COUNTER_TYPE_UINT16 = 1,
  818. D3D11_COUNTER_TYPE_UINT32 = 2,
  819. D3D11_COUNTER_TYPE_UINT64 = 3
  820. } D3D11_COUNTER_TYPE;
  821. typedef enum D3D11_CULL_MODE {
  822. D3D11_CULL_NONE = 1,
  823. D3D11_CULL_FRONT = 2,
  824. D3D11_CULL_BACK = 3
  825. } D3D11_CULL_MODE;
  826. typedef enum D3D11_DEPTH_WRITE_MASK {
  827. D3D11_DEPTH_WRITE_MASK_ZERO = 0,
  828. D3D11_DEPTH_WRITE_MASK_ALL = 1
  829. } D3D11_DEPTH_WRITE_MASK;
  830. typedef enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS {
  831. D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
  832. D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
  833. } D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
  834. typedef enum D3D11_DEVICE_CONTEXT_TYPE {
  835. D3D11_DEVICE_CONTEXT_IMMEDIATE = 0,
  836. D3D11_DEVICE_CONTEXT_DEFERRED = 1
  837. } D3D11_DEVICE_CONTEXT_TYPE;
  838. typedef enum D3D11_DSV_DIMENSION {
  839. D3D11_DSV_DIMENSION_UNKNOWN = 0,
  840. D3D11_DSV_DIMENSION_TEXTURE1D = 1,
  841. D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2,
  842. D3D11_DSV_DIMENSION_TEXTURE2D = 3,
  843. D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4,
  844. D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
  845. D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
  846. } D3D11_DSV_DIMENSION;
  847. typedef enum D3D11_FEATURE {
  848. D3D11_FEATURE_THREADING = 0,
  849. D3D11_FEATURE_DOUBLES = 1,
  850. D3D11_FEATURE_FORMAT_SUPPORT = 2,
  851. D3D11_FEATURE_FORMAT_SUPPORT2 = 3,
  852. D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = 4,
  853. D3D11_FEATURE_D3D11_OPTIONS = 5,
  854. D3D11_FEATURE_ARCHITECTURE_INFO = 6,
  855. D3D11_FEATURE_D3D9_OPTIONS = 7,
  856. D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = 8,
  857. D3D11_FEATURE_D3D9_SHADOW_SUPPORT = 9,
  858. D3D11_FEATURE_D3D11_OPTIONS1 = 10,
  859. D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT = 11,
  860. D3D11_FEATURE_MARKER_SUPPORT = 12,
  861. D3D11_FEATURE_D3D9_OPTIONS1 = 13,
  862. D3D11_FEATURE_D3D11_OPTIONS2 = 14,
  863. D3D11_FEATURE_D3D11_OPTIONS3 = 15,
  864. D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 16,
  865. D3D11_FEATURE_D3D11_OPTIONS4 = 17,
  866. D3D11_FEATURE_SHADER_CACHE = 18,
  867. D3D11_FEATURE_D3D11_OPTIONS5 = 19
  868. } D3D11_FEATURE;
  869. typedef struct D3D11_FEATURE_DATA_THREADING {
  870. WINBOOL DriverConcurrentCreates;
  871. WINBOOL DriverCommandLists;
  872. } D3D11_FEATURE_DATA_THREADING;
  873. typedef struct D3D11_FEATURE_DATA_DOUBLES {
  874. WINBOOL DoublePrecisionFloatShaderOps;
  875. } D3D11_FEATURE_DATA_DOUBLES;
  876. typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT {
  877. DXGI_FORMAT InFormat;
  878. UINT OutFormatSupport;
  879. } D3D11_FEATURE_DATA_FORMAT_SUPPORT;
  880. typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 {
  881. DXGI_FORMAT InFormat;
  882. UINT OutFormatSupport2;
  883. } D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
  884. typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS {
  885. WINBOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
  886. } D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
  887. typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS {
  888. WINBOOL OutputMergerLogicOp;
  889. WINBOOL UAVOnlyRenderingForcedSampleCount;
  890. WINBOOL DiscardAPIsSeenByDriver;
  891. WINBOOL FlagsForUpdateAndCopySeenByDriver;
  892. WINBOOL ClearView;
  893. WINBOOL CopyWithOverlap;
  894. WINBOOL ConstantBufferPartialUpdate;
  895. WINBOOL ConstantBufferOffsetting;
  896. WINBOOL MapNoOverwriteOnDynamicConstantBuffer;
  897. WINBOOL MapNoOverwriteOnDynamicBufferSRV;
  898. WINBOOL MultisampleRTVWithForcedSampleCountOne;
  899. WINBOOL SAD4ShaderInstructions;
  900. WINBOOL ExtendedDoublesShaderInstructions;
  901. WINBOOL ExtendedResourceSharing;
  902. } D3D11_FEATURE_DATA_D3D11_OPTIONS;
  903. typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
  904. WINBOOL TileBasedDeferredRenderer;
  905. } D3D11_FEATURE_DATA_ARCHITECTURE_INFO;
  906. typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS {
  907. WINBOOL FullNonPow2TextureSupport;
  908. } D3D11_FEATURE_DATA_D3D9_OPTIONS;
  909. typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
  910. WINBOOL SupportsDepthAsTextureWithLessEqualComparisonFilter;
  911. } D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT;
  912. typedef enum D3D11_SHADER_MIN_PRECISION_SUPPORT {
  913. D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1,
  914. D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2
  915. } D3D11_SHADER_MIN_PRECISION_SUPPORT;
  916. typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
  917. UINT PixelShaderMinPrecision;
  918. UINT AllOtherShaderStagesMinPrecision;
  919. } D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT;
  920. typedef enum D3D11_TILED_RESOURCES_TIER {
  921. D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0x0,
  922. D3D11_TILED_RESOURCES_TIER_1 = 0x1,
  923. D3D11_TILED_RESOURCES_TIER_2 = 0x2,
  924. D3D11_TILED_RESOURCES_TIER_3 = 0x3
  925. } D3D11_TILED_RESOURCES_TIER;
  926. typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 {
  927. D3D11_TILED_RESOURCES_TIER TiledResourcesTier;
  928. WINBOOL MinMaxFiltering;
  929. WINBOOL ClearViewAlsoSupportsDepthOnlyFormats;
  930. WINBOOL MapOnDefaultBuffers;
  931. } D3D11_FEATURE_DATA_D3D11_OPTIONS1;
  932. typedef struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT {
  933. WINBOOL SimpleInstancingSupported;
  934. } D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT;
  935. typedef struct D3D11_FEATURE_DATA_MARKER_SUPPORT {
  936. WINBOOL Profile;
  937. } D3D11_FEATURE_DATA_MARKER_SUPPORT;
  938. typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
  939. WINBOOL FullNonPow2TextureSupported;
  940. WINBOOL DepthAsTextureWithLessEqualComparisonFilterSupported;
  941. WINBOOL SimpleInstancingSupported;
  942. WINBOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported;
  943. } D3D11_FEATURE_DATA_D3D9_OPTIONS1;
  944. typedef enum D3D11_CONSERVATIVE_RASTERIZATION_TIER {
  945. D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0x0,
  946. D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 0x1,
  947. D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 0x2,
  948. D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 0x3
  949. } D3D11_CONSERVATIVE_RASTERIZATION_TIER;
  950. typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 {
  951. WINBOOL PSSpecifiedStencilRefSupported;
  952. WINBOOL TypedUAVLoadAdditionalFormats;
  953. WINBOOL ROVsSupported;
  954. D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
  955. D3D11_TILED_RESOURCES_TIER TiledResourcesTier;
  956. WINBOOL MapOnDefaultTextures;
  957. WINBOOL StandardSwizzle;
  958. WINBOOL UnifiedMemoryArchitecture;
  959. } D3D11_FEATURE_DATA_D3D11_OPTIONS2;
  960. typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 {
  961. WINBOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer;
  962. } D3D11_FEATURE_DATA_D3D11_OPTIONS3;
  963. typedef struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
  964. UINT MaxGPUVirtualAddressBitsPerResource;
  965. UINT MaxGPUVirtualAddressBitsPerProcess;
  966. } D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
  967. typedef enum D3D11_SHADER_CACHE_SUPPORT_FLAGS {
  968. D3D11_SHADER_CACHE_SUPPORT_NONE = 0x0,
  969. D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x1,
  970. D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x2
  971. } D3D11_SHADER_CACHE_SUPPORT_FLAGS;
  972. typedef struct D3D11_FEATURE_DATA_SHADER_CACHE {
  973. UINT SupportFlags;
  974. } D3D11_FEATURE_DATA_SHADER_CACHE;
  975. typedef enum D3D11_SHARED_RESOURCE_TIER {
  976. D3D11_SHARED_RESOURCE_TIER_0 = 0,
  977. D3D11_SHARED_RESOURCE_TIER_1 = 1,
  978. D3D11_SHARED_RESOURCE_TIER_2 = 2,
  979. D3D11_SHARED_RESOURCE_TIER_3 = 3
  980. } D3D11_SHARED_RESOURCE_TIER;
  981. typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS5 {
  982. D3D11_SHARED_RESOURCE_TIER SharedResourceTier;
  983. } D3D11_FEATURE_DATA_D3D11_OPTIONS5;
  984. typedef enum D3D11_FILL_MODE {
  985. D3D11_FILL_WIREFRAME = 2,
  986. D3D11_FILL_SOLID = 3
  987. } D3D11_FILL_MODE;
  988. typedef enum D3D11_FILTER_TYPE {
  989. D3D11_FILTER_TYPE_POINT = 0,
  990. D3D11_FILTER_TYPE_LINEAR = 1
  991. } D3D11_FILTER_TYPE;
  992. #define D3D11_MIN_FILTER_SHIFT (4)
  993. #define D3D11_MAG_FILTER_SHIFT (2)
  994. #define D3D11_MIP_FILTER_SHIFT (0)
  995. #define D3D11_FILTER_TYPE_MASK (0x3)
  996. #define D3D11_COMPARISON_FILTERING_BIT (0x80)
  997. #define D3D11_ANISOTROPIC_FILTERING_BIT (0x40)
  998. #define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \
  999. ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \
  1000. (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \
  1001. (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \
  1002. (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))
  1003. #define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \
  1004. ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \
  1005. D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \
  1006. D3D11_FILTER_TYPE_LINEAR,bComparison)))
  1007. #define D3D11_DECODE_MIN_FILTER(d3d11Filter) \
  1008. ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
  1009. #define D3D11_DECODE_MAG_FILTER(d3d11Filter) \
  1010. ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
  1011. #define D3D11_DECODE_MIP_FILTER(d3d11Filter) \
  1012. ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
  1013. #define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)
  1014. #define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \
  1015. (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \
  1016. && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \
  1017. && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER(d3d11Filter)) \
  1018. && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER(d3d11Filter)))
  1019. typedef enum D3D11_FILTER {
  1020. D3D11_FILTER_MIN_MAG_MIP_POINT = 0x0,
  1021. D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
  1022. D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
  1023. D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
  1024. D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
  1025. D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
  1026. D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
  1027. D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
  1028. D3D11_FILTER_ANISOTROPIC = 0x55,
  1029. D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
  1030. D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
  1031. D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
  1032. D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
  1033. D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
  1034. D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
  1035. D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
  1036. D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
  1037. D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
  1038. D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
  1039. D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
  1040. D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
  1041. D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
  1042. D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
  1043. D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
  1044. D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
  1045. D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
  1046. D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155,
  1047. D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
  1048. D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
  1049. D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
  1050. D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
  1051. D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
  1052. D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
  1053. D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
  1054. D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
  1055. D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
  1056. } D3D11_FILTER;
  1057. typedef enum D3D11_DSV_FLAG {
  1058. D3D11_DSV_READ_ONLY_DEPTH = 0x1,
  1059. D3D11_DSV_READ_ONLY_STENCIL = 0x2
  1060. } D3D11_DSV_FLAG;
  1061. typedef enum D3D11_BUFFEREX_SRV_FLAG {
  1062. D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1
  1063. } D3D11_BUFFEREX_SRV_FLAG;
  1064. typedef enum D3D11_UAV_FLAG {
  1065. D3D11_BUFFER_UAV_FLAG_RAW = 0x1,
  1066. D3D11_BUFFER_UAV_FLAG_APPEND = 0x2,
  1067. D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4
  1068. } D3D11_UAV_FLAG;
  1069. typedef enum D3D11_INPUT_CLASSIFICATION {
  1070. D3D11_INPUT_PER_VERTEX_DATA = 0,
  1071. D3D11_INPUT_PER_INSTANCE_DATA = 1
  1072. } D3D11_INPUT_CLASSIFICATION;
  1073. #define D3D11_APPEND_ALIGNED_ELEMENT (0xffffffff)
  1074. typedef struct D3D11_INPUT_ELEMENT_DESC {
  1075. LPCSTR SemanticName;
  1076. UINT SemanticIndex;
  1077. DXGI_FORMAT Format;
  1078. UINT InputSlot;
  1079. UINT AlignedByteOffset;
  1080. D3D11_INPUT_CLASSIFICATION InputSlotClass;
  1081. UINT InstanceDataStepRate;
  1082. } D3D11_INPUT_ELEMENT_DESC;
  1083. typedef enum D3D11_MAP {
  1084. D3D11_MAP_READ = 1,
  1085. D3D11_MAP_WRITE = 2,
  1086. D3D11_MAP_READ_WRITE = 3,
  1087. D3D11_MAP_WRITE_DISCARD = 4,
  1088. D3D11_MAP_WRITE_NO_OVERWRITE = 5
  1089. } D3D11_MAP;
  1090. typedef enum D3D11_MAP_FLAG {
  1091. D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000
  1092. } D3D11_MAP_FLAG;
  1093. typedef enum D3D11_RAISE_FLAG {
  1094. D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1
  1095. } D3D11_RAISE_FLAG;
  1096. typedef struct D3D11_QUERY_DATA_SO_STATISTICS {
  1097. UINT64 NumPrimitivesWritten;
  1098. UINT64 PrimitivesStorageNeeded;
  1099. } D3D11_QUERY_DATA_SO_STATISTICS;
  1100. typedef struct D3D11_MAPPED_SUBRESOURCE {
  1101. void *pData;
  1102. UINT RowPitch;
  1103. UINT DepthPitch;
  1104. } D3D11_MAPPED_SUBRESOURCE;
  1105. typedef enum D3D11_QUERY {
  1106. D3D11_QUERY_EVENT = 0,
  1107. D3D11_QUERY_OCCLUSION = 1,
  1108. D3D11_QUERY_TIMESTAMP = 2,
  1109. D3D11_QUERY_TIMESTAMP_DISJOINT = 3,
  1110. D3D11_QUERY_PIPELINE_STATISTICS = 4,
  1111. D3D11_QUERY_OCCLUSION_PREDICATE = 5,
  1112. D3D11_QUERY_SO_STATISTICS = 6,
  1113. D3D11_QUERY_SO_OVERFLOW_PREDICATE = 7,
  1114. D3D11_QUERY_SO_STATISTICS_STREAM0 = 8,
  1115. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = 9,
  1116. D3D11_QUERY_SO_STATISTICS_STREAM1 = 10,
  1117. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = 11,
  1118. D3D11_QUERY_SO_STATISTICS_STREAM2 = 12,
  1119. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = 13,
  1120. D3D11_QUERY_SO_STATISTICS_STREAM3 = 14,
  1121. D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = 15
  1122. } D3D11_QUERY;
  1123. typedef enum D3D11_QUERY_MISC_FLAG {
  1124. D3D11_QUERY_MISC_PREDICATEHINT = 0x1
  1125. } D3D11_QUERY_MISC_FLAG;
  1126. typedef enum D3D11_ASYNC_GETDATA_FLAG {
  1127. D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1
  1128. } D3D11_ASYNC_GETDATA_FLAG;
  1129. typedef enum D3D11_RESOURCE_MISC_FLAG {
  1130. D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1,
  1131. D3D11_RESOURCE_MISC_SHARED = 0x2,
  1132. D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4,
  1133. D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10,
  1134. D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20,
  1135. D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40,
  1136. D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80,
  1137. D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100,
  1138. D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200,
  1139. D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800,
  1140. D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000,
  1141. D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000,
  1142. D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000,
  1143. D3D11_RESOURCE_MISC_GUARDED = 0x8000,
  1144. D3D11_RESOURCE_MISC_TILE_POOL = 0x20000,
  1145. D3D11_RESOURCE_MISC_TILED = 0x40000,
  1146. D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000
  1147. } D3D11_RESOURCE_MISC_FLAG;
  1148. typedef struct D3D11_QUERY_DESC {
  1149. D3D11_QUERY Query;
  1150. UINT MiscFlags;
  1151. } D3D11_QUERY_DESC;
  1152. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1153. struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC {
  1154. CD3D11_QUERY_DESC() {}
  1155. ~CD3D11_QUERY_DESC() {}
  1156. explicit CD3D11_QUERY_DESC(const D3D11_QUERY_DESC &other) : D3D11_QUERY_DESC(other) {}
  1157. explicit CD3D11_QUERY_DESC(D3D11_QUERY query, UINT misc_flags = 0) {
  1158. Query = query;
  1159. MiscFlags = misc_flags;
  1160. }
  1161. operator const D3D11_QUERY_DESC&() const {
  1162. return *this;
  1163. }
  1164. };
  1165. #endif
  1166. typedef struct D3D11_RASTERIZER_DESC {
  1167. D3D11_FILL_MODE FillMode;
  1168. D3D11_CULL_MODE CullMode;
  1169. WINBOOL FrontCounterClockwise;
  1170. INT DepthBias;
  1171. FLOAT DepthBiasClamp;
  1172. FLOAT SlopeScaledDepthBias;
  1173. WINBOOL DepthClipEnable;
  1174. WINBOOL ScissorEnable;
  1175. WINBOOL MultisampleEnable;
  1176. WINBOOL AntialiasedLineEnable;
  1177. } D3D11_RASTERIZER_DESC;
  1178. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1179. struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {
  1180. CD3D11_RASTERIZER_DESC() {}
  1181. explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}
  1182. explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {
  1183. FillMode = D3D11_FILL_SOLID;
  1184. CullMode = D3D11_CULL_BACK;
  1185. FrontCounterClockwise = FALSE;
  1186. DepthBias = D3D11_DEFAULT_DEPTH_BIAS;
  1187. DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;
  1188. SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
  1189. DepthClipEnable = TRUE;
  1190. ScissorEnable = FALSE;
  1191. MultisampleEnable = FALSE;
  1192. AntialiasedLineEnable = FALSE;
  1193. }
  1194. explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode,
  1195. WINBOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,
  1196. BOOL depthClipEnable, WINBOOL scissorEnable, WINBOOL multisampleEnable, WINBOOL antialiasedLineEnable) {
  1197. FillMode = fillMode;
  1198. CullMode = cullMode;
  1199. FrontCounterClockwise = frontCounterClockwise;
  1200. DepthBias = depthBias;
  1201. DepthBiasClamp = depthBiasClamp;
  1202. SlopeScaledDepthBias = slopeScaledDepthBias;
  1203. DepthClipEnable = depthClipEnable;
  1204. ScissorEnable = scissorEnable;
  1205. MultisampleEnable = multisampleEnable;
  1206. AntialiasedLineEnable = antialiasedLineEnable;
  1207. }
  1208. ~CD3D11_RASTERIZER_DESC() {}
  1209. operator const D3D11_RASTERIZER_DESC&() const { return *this; }
  1210. };
  1211. #endif
  1212. typedef enum D3D11_RESOURCE_DIMENSION {
  1213. D3D11_RESOURCE_DIMENSION_UNKNOWN = 0,
  1214. D3D11_RESOURCE_DIMENSION_BUFFER = 1,
  1215. D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2,
  1216. D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3,
  1217. D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4
  1218. } D3D11_RESOURCE_DIMENSION;
  1219. typedef enum D3D11_RTV_DIMENSION {
  1220. D3D11_RTV_DIMENSION_UNKNOWN = 0,
  1221. D3D11_RTV_DIMENSION_BUFFER = 1,
  1222. D3D11_RTV_DIMENSION_TEXTURE1D = 2,
  1223. D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3,
  1224. D3D11_RTV_DIMENSION_TEXTURE2D = 4,
  1225. D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5,
  1226. D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
  1227. D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
  1228. D3D11_RTV_DIMENSION_TEXTURE3D = 8
  1229. } D3D11_RTV_DIMENSION;
  1230. typedef struct D3D11_SO_DECLARATION_ENTRY {
  1231. UINT Stream;
  1232. LPCSTR SemanticName;
  1233. UINT SemanticIndex;
  1234. BYTE StartComponent;
  1235. BYTE ComponentCount;
  1236. BYTE OutputSlot;
  1237. } D3D11_SO_DECLARATION_ENTRY;
  1238. typedef enum D3D11_STENCIL_OP {
  1239. D3D11_STENCIL_OP_KEEP = 1,
  1240. D3D11_STENCIL_OP_ZERO = 2,
  1241. D3D11_STENCIL_OP_REPLACE = 3,
  1242. D3D11_STENCIL_OP_INCR_SAT = 4,
  1243. D3D11_STENCIL_OP_DECR_SAT = 5,
  1244. D3D11_STENCIL_OP_INVERT = 6,
  1245. D3D11_STENCIL_OP_INCR = 7,
  1246. D3D11_STENCIL_OP_DECR = 8
  1247. } D3D11_STENCIL_OP;
  1248. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1249. }
  1250. inline UINT D3D11CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) {
  1251. return MipSlice + ArraySlice * MipLevels;
  1252. }
  1253. extern "C"{
  1254. #endif
  1255. typedef struct D3D11_SUBRESOURCE_DATA {
  1256. const void *pSysMem;
  1257. UINT SysMemPitch;
  1258. UINT SysMemSlicePitch;
  1259. } D3D11_SUBRESOURCE_DATA;
  1260. typedef struct D3D11_TEX1D_ARRAY_DSV {
  1261. UINT MipSlice;
  1262. UINT FirstArraySlice;
  1263. UINT ArraySize;
  1264. } D3D11_TEX1D_ARRAY_DSV;
  1265. typedef struct D3D11_TEX1D_ARRAY_RTV {
  1266. UINT MipSlice;
  1267. UINT FirstArraySlice;
  1268. UINT ArraySize;
  1269. } D3D11_TEX1D_ARRAY_RTV;
  1270. typedef struct D3D11_TEX1D_ARRAY_SRV {
  1271. UINT MostDetailedMip;
  1272. UINT MipLevels;
  1273. UINT FirstArraySlice;
  1274. UINT ArraySize;
  1275. } D3D11_TEX1D_ARRAY_SRV;
  1276. typedef struct D3D11_TEX1D_ARRAY_UAV {
  1277. UINT MipSlice;
  1278. UINT FirstArraySlice;
  1279. UINT ArraySize;
  1280. } D3D11_TEX1D_ARRAY_UAV;
  1281. typedef struct D3D11_TEX1D_DSV {
  1282. UINT MipSlice;
  1283. } D3D11_TEX1D_DSV;
  1284. typedef struct D3D11_TEX1D_RTV {
  1285. UINT MipSlice;
  1286. } D3D11_TEX1D_RTV;
  1287. typedef struct D3D11_TEX1D_SRV {
  1288. UINT MostDetailedMip;
  1289. UINT MipLevels;
  1290. } D3D11_TEX1D_SRV;
  1291. typedef struct D3D11_TEX1D_UAV {
  1292. UINT MipSlice;
  1293. } D3D11_TEX1D_UAV;
  1294. typedef struct D3D11_TEX2D_ARRAY_DSV {
  1295. UINT MipSlice;
  1296. UINT FirstArraySlice;
  1297. UINT ArraySize;
  1298. } D3D11_TEX2D_ARRAY_DSV;
  1299. typedef struct D3D11_TEX2D_ARRAY_RTV {
  1300. UINT MipSlice;
  1301. UINT FirstArraySlice;
  1302. UINT ArraySize;
  1303. } D3D11_TEX2D_ARRAY_RTV;
  1304. typedef struct D3D11_TEX2D_ARRAY_SRV {
  1305. UINT MostDetailedMip;
  1306. UINT MipLevels;
  1307. UINT FirstArraySlice;
  1308. UINT ArraySize;
  1309. } D3D11_TEX2D_ARRAY_SRV;
  1310. typedef struct D3D11_TEX2D_ARRAY_UAV {
  1311. UINT MipSlice;
  1312. UINT FirstArraySlice;
  1313. UINT ArraySize;
  1314. } D3D11_TEX2D_ARRAY_UAV;
  1315. typedef struct D3D11_TEX2D_DSV {
  1316. UINT MipSlice;
  1317. } D3D11_TEX2D_DSV;
  1318. typedef struct D3D11_TEX2D_RTV {
  1319. UINT MipSlice;
  1320. } D3D11_TEX2D_RTV;
  1321. typedef struct D3D11_TEX2D_SRV {
  1322. UINT MostDetailedMip;
  1323. UINT MipLevels;
  1324. } D3D11_TEX2D_SRV;
  1325. typedef struct D3D11_TEX2D_UAV {
  1326. UINT MipSlice;
  1327. } D3D11_TEX2D_UAV;
  1328. typedef struct D3D11_TEX2DMS_ARRAY_DSV {
  1329. UINT FirstArraySlice;
  1330. UINT ArraySize;
  1331. } D3D11_TEX2DMS_ARRAY_DSV;
  1332. typedef struct D3D11_TEX2DMS_ARRAY_RTV {
  1333. UINT FirstArraySlice;
  1334. UINT ArraySize;
  1335. } D3D11_TEX2DMS_ARRAY_RTV;
  1336. typedef struct D3D11_TEX2DMS_ARRAY_SRV {
  1337. UINT FirstArraySlice;
  1338. UINT ArraySize;
  1339. } D3D11_TEX2DMS_ARRAY_SRV;
  1340. typedef struct D3D11_TEX2DMS_DSV {
  1341. UINT UnusedField_NothingToDefine;
  1342. } D3D11_TEX2DMS_DSV;
  1343. typedef struct D3D11_TEX2DMS_RTV {
  1344. UINT UnusedField_NothingToDefine;
  1345. } D3D11_TEX2DMS_RTV;
  1346. typedef struct D3D11_TEX2DMS_SRV {
  1347. UINT UnusedField_NothingToDefine;
  1348. } D3D11_TEX2DMS_SRV;
  1349. typedef struct D3D11_TEX3D_RTV {
  1350. UINT MipSlice;
  1351. UINT FirstWSlice;
  1352. UINT WSize;
  1353. } D3D11_TEX3D_RTV;
  1354. typedef struct D3D11_TEX3D_SRV {
  1355. UINT MostDetailedMip;
  1356. UINT MipLevels;
  1357. } D3D11_TEX3D_SRV;
  1358. typedef struct D3D11_TEX3D_UAV {
  1359. UINT MipSlice;
  1360. UINT FirstWSlice;
  1361. UINT WSize;
  1362. } D3D11_TEX3D_UAV;
  1363. typedef struct D3D11_TEXCUBE_ARRAY_SRV {
  1364. UINT MostDetailedMip;
  1365. UINT MipLevels;
  1366. UINT First2DArrayFace;
  1367. UINT NumCubes;
  1368. } D3D11_TEXCUBE_ARRAY_SRV;
  1369. typedef struct D3D11_TEXCUBE_SRV {
  1370. UINT MostDetailedMip;
  1371. UINT MipLevels;
  1372. } D3D11_TEXCUBE_SRV;
  1373. typedef enum D3D11_TEXTURE_ADDRESS_MODE {
  1374. D3D11_TEXTURE_ADDRESS_WRAP = 1,
  1375. D3D11_TEXTURE_ADDRESS_MIRROR = 2,
  1376. D3D11_TEXTURE_ADDRESS_CLAMP = 3,
  1377. D3D11_TEXTURE_ADDRESS_BORDER = 4,
  1378. D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5
  1379. } D3D11_TEXTURE_ADDRESS_MODE;
  1380. typedef enum D3D11_UAV_DIMENSION {
  1381. D3D11_UAV_DIMENSION_UNKNOWN = 0,
  1382. D3D11_UAV_DIMENSION_BUFFER = 1,
  1383. D3D11_UAV_DIMENSION_TEXTURE1D = 2,
  1384. D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3,
  1385. D3D11_UAV_DIMENSION_TEXTURE2D = 4,
  1386. D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5,
  1387. D3D11_UAV_DIMENSION_TEXTURE3D = 8
  1388. } D3D11_UAV_DIMENSION;
  1389. typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC {
  1390. DXGI_FORMAT Format;
  1391. D3D11_UAV_DIMENSION ViewDimension;
  1392. __C89_NAMELESS union {
  1393. D3D11_BUFFER_UAV Buffer;
  1394. D3D11_TEX1D_UAV Texture1D;
  1395. D3D11_TEX1D_ARRAY_UAV Texture1DArray;
  1396. D3D11_TEX2D_UAV Texture2D;
  1397. D3D11_TEX2D_ARRAY_UAV Texture2DArray;
  1398. D3D11_TEX3D_UAV Texture3D;
  1399. } __C89_NAMELESSUNIONNAME;
  1400. } D3D11_UNORDERED_ACCESS_VIEW_DESC;
  1401. typedef enum D3D11_USAGE {
  1402. D3D11_USAGE_DEFAULT = 0,
  1403. D3D11_USAGE_IMMUTABLE = 1,
  1404. D3D11_USAGE_DYNAMIC = 2,
  1405. D3D11_USAGE_STAGING = 3
  1406. } D3D11_USAGE;
  1407. typedef enum D3D11_BIND_FLAG {
  1408. D3D11_BIND_VERTEX_BUFFER = 0x1,
  1409. D3D11_BIND_INDEX_BUFFER = 0x2,
  1410. D3D11_BIND_CONSTANT_BUFFER = 0x4,
  1411. D3D11_BIND_SHADER_RESOURCE = 0x8,
  1412. D3D11_BIND_STREAM_OUTPUT = 0x10,
  1413. D3D11_BIND_RENDER_TARGET = 0x20,
  1414. D3D11_BIND_DEPTH_STENCIL = 0x40,
  1415. D3D11_BIND_UNORDERED_ACCESS = 0x80,
  1416. D3D11_BIND_DECODER = 0x200,
  1417. D3D11_BIND_VIDEO_ENCODER = 0x400
  1418. } D3D11_BIND_FLAG;
  1419. typedef enum D3D11_CPU_ACCESS_FLAG {
  1420. D3D11_CPU_ACCESS_WRITE = 0x10000,
  1421. D3D11_CPU_ACCESS_READ = 0x20000
  1422. } D3D11_CPU_ACCESS_FLAG;
  1423. typedef struct D3D11_VIEWPORT {
  1424. FLOAT TopLeftX;
  1425. FLOAT TopLeftY;
  1426. FLOAT Width;
  1427. FLOAT Height;
  1428. FLOAT MinDepth;
  1429. FLOAT MaxDepth;
  1430. } D3D11_VIEWPORT;
  1431. typedef enum D3D11_COLOR_WRITE_ENABLE {
  1432. D3D11_COLOR_WRITE_ENABLE_RED = 1,
  1433. D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
  1434. D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
  1435. D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
  1436. 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
  1437. } D3D11_COLOR_WRITE_ENABLE;
  1438. typedef enum D3D11_FORMAT_SUPPORT {
  1439. D3D11_FORMAT_SUPPORT_BUFFER = 0x1,
  1440. D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
  1441. D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
  1442. D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8,
  1443. D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10,
  1444. D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20,
  1445. D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40,
  1446. D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
  1447. D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
  1448. D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
  1449. D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
  1450. D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
  1451. D3D11_FORMAT_SUPPORT_MIP = 0x1000,
  1452. D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
  1453. D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
  1454. D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000,
  1455. D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
  1456. D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
  1457. D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
  1458. D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000,
  1459. D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
  1460. D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
  1461. D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
  1462. D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
  1463. D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000,
  1464. D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
  1465. D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000,
  1466. D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x8000000,
  1467. D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
  1468. D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000,
  1469. D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000
  1470. } D3D11_FORMAT_SUPPORT;
  1471. typedef enum D3D11_FORMAT_SUPPORT2 {
  1472. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
  1473. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
  1474. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
  1475. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
  1476. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
  1477. D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
  1478. D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
  1479. D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
  1480. D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
  1481. D3D11_FORMAT_SUPPORT2_TILED = 0x200,
  1482. D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400,
  1483. D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000
  1484. } D3D11_FORMAT_SUPPORT2;
  1485. typedef enum D3D11_CLEAR_FLAG {
  1486. D3D11_CLEAR_DEPTH = 0x1,
  1487. D3D11_CLEAR_STENCIL = 0x2
  1488. } D3D11_CLEAR_FLAG;
  1489. typedef struct D3D11_RENDER_TARGET_BLEND_DESC {
  1490. WINBOOL BlendEnable;
  1491. D3D11_BLEND SrcBlend;
  1492. D3D11_BLEND DestBlend;
  1493. D3D11_BLEND_OP BlendOp;
  1494. D3D11_BLEND SrcBlendAlpha;
  1495. D3D11_BLEND DestBlendAlpha;
  1496. D3D11_BLEND_OP BlendOpAlpha;
  1497. UINT8 RenderTargetWriteMask;
  1498. } D3D11_RENDER_TARGET_BLEND_DESC;
  1499. typedef struct D3D11_BLEND_DESC {
  1500. WINBOOL AlphaToCoverageEnable;
  1501. WINBOOL IndependentBlendEnable;
  1502. D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[8];
  1503. } D3D11_BLEND_DESC;
  1504. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1505. struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {
  1506. CD3D11_BLEND_DESC() {}
  1507. explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}
  1508. explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {
  1509. AlphaToCoverageEnable = FALSE;
  1510. IndependentBlendEnable = FALSE;
  1511. for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;
  1512. target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;
  1513. target++) {
  1514. target->BlendEnable = FALSE;
  1515. target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;
  1516. target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;
  1517. target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;
  1518. target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
  1519. }
  1520. }
  1521. ~CD3D11_BLEND_DESC() {}
  1522. operator const D3D11_BLEND_DESC&() const { return *this; }
  1523. };
  1524. #endif
  1525. typedef struct D3D11_BUFFER_DESC {
  1526. UINT ByteWidth;
  1527. D3D11_USAGE Usage;
  1528. UINT BindFlags;
  1529. UINT CPUAccessFlags;
  1530. UINT MiscFlags;
  1531. UINT StructureByteStride;
  1532. } D3D11_BUFFER_DESC;
  1533. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1534. struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {
  1535. CD3D11_BUFFER_DESC() {}
  1536. explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}
  1537. explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,
  1538. D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,
  1539. UINT miscFlags = 0, UINT structureByteStride = 0 ) {
  1540. ByteWidth = byteWidth;
  1541. Usage = usage;
  1542. BindFlags = bindFlags;
  1543. CPUAccessFlags = cpuaccessFlags;
  1544. MiscFlags = miscFlags;
  1545. StructureByteStride = structureByteStride;
  1546. }
  1547. ~CD3D11_BUFFER_DESC() {}
  1548. operator const D3D11_BUFFER_DESC&() const { return *this; }
  1549. };
  1550. #endif
  1551. typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC {
  1552. DXGI_FORMAT Format;
  1553. D3D11_DSV_DIMENSION ViewDimension;
  1554. UINT Flags;
  1555. __C89_NAMELESS union {
  1556. D3D11_TEX1D_DSV Texture1D;
  1557. D3D11_TEX1D_ARRAY_DSV Texture1DArray;
  1558. D3D11_TEX2D_DSV Texture2D;
  1559. D3D11_TEX2D_ARRAY_DSV Texture2DArray;
  1560. D3D11_TEX2DMS_DSV Texture2DMS;
  1561. D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
  1562. } __C89_NAMELESSUNIONNAME;
  1563. } D3D11_DEPTH_STENCIL_VIEW_DESC;
  1564. typedef struct D3D11_DEPTH_STENCILOP_DESC {
  1565. D3D11_STENCIL_OP StencilFailOp;
  1566. D3D11_STENCIL_OP StencilDepthFailOp;
  1567. D3D11_STENCIL_OP StencilPassOp;
  1568. D3D11_COMPARISON_FUNC StencilFunc;
  1569. } D3D11_DEPTH_STENCILOP_DESC;
  1570. typedef struct D3D11_DEPTH_STENCIL_DESC {
  1571. WINBOOL DepthEnable;
  1572. D3D11_DEPTH_WRITE_MASK DepthWriteMask;
  1573. D3D11_COMPARISON_FUNC DepthFunc;
  1574. WINBOOL StencilEnable;
  1575. UINT8 StencilReadMask;
  1576. UINT8 StencilWriteMask;
  1577. D3D11_DEPTH_STENCILOP_DESC FrontFace;
  1578. D3D11_DEPTH_STENCILOP_DESC BackFace;
  1579. } D3D11_DEPTH_STENCIL_DESC;
  1580. #if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
  1581. struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC {
  1582. CD3D11_DEPTH_STENCIL_DESC() {}
  1583. explicit CD3D11_DEPTH_STENCIL_DESC(const D3D11_DEPTH_STENCIL_DESC &other) : D3D11_DEPTH_STENCIL_DESC(other) {}
  1584. explicit CD3D11_DEPTH_STENCIL_DESC(CD3D11_DEFAULT) {
  1585. const D3D11_DEPTH_STENCILOP_DESC default_op =
  1586. {D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS};
  1587. DepthEnable = TRUE;
  1588. DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;
  1589. DepthFunc = D3D11_COMPARISON_LESS;
  1590. StencilEnable = FALSE;
  1591. StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;
  1592. StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;
  1593. FrontFace = default_op;
  1594. BackFace = default_op;
  1595. }
  1596. explicit CD3D11_DEPTH_STENCIL_DESC(
  1597. WINBOOL depth_enable,
  1598. D3D11_DEPTH_WRITE_MASK depth_write_mask,
  1599. D3D11_COMPARISON_FUNC depth_func,
  1600. WINBOOL stencil_enable,
  1601. UINT8 stencil_read_mask,
  1602. UINT8 stencil_write_mask,
  1603. D3D11_STENCIL_OP front_stencil_fail_op,
  1604. D3D11_STENCIL_OP front_stencil_depth_fail_op,
  1605. D3D11_STENCIL_OP front_stencil_pass_op,
  1606. D3D11_COMPARISON_FUNC front_stencil_func,
  1607. D3D11_STENCIL_OP back_stencil_fail_op,
  1608. D3D11_STENCIL_OP back_stencil_depth_fail_op,
  1609. D3D11_STENCIL_OP back_stencil_pass_op,
  1610. D3D11_COMPARISON_FUNC back_stencil_func) {
  1611. DepthEnable = depth_enable;
  1612. DepthWriteMask = depth_write_mask;
  1613. DepthFunc = depth_func;
  1614. StencilEnable = stencil_enable;
  1615. StencilReadMask = stencil_read_mask;
  1616. StencilWriteMask = stencil_write_mask;
  1617. FrontFace.StencilFailOp = front_stencil_fail_op;
  1618. FrontFace.StencilDepthFailOp = front_stencil_depth_fail_op;
  1619. FrontFace.StencilPassOp = front_stencil_pass_op;
  1620. FrontFace.StencilFunc = front_stencil_func;
  1621. BackFace.StencilFailOp = back_stencil_fail_op;
  1622. BackFace.StencilDepthFailOp = back_stencil_depth_fail_op;
  1623. BackFace.StencilPassOp = back_stencil_pass_op;
  1624. BackFace.StencilFunc = back_stencil_func;
  1625. }
  1626. ~CD3D11_DEPTH_STENCIL_DESC() {}
  1627. operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }
  1628. };
  1629. #endif
  1630. typedef struct D3D11_RENDER_TARGET_VIEW_DESC {
  1631. DXGI_FORMAT Format;
  1632. D3D11_RTV_DIMENSION ViewDimension;
  1633. __C89_NAMELESS union {
  1634. D3D11_BUFFER_RTV Buffer;
  1635. D3D11_TEX1D_RTV Texture1D;
  1636. D3D11_TEX1D_ARRAY_RTV Texture1DArray;
  1637. D3D11_TEX2D_RTV Texture2D;
  1638. D3D11_TEX2D_ARRAY_RTV Texture2DArray;
  1639. D3D11_TEX2DMS_RTV Texture2DMS;
  1640. D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
  1641. D3D11_TEX3D_RTV Texture3D;
  1642. } __C89_NAMELESSUNIONNAME;
  1643. } D3D11_RENDER_TARGET_VIEW_DESC;
  1644. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1645. struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC {
  1646. CD3D11_RENDER_TARGET_VIEW_DESC() {}
  1647. explicit CD3D11_RENDER_TARGET_VIEW_DESC(D3D11_RTV_DIMENSION dim, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  1648. UINT mip_slice = 0, UINT first_slice = 0, UINT array_size = -1) {
  1649. Format = format;
  1650. ViewDimension = dim;
  1651. switch(dim) {
  1652. case D3D11_RTV_DIMENSION_BUFFER:
  1653. Buffer.FirstElement = mip_slice;
  1654. Buffer.NumElements = first_slice;
  1655. break;
  1656. case D3D11_RTV_DIMENSION_TEXTURE1D:
  1657. Texture1D.MipSlice = mip_slice;
  1658. break;
  1659. case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
  1660. Texture1DArray.MipSlice = mip_slice;
  1661. Texture1DArray.FirstArraySlice = first_slice;
  1662. Texture1DArray.ArraySize = array_size;
  1663. break;
  1664. case D3D11_RTV_DIMENSION_TEXTURE2D:
  1665. Texture2D.MipSlice = mip_slice;
  1666. break;
  1667. case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
  1668. Texture2DArray.MipSlice = mip_slice;
  1669. Texture2DArray.FirstArraySlice = first_slice;
  1670. Texture2DArray.ArraySize = array_size;
  1671. break;
  1672. case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
  1673. Texture2DMSArray.FirstArraySlice = first_slice;
  1674. Texture2DMSArray.ArraySize = array_size;
  1675. break;
  1676. case D3D11_RTV_DIMENSION_TEXTURE3D:
  1677. Texture3D.MipSlice = mip_slice;
  1678. Texture3D.FirstWSlice = first_slice;
  1679. Texture3D.WSize = array_size;
  1680. break;
  1681. default:
  1682. break;
  1683. }
  1684. }
  1685. explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,
  1686. UINT elem_cnt) {
  1687. Format = format;
  1688. ViewDimension = D3D11_RTV_DIMENSION_BUFFER;
  1689. Buffer.FirstElement = first_elem;
  1690. Buffer.NumElements = elem_cnt;
  1691. }
  1692. explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture1D *texture, D3D11_RTV_DIMENSION dim,
  1693. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,
  1694. UINT array_size = -1);
  1695. explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture2D *texture, D3D11_RTV_DIMENSION dim,
  1696. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,
  1697. UINT array_size = -1);
  1698. explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  1699. UINT mip_slice = 0, UINT first_w_slice = 0, UINT w_slice = -1 );
  1700. ~CD3D11_RENDER_TARGET_VIEW_DESC() {}
  1701. explicit CD3D11_RENDER_TARGET_VIEW_DESC(const D3D11_RENDER_TARGET_VIEW_DESC &other)
  1702. : D3D11_RENDER_TARGET_VIEW_DESC(other) {}
  1703. operator const D3D11_RENDER_TARGET_VIEW_DESC&() const {
  1704. return *this;
  1705. }
  1706. };
  1707. #endif
  1708. typedef struct D3D11_SAMPLER_DESC {
  1709. D3D11_FILTER Filter;
  1710. D3D11_TEXTURE_ADDRESS_MODE AddressU;
  1711. D3D11_TEXTURE_ADDRESS_MODE AddressV;
  1712. D3D11_TEXTURE_ADDRESS_MODE AddressW;
  1713. FLOAT MipLODBias;
  1714. UINT MaxAnisotropy;
  1715. D3D11_COMPARISON_FUNC ComparisonFunc;
  1716. FLOAT BorderColor[4];
  1717. FLOAT MinLOD;
  1718. FLOAT MaxLOD;
  1719. } D3D11_SAMPLER_DESC;
  1720. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1721. struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {
  1722. CD3D11_SAMPLER_DESC() {}
  1723. explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}
  1724. explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {
  1725. Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
  1726. AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
  1727. AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
  1728. AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
  1729. MipLODBias = 0;
  1730. MaxAnisotropy = 1;
  1731. ComparisonFunc = D3D11_COMPARISON_NEVER;
  1732. BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;
  1733. MinLOD = -3.402823466e+38f;
  1734. MaxLOD = 3.402823466e+38f;
  1735. }
  1736. explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,
  1737. D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,
  1738. FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,
  1739. const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {
  1740. Filter = filter;
  1741. AddressU = addressU;
  1742. AddressV = addressV;
  1743. AddressW = addressW;
  1744. MipLODBias = mipLODBias;
  1745. MaxAnisotropy = maxAnisotropy;
  1746. ComparisonFunc = comparisonFunc;
  1747. if(borderColor) {
  1748. BorderColor[0] = borderColor[0];
  1749. BorderColor[1] = borderColor[1];
  1750. BorderColor[2] = borderColor[2];
  1751. BorderColor[3] = borderColor[3];
  1752. }else {
  1753. BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;
  1754. }
  1755. MinLOD = minLOD;
  1756. MaxLOD = maxLOD;
  1757. }
  1758. ~CD3D11_SAMPLER_DESC() {}
  1759. operator const D3D11_SAMPLER_DESC&() const { return *this; }
  1760. };
  1761. #endif
  1762. typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC {
  1763. DXGI_FORMAT Format;
  1764. D3D11_SRV_DIMENSION ViewDimension;
  1765. __C89_NAMELESS union {
  1766. D3D11_BUFFER_SRV Buffer;
  1767. D3D11_TEX1D_SRV Texture1D;
  1768. D3D11_TEX1D_ARRAY_SRV Texture1DArray;
  1769. D3D11_TEX2D_SRV Texture2D;
  1770. D3D11_TEX2D_ARRAY_SRV Texture2DArray;
  1771. D3D11_TEX2DMS_SRV Texture2DMS;
  1772. D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
  1773. D3D11_TEX3D_SRV Texture3D;
  1774. D3D11_TEXCUBE_SRV TextureCube;
  1775. D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
  1776. D3D11_BUFFEREX_SRV BufferEx;
  1777. } __C89_NAMELESSUNIONNAME;
  1778. } D3D11_SHADER_RESOURCE_VIEW_DESC;
  1779. #if !defined(D3D11_NO_HELPERS) && defined( __cplusplus )
  1780. struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC {
  1781. CD3D11_SHADER_RESOURCE_VIEW_DESC() {}
  1782. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(D3D11_SRV_DIMENSION dim,
  1783. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0,
  1784. UINT mip_levels = -1, UINT first_slice = 0, UINT array_size = -1, UINT flags = 0) {
  1785. Format = format;
  1786. ViewDimension = dim;
  1787. switch(ViewDimension) {
  1788. case D3D11_SRV_DIMENSION_BUFFER:
  1789. Buffer.FirstElement = most_detailed_mip;
  1790. Buffer.NumElements = mip_levels;
  1791. break;
  1792. case D3D11_SRV_DIMENSION_TEXTURE1D:
  1793. Texture1D.MostDetailedMip = most_detailed_mip;
  1794. Texture1D.MipLevels = mip_levels;
  1795. break;
  1796. case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:
  1797. Texture1DArray.MostDetailedMip = most_detailed_mip;
  1798. Texture1DArray.MipLevels = mip_levels;
  1799. Texture1DArray.FirstArraySlice = first_slice;
  1800. Texture1DArray.ArraySize = array_size;
  1801. break;
  1802. case D3D11_SRV_DIMENSION_TEXTURE2D:
  1803. Texture2D.MostDetailedMip = most_detailed_mip;
  1804. Texture2D.MipLevels = mip_levels;
  1805. break;
  1806. case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
  1807. Texture2DArray.MostDetailedMip = most_detailed_mip;
  1808. Texture2DArray.MipLevels = mip_levels;
  1809. Texture2DArray.FirstArraySlice = first_slice;
  1810. Texture2DArray.ArraySize = array_size;
  1811. break;
  1812. case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:
  1813. Texture2DMSArray.FirstArraySlice = first_slice;
  1814. Texture2DMSArray.ArraySize = array_size;
  1815. break;
  1816. case D3D11_SRV_DIMENSION_TEXTURE3D:
  1817. Texture3D.MostDetailedMip = most_detailed_mip;
  1818. Texture3D.MipLevels = mip_levels;
  1819. break;
  1820. case D3D11_SRV_DIMENSION_TEXTURECUBE:
  1821. TextureCube.MostDetailedMip = most_detailed_mip;
  1822. TextureCube.MipLevels = mip_levels;
  1823. break;
  1824. case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:
  1825. TextureCubeArray.MostDetailedMip = most_detailed_mip;
  1826. TextureCubeArray.MipLevels = mip_levels;
  1827. TextureCubeArray.First2DArrayFace = first_slice;
  1828. TextureCubeArray.NumCubes = array_size;
  1829. break;
  1830. case D3D11_SRV_DIMENSION_BUFFEREX:
  1831. BufferEx.FirstElement = most_detailed_mip;
  1832. BufferEx.NumElements = mip_levels;
  1833. BufferEx.Flags = flags;
  1834. break;
  1835. default:
  1836. break;
  1837. }
  1838. }
  1839. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,
  1840. UINT elem_cnt, UINT flags = 0);
  1841. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture1D *texture, D3D11_SRV_DIMENSION dim,
  1842. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,
  1843. UINT first_slice = 0, UINT array_size = -1 );
  1844. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture2D *texture, D3D11_SRV_DIMENSION dim,
  1845. DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,
  1846. UINT first_slice = 0, UINT array_size = -1 );
  1847. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
  1848. UINT most_detailed_mip = 0, UINT mip_levels = -1 );
  1849. ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}
  1850. explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &other)
  1851. : D3D11_SHADER_RESOURCE_VIEW_DESC(other) {}
  1852. operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const {
  1853. return *this;
  1854. }
  1855. };
  1856. #endif
  1857. typedef struct D3D11_TEXTURE1D_DESC {
  1858. UINT Width;
  1859. UINT MipLevels;
  1860. UINT ArraySize;
  1861. DXGI_FORMAT Format;
  1862. D3D11_USAGE Usage;
  1863. UINT BindFlags;
  1864. UINT CPUAccessFlags;
  1865. UINT MiscFlags;
  1866. } D3D11_TEXTURE1D_DESC;
  1867. typedef struct D3D11_TEXTURE2D_DESC {
  1868. UINT Width;
  1869. UINT Height;
  1870. UINT MipLevels;
  1871. UINT ArraySize;
  1872. DXGI_FORMAT Format;
  1873. DXGI_SAMPLE_DESC SampleDesc;
  1874. D3D11_USAGE Usage;
  1875. UINT BindFlags;
  1876. UINT CPUAccessFlags;
  1877. UINT MiscFlags;
  1878. } D3D11_TEXTURE2D_DESC;
  1879. #if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
  1880. struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {
  1881. CD3D11_TEXTURE2D_DESC() {}
  1882. explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}
  1883. explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,
  1884. UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
  1885. D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1,
  1886. UINT sampleQuality = 0, UINT miscFlags = 0) {
  1887. Width = width;
  1888. Height = height;
  1889. MipLevels = mipLevels;
  1890. ArraySize = arraySize;
  1891. Format = format;
  1892. SampleDesc.Count = sampleCount;
  1893. SampleDesc.Quality = sampleQuality;
  1894. Usage = usage;
  1895. BindFlags = bindFlags;
  1896. CPUAccessFlags = cpuaccessFlags;
  1897. MiscFlags = miscFlags;
  1898. }
  1899. ~CD3D11_TEXTURE2D_DESC() {}
  1900. operator const D3D11_TEXTURE2D_DESC&() const { return *this; }
  1901. };
  1902. #endif
  1903. typedef struct D3D11_TEXTURE3D_DESC {
  1904. UINT Width;
  1905. UINT Height;
  1906. UINT Depth;
  1907. UINT MipLevels;
  1908. DXGI_FORMAT Format;
  1909. D3D11_USAGE Usage;
  1910. UINT BindFlags;
  1911. UINT CPUAccessFlags;
  1912. UINT MiscFlags;
  1913. } D3D11_TEXTURE3D_DESC;
  1914. typedef struct D3D11_VIDEO_DECODER_DESC {
  1915. GUID Guid;
  1916. UINT SampleWidth;
  1917. UINT SampleHeight;
  1918. DXGI_FORMAT OutputFormat;
  1919. } D3D11_VIDEO_DECODER_DESC;
  1920. typedef struct D3D11_VIDEO_DECODER_CONFIG {
  1921. GUID guidConfigBitstreamEncryption;
  1922. GUID guidConfigMBcontrolEncryption;
  1923. GUID guidConfigResidDiffEncryption;
  1924. UINT ConfigBitstreamRaw;
  1925. UINT ConfigMBcontrolRasterOrder;
  1926. UINT ConfigResidDiffHost;
  1927. UINT ConfigSpatialResid8;
  1928. UINT ConfigResid8Subtraction;
  1929. UINT ConfigSpatialHost8or9Clipping;
  1930. UINT ConfigSpatialResidInterleaved;
  1931. UINT ConfigIntraResidUnsigned;
  1932. UINT ConfigResidDiffAccelerator;
  1933. UINT ConfigHostInverseScan;
  1934. UINT ConfigSpecificIDCT;
  1935. UINT Config4GroupedCoefs;
  1936. USHORT ConfigMinRenderTargetBuffCount;
  1937. USHORT ConfigDecoderSpecific;
  1938. } D3D11_VIDEO_DECODER_CONFIG;
  1939. typedef enum D3D11_VIDEO_FRAME_FORMAT {
  1940. D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0,
  1941. D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
  1942. D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
  1943. } D3D11_VIDEO_FRAME_FORMAT;
  1944. typedef enum D3D11_VIDEO_USAGE {
  1945. D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0,
  1946. D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1,
  1947. D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2
  1948. } D3D11_VIDEO_USAGE;
  1949. typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC {
  1950. D3D11_VIDEO_FRAME_FORMAT InputFrameFormat;
  1951. DXGI_RATIONAL InputFrameRate;
  1952. UINT InputWidth;
  1953. UINT InputHeight;
  1954. DXGI_RATIONAL OutputFrameRate;
  1955. UINT OutputWidth;
  1956. UINT OutputHeight;
  1957. D3D11_VIDEO_USAGE Usage;
  1958. } D3D11_VIDEO_PROCESSOR_CONTENT_DESC;
  1959. typedef struct D3D11_VIDEO_PROCESSOR_CAPS {
  1960. UINT DeviceCaps;
  1961. UINT FeatureCaps;
  1962. UINT FilterCaps;
  1963. UINT InputFormatCaps;
  1964. UINT AutoStreamCaps;
  1965. UINT StereoCaps;
  1966. UINT RateConversionCapsCount;
  1967. UINT MaxInputStreams;
  1968. UINT MaxStreamStates;
  1969. } D3D11_VIDEO_PROCESSOR_CAPS;
  1970. typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS {
  1971. UINT PastFrames;
  1972. UINT FutureFrames;
  1973. UINT ProcessorCaps;
  1974. UINT ITelecineCaps;
  1975. UINT CustomRateCount;
  1976. } D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS;
  1977. typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE {
  1978. DXGI_RATIONAL CustomRate;
  1979. UINT OutputFrames;
  1980. WINBOOL InputInterlaced;
  1981. UINT InputFramesOrFields;
  1982. } D3D11_VIDEO_PROCESSOR_CUSTOM_RATE;
  1983. typedef enum D3D11_VIDEO_PROCESSOR_FILTER {
  1984. D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0,
  1985. D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1,
  1986. D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2,
  1987. D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3,
  1988. D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4,
  1989. D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5,
  1990. D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6,
  1991. D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7
  1992. } D3D11_VIDEO_PROCESSOR_FILTER;
  1993. typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE {
  1994. int Minimum;
  1995. int Maximum;
  1996. int Default;
  1997. float Multiplier;
  1998. } D3D11_VIDEO_PROCESSOR_FILTER_RANGE;
  1999. typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE {
  2000. D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1,
  2001. D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
  2002. D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
  2003. } D3D11_AUTHENTICATED_CHANNEL_TYPE;
  2004. typedef enum D3D11_VDOV_DIMENSION {
  2005. D3D11_VDOV_DIMENSION_UNKNOWN = 0,
  2006. D3D11_VDOV_DIMENSION_TEXTURE2D = 1
  2007. } D3D11_VDOV_DIMENSION;
  2008. typedef struct D3D11_TEX2D_VDOV {
  2009. UINT ArraySlice;
  2010. } D3D11_TEX2D_VDOV;
  2011. typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC {
  2012. GUID DecodeProfile;
  2013. D3D11_VDOV_DIMENSION ViewDimension;
  2014. __C89_NAMELESS union {
  2015. D3D11_TEX2D_VDOV Texture2D;
  2016. } __C89_NAMELESSUNIONNAME;
  2017. } D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC;
  2018. typedef enum D3D11_VPIV_DIMENSION {
  2019. D3D11_VPIV_DIMENSION_UNKNOWN = 0,
  2020. D3D11_VPIV_DIMENSION_TEXTURE2D = 1
  2021. } D3D11_VPIV_DIMENSION;
  2022. typedef struct D3D11_TEX2D_VPIV {
  2023. UINT MipSlice;
  2024. UINT ArraySlice;
  2025. } D3D11_TEX2D_VPIV;
  2026. typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC {
  2027. UINT FourCC;
  2028. D3D11_VPIV_DIMENSION ViewDimension;
  2029. __C89_NAMELESS union {
  2030. D3D11_TEX2D_VPIV Texture2D;
  2031. } __C89_NAMELESSUNIONNAME;
  2032. } D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC;
  2033. typedef enum D3D11_VPOV_DIMENSION {
  2034. D3D11_VPOV_DIMENSION_UNKNOWN = 0,
  2035. D3D11_VPOV_DIMENSION_TEXTURE2D = 1,
  2036. D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2
  2037. } D3D11_VPOV_DIMENSION;
  2038. typedef struct D3D11_TEX2D_VPOV {
  2039. UINT MipSlice;
  2040. } D3D11_TEX2D_VPOV;
  2041. typedef struct D3D11_TEX2D_ARRAY_VPOV {
  2042. UINT MipSlice;
  2043. UINT FirstArraySlice;
  2044. UINT ArraySize;
  2045. } D3D11_TEX2D_ARRAY_VPOV;
  2046. typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC {
  2047. D3D11_VPOV_DIMENSION ViewDimension;
  2048. __C89_NAMELESS union {
  2049. D3D11_TEX2D_VPOV Texture2D;
  2050. D3D11_TEX2D_ARRAY_VPOV Texture2DArray;
  2051. } __C89_NAMELESSUNIONNAME;
  2052. } D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC;
  2053. typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS {
  2054. UINT Caps;
  2055. UINT KeyExchangeTypeCount;
  2056. UINT BlockAlignmentSize;
  2057. ULONGLONG ProtectedMemorySize;
  2058. } D3D11_VIDEO_CONTENT_PROTECTION_CAPS;
  2059. typedef struct D3D11_ENCRYPTED_BLOCK_INFO {
  2060. UINT NumEncryptedBytesAtBeginning;
  2061. UINT NumBytesInSkipPattern;
  2062. UINT NumBytesInEncryptPattern;
  2063. } D3D11_ENCRYPTED_BLOCK_INFO;
  2064. typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC {
  2065. D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
  2066. UINT BufferIndex;
  2067. UINT DataOffset;
  2068. UINT DataSize;
  2069. UINT FirstMBaddress;
  2070. UINT NumMBsInBuffer;
  2071. UINT Width;
  2072. UINT Height;
  2073. UINT Stride;
  2074. UINT ReservedBits;
  2075. void *pIV;
  2076. UINT IVSize;
  2077. WINBOOL PartialEncryption;
  2078. D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo;
  2079. } D3D11_VIDEO_DECODER_BUFFER_DESC;
  2080. typedef struct D3D11_VIDEO_DECODER_EXTENSION {
  2081. UINT Function;
  2082. void *pPrivateInputData;
  2083. UINT PrivateInputDataSize;
  2084. void *pPrivateOutputData;
  2085. UINT PrivateOutputDataSize;
  2086. UINT ResourceCount;
  2087. ID3D11Resource **ppResourceList;
  2088. } D3D11_VIDEO_DECODER_EXTENSION;
  2089. typedef struct D3D11_VIDEO_COLOR_YCbCrA {
  2090. float Y;
  2091. float Cb;
  2092. float Cr;
  2093. float A;
  2094. } D3D11_VIDEO_COLOR_YCbCrA;
  2095. typedef struct D3D11_VIDEO_COLOR_RGBA {
  2096. float R;
  2097. float G;
  2098. float B;
  2099. float A;
  2100. } D3D11_VIDEO_COLOR_RGBA;
  2101. typedef struct D3D11_VIDEO_COLOR {
  2102. __C89_NAMELESS union {
  2103. D3D11_VIDEO_COLOR_YCbCrA YCbCr;
  2104. D3D11_VIDEO_COLOR_RGBA RGBA;
  2105. } __C89_NAMELESSUNIONNAME;
  2106. } D3D11_VIDEO_COLOR;
  2107. typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE {
  2108. UINT Usage : 1;
  2109. UINT RGB_Range : 1;
  2110. UINT YCbCr_Matrix : 1;
  2111. UINT YCbCr_xvYCC : 1;
  2112. UINT Nominal_Range : 2;
  2113. UINT Reserved : 26;
  2114. } D3D11_VIDEO_PROCESSOR_COLOR_SPACE;
  2115. typedef struct D3D11_VIDEO_PROCESSOR_STREAM {
  2116. WINBOOL Enable;
  2117. UINT OutputIndex;
  2118. UINT InputFrameOrField;
  2119. UINT PastFrames;
  2120. UINT FutureFrames;
  2121. ID3D11VideoProcessorInputView **ppPastSurfaces;
  2122. ID3D11VideoProcessorInputView *pInputSurface;
  2123. ID3D11VideoProcessorInputView **ppFutureSurfaces;
  2124. ID3D11VideoProcessorInputView **ppPastSurfacesRight;
  2125. ID3D11VideoProcessorInputView *pInputSurfaceRight;
  2126. ID3D11VideoProcessorInputView **ppFutureSurfacesRight;
  2127. } D3D11_VIDEO_PROCESSOR_STREAM;
  2128. typedef struct D3D11_OMAC {
  2129. BYTE Omac[16];
  2130. } D3D11_OMAC;
  2131. typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT {
  2132. D3D11_OMAC omac;
  2133. GUID ConfigureType;
  2134. HANDLE hChannel;
  2135. UINT SequenceNumber;
  2136. HRESULT ReturnCode;
  2137. } D3D11_AUTHENTICATED_CONFIGURE_OUTPUT;
  2138. typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
  2139. UINT64 Frequency;
  2140. WINBOOL Disjoint;
  2141. } D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
  2142. typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
  2143. UINT64 IAVertices;
  2144. UINT64 IAPrimitives;
  2145. UINT64 VSInvocations;
  2146. UINT64 GSInvocations;
  2147. UINT64 GSPrimitives;
  2148. UINT64 CInvocations;
  2149. UINT64 CPrimitives;
  2150. UINT64 PSInvocations;
  2151. UINT64 HSInvocations;
  2152. UINT64 DSInvocations;
  2153. UINT64 CSInvocations;
  2154. } D3D11_QUERY_DATA_PIPELINE_STATISTICS;
  2155. typedef struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS {
  2156. UINT VertexCountPerInstance;
  2157. UINT InstanceCount;
  2158. UINT StartVertexLocation;
  2159. UINT StartInstanceLocation;
  2160. } D3D11_DRAW_INSTANCED_INDIRECT_ARGS;
  2161. typedef struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS {
  2162. UINT IndexCountPerInstance;
  2163. UINT InstanceCount;
  2164. UINT StartIndexLocation;
  2165. INT BaseVertexLocation;
  2166. UINT StartInstanceLocation;
  2167. } D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS;
  2168. typedef struct D3D11_AUTHENTICATED_CONFIGURE_INPUT {
  2169. D3D11_OMAC omac;
  2170. GUID ConfigureType;
  2171. HANDLE hChannel;
  2172. UINT SequenceNumber;
  2173. } D3D11_AUTHENTICATED_CONFIGURE_INPUT;
  2174. typedef struct D3D11_AUTHENTICATED_QUERY_INPUT {
  2175. GUID QueryType;
  2176. HANDLE hChannel;
  2177. UINT SequenceNumber;
  2178. } D3D11_AUTHENTICATED_QUERY_INPUT;
  2179. typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT {
  2180. D3D11_OMAC omac;
  2181. GUID QueryType;
  2182. HANDLE hChannel;
  2183. UINT SequenceNumber;
  2184. HRESULT ReturnCode;
  2185. } D3D11_AUTHENTICATED_QUERY_OUTPUT;
  2186. typedef union D3D11_AUTHENTICATED_PROTECTION_FLAGS {
  2187. struct {
  2188. UINT ProtectionEnabled : 1;
  2189. UINT OverlayOrFullscreenRequired : 1;
  2190. UINT Reserved : 30;
  2191. } Flags;
  2192. UINT Value;
  2193. } D3D11_AUTHENTICATED_PROTECTION_FLAGS;
  2194. typedef struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT {
  2195. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2196. D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags;
  2197. } D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT;
  2198. typedef struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT {
  2199. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2200. D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType;
  2201. } D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT;
  2202. typedef struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT {
  2203. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2204. HANDLE DeviceHandle;
  2205. } D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT;
  2206. typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT {
  2207. D3D11_AUTHENTICATED_QUERY_INPUT Input;
  2208. HANDLE DecoderHandle;
  2209. } D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT;
  2210. typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT {
  2211. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2212. HANDLE DecoderHandle;
  2213. HANDLE CryptoSessionHandle;
  2214. HANDLE DeviceHandle;
  2215. } D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT;
  2216. typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT {
  2217. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2218. UINT RestrictedSharedResourceProcessCount;
  2219. } D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT;
  2220. typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT {
  2221. D3D11_AUTHENTICATED_QUERY_INPUT Input;
  2222. UINT ProcessIndex;
  2223. } D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT;
  2224. typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT {
  2225. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2226. UINT ProcessIndex;
  2227. D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier;
  2228. HANDLE ProcessHandle;
  2229. } D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT;
  2230. typedef struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT {
  2231. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2232. UINT UnrestrictedProtectedSharedResourceCount;
  2233. } D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT;
  2234. typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT {
  2235. D3D11_AUTHENTICATED_QUERY_INPUT Input;
  2236. HANDLE DeviceHandle;
  2237. HANDLE CryptoSessionHandle;
  2238. } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT;
  2239. typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT {
  2240. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2241. HANDLE DeviceHandle;
  2242. HANDLE CryptoSessionHandle;
  2243. UINT OutputIDCount;
  2244. } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT;
  2245. typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT {
  2246. D3D11_AUTHENTICATED_QUERY_INPUT Input;
  2247. HANDLE DeviceHandle;
  2248. HANDLE CryptoSessionHandle;
  2249. UINT OutputIDIndex;
  2250. } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT;
  2251. typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT {
  2252. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2253. HANDLE DeviceHandle;
  2254. HANDLE CryptoSessionHandle;
  2255. UINT OutputIDIndex;
  2256. UINT64 OutputID;
  2257. } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT;
  2258. typedef struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT {
  2259. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2260. D3D11_BUS_TYPE BusType;
  2261. WINBOOL AccessibleInContiguousBlocks;
  2262. WINBOOL AccessibleInNonContiguousBlocks;
  2263. } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT;
  2264. typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT {
  2265. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2266. UINT EncryptionGuidCount;
  2267. } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT;
  2268. typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT {
  2269. D3D11_AUTHENTICATED_QUERY_INPUT Input;
  2270. UINT EncryptionGuidIndex;
  2271. } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT;
  2272. typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT {
  2273. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2274. UINT EncryptionGuidIndex;
  2275. GUID EncryptionGuid;
  2276. } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT;
  2277. typedef struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT {
  2278. D3D11_AUTHENTICATED_QUERY_OUTPUT Output;
  2279. GUID EncryptionGuid;
  2280. } D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT;
  2281. typedef struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT {
  2282. D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
  2283. UINT StartSequenceQuery;
  2284. UINT StartSequenceConfigure;
  2285. } D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT;
  2286. typedef struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT {
  2287. D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
  2288. D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections;
  2289. } D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT;
  2290. typedef struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT {
  2291. D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
  2292. HANDLE DecoderHandle;
  2293. HANDLE CryptoSessionHandle;
  2294. HANDLE DeviceHandle;
  2295. } D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT;
  2296. typedef struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT {
  2297. D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
  2298. D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType;
  2299. HANDLE ProcessHandle;
  2300. WINBOOL AllowAccess;
  2301. } D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT;
  2302. typedef struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT {
  2303. D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters;
  2304. GUID EncryptionGuid;
  2305. } D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT;
  2306. /*****************************************************************************
  2307. * ID3D11DeviceChild interface
  2308. */
  2309. #ifndef __ID3D11DeviceChild_INTERFACE_DEFINED__
  2310. #define __ID3D11DeviceChild_INTERFACE_DEFINED__
  2311. DEFINE_GUID(IID_ID3D11DeviceChild, 0x1841e5c8, 0x16b0, 0x489b, 0xbc,0xc8, 0x44,0xcf,0xb0,0xd5,0xde,0xae);
  2312. #if defined(__cplusplus) && !defined(CINTERFACE)
  2313. MIDL_INTERFACE("1841e5c8-16b0-489b-bcc8-44cfb0d5deae")
  2314. ID3D11DeviceChild : public IUnknown
  2315. {
  2316. virtual void STDMETHODCALLTYPE GetDevice(
  2317. ID3D11Device **ppDevice) = 0;
  2318. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  2319. REFGUID guid,
  2320. UINT *pDataSize,
  2321. void *pData) = 0;
  2322. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  2323. REFGUID guid,
  2324. UINT DataSize,
  2325. const void *pData) = 0;
  2326. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  2327. REFGUID guid,
  2328. const IUnknown *pData) = 0;
  2329. };
  2330. #ifdef __CRT_UUID_DECL
  2331. __CRT_UUID_DECL(ID3D11DeviceChild, 0x1841e5c8, 0x16b0, 0x489b, 0xbc,0xc8, 0x44,0xcf,0xb0,0xd5,0xde,0xae)
  2332. #endif
  2333. #else
  2334. typedef struct ID3D11DeviceChildVtbl {
  2335. BEGIN_INTERFACE
  2336. /*** IUnknown methods ***/
  2337. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2338. ID3D11DeviceChild *This,
  2339. REFIID riid,
  2340. void **ppvObject);
  2341. ULONG (STDMETHODCALLTYPE *AddRef)(
  2342. ID3D11DeviceChild *This);
  2343. ULONG (STDMETHODCALLTYPE *Release)(
  2344. ID3D11DeviceChild *This);
  2345. /*** ID3D11DeviceChild methods ***/
  2346. void (STDMETHODCALLTYPE *GetDevice)(
  2347. ID3D11DeviceChild *This,
  2348. ID3D11Device **ppDevice);
  2349. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2350. ID3D11DeviceChild *This,
  2351. REFGUID guid,
  2352. UINT *pDataSize,
  2353. void *pData);
  2354. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2355. ID3D11DeviceChild *This,
  2356. REFGUID guid,
  2357. UINT DataSize,
  2358. const void *pData);
  2359. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2360. ID3D11DeviceChild *This,
  2361. REFGUID guid,
  2362. const IUnknown *pData);
  2363. END_INTERFACE
  2364. } ID3D11DeviceChildVtbl;
  2365. interface ID3D11DeviceChild {
  2366. CONST_VTBL ID3D11DeviceChildVtbl* lpVtbl;
  2367. };
  2368. #ifdef COBJMACROS
  2369. #ifndef WIDL_C_INLINE_WRAPPERS
  2370. /*** IUnknown methods ***/
  2371. #define ID3D11DeviceChild_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2372. #define ID3D11DeviceChild_AddRef(This) (This)->lpVtbl->AddRef(This)
  2373. #define ID3D11DeviceChild_Release(This) (This)->lpVtbl->Release(This)
  2374. /*** ID3D11DeviceChild methods ***/
  2375. #define ID3D11DeviceChild_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  2376. #define ID3D11DeviceChild_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  2377. #define ID3D11DeviceChild_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  2378. #define ID3D11DeviceChild_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  2379. #else
  2380. /*** IUnknown methods ***/
  2381. static FORCEINLINE HRESULT ID3D11DeviceChild_QueryInterface(ID3D11DeviceChild* This,REFIID riid,void **ppvObject) {
  2382. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2383. }
  2384. static FORCEINLINE ULONG ID3D11DeviceChild_AddRef(ID3D11DeviceChild* This) {
  2385. return This->lpVtbl->AddRef(This);
  2386. }
  2387. static FORCEINLINE ULONG ID3D11DeviceChild_Release(ID3D11DeviceChild* This) {
  2388. return This->lpVtbl->Release(This);
  2389. }
  2390. /*** ID3D11DeviceChild methods ***/
  2391. static FORCEINLINE void ID3D11DeviceChild_GetDevice(ID3D11DeviceChild* This,ID3D11Device **ppDevice) {
  2392. This->lpVtbl->GetDevice(This,ppDevice);
  2393. }
  2394. static FORCEINLINE HRESULT ID3D11DeviceChild_GetPrivateData(ID3D11DeviceChild* This,REFGUID guid,UINT *pDataSize,void *pData) {
  2395. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  2396. }
  2397. static FORCEINLINE HRESULT ID3D11DeviceChild_SetPrivateData(ID3D11DeviceChild* This,REFGUID guid,UINT DataSize,const void *pData) {
  2398. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  2399. }
  2400. static FORCEINLINE HRESULT ID3D11DeviceChild_SetPrivateDataInterface(ID3D11DeviceChild* This,REFGUID guid,const IUnknown *pData) {
  2401. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  2402. }
  2403. #endif
  2404. #endif
  2405. #endif
  2406. #endif /* __ID3D11DeviceChild_INTERFACE_DEFINED__ */
  2407. /*****************************************************************************
  2408. * ID3D11Asynchronous interface
  2409. */
  2410. #ifndef __ID3D11Asynchronous_INTERFACE_DEFINED__
  2411. #define __ID3D11Asynchronous_INTERFACE_DEFINED__
  2412. DEFINE_GUID(IID_ID3D11Asynchronous, 0x4b35d0cd, 0x1e15, 0x4258, 0x9c,0x98, 0x1b,0x13,0x33,0xf6,0xdd,0x3b);
  2413. #if defined(__cplusplus) && !defined(CINTERFACE)
  2414. MIDL_INTERFACE("4b35d0cd-1e15-4258-9c98-1b1333f6dd3b")
  2415. ID3D11Asynchronous : public ID3D11DeviceChild
  2416. {
  2417. virtual UINT STDMETHODCALLTYPE GetDataSize(
  2418. ) = 0;
  2419. };
  2420. #ifdef __CRT_UUID_DECL
  2421. __CRT_UUID_DECL(ID3D11Asynchronous, 0x4b35d0cd, 0x1e15, 0x4258, 0x9c,0x98, 0x1b,0x13,0x33,0xf6,0xdd,0x3b)
  2422. #endif
  2423. #else
  2424. typedef struct ID3D11AsynchronousVtbl {
  2425. BEGIN_INTERFACE
  2426. /*** IUnknown methods ***/
  2427. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2428. ID3D11Asynchronous *This,
  2429. REFIID riid,
  2430. void **ppvObject);
  2431. ULONG (STDMETHODCALLTYPE *AddRef)(
  2432. ID3D11Asynchronous *This);
  2433. ULONG (STDMETHODCALLTYPE *Release)(
  2434. ID3D11Asynchronous *This);
  2435. /*** ID3D11DeviceChild methods ***/
  2436. void (STDMETHODCALLTYPE *GetDevice)(
  2437. ID3D11Asynchronous *This,
  2438. ID3D11Device **ppDevice);
  2439. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2440. ID3D11Asynchronous *This,
  2441. REFGUID guid,
  2442. UINT *pDataSize,
  2443. void *pData);
  2444. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2445. ID3D11Asynchronous *This,
  2446. REFGUID guid,
  2447. UINT DataSize,
  2448. const void *pData);
  2449. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2450. ID3D11Asynchronous *This,
  2451. REFGUID guid,
  2452. const IUnknown *pData);
  2453. /*** ID3D11Asynchronous methods ***/
  2454. UINT (STDMETHODCALLTYPE *GetDataSize)(
  2455. ID3D11Asynchronous *This);
  2456. END_INTERFACE
  2457. } ID3D11AsynchronousVtbl;
  2458. interface ID3D11Asynchronous {
  2459. CONST_VTBL ID3D11AsynchronousVtbl* lpVtbl;
  2460. };
  2461. #ifdef COBJMACROS
  2462. #ifndef WIDL_C_INLINE_WRAPPERS
  2463. /*** IUnknown methods ***/
  2464. #define ID3D11Asynchronous_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2465. #define ID3D11Asynchronous_AddRef(This) (This)->lpVtbl->AddRef(This)
  2466. #define ID3D11Asynchronous_Release(This) (This)->lpVtbl->Release(This)
  2467. /*** ID3D11DeviceChild methods ***/
  2468. #define ID3D11Asynchronous_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  2469. #define ID3D11Asynchronous_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  2470. #define ID3D11Asynchronous_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  2471. #define ID3D11Asynchronous_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  2472. /*** ID3D11Asynchronous methods ***/
  2473. #define ID3D11Asynchronous_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
  2474. #else
  2475. /*** IUnknown methods ***/
  2476. static FORCEINLINE HRESULT ID3D11Asynchronous_QueryInterface(ID3D11Asynchronous* This,REFIID riid,void **ppvObject) {
  2477. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2478. }
  2479. static FORCEINLINE ULONG ID3D11Asynchronous_AddRef(ID3D11Asynchronous* This) {
  2480. return This->lpVtbl->AddRef(This);
  2481. }
  2482. static FORCEINLINE ULONG ID3D11Asynchronous_Release(ID3D11Asynchronous* This) {
  2483. return This->lpVtbl->Release(This);
  2484. }
  2485. /*** ID3D11DeviceChild methods ***/
  2486. static FORCEINLINE void ID3D11Asynchronous_GetDevice(ID3D11Asynchronous* This,ID3D11Device **ppDevice) {
  2487. This->lpVtbl->GetDevice(This,ppDevice);
  2488. }
  2489. static FORCEINLINE HRESULT ID3D11Asynchronous_GetPrivateData(ID3D11Asynchronous* This,REFGUID guid,UINT *pDataSize,void *pData) {
  2490. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  2491. }
  2492. static FORCEINLINE HRESULT ID3D11Asynchronous_SetPrivateData(ID3D11Asynchronous* This,REFGUID guid,UINT DataSize,const void *pData) {
  2493. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  2494. }
  2495. static FORCEINLINE HRESULT ID3D11Asynchronous_SetPrivateDataInterface(ID3D11Asynchronous* This,REFGUID guid,const IUnknown *pData) {
  2496. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  2497. }
  2498. /*** ID3D11Asynchronous methods ***/
  2499. static FORCEINLINE UINT ID3D11Asynchronous_GetDataSize(ID3D11Asynchronous* This) {
  2500. return This->lpVtbl->GetDataSize(This);
  2501. }
  2502. #endif
  2503. #endif
  2504. #endif
  2505. #endif /* __ID3D11Asynchronous_INTERFACE_DEFINED__ */
  2506. /*****************************************************************************
  2507. * ID3D11Query interface
  2508. */
  2509. #ifndef __ID3D11Query_INTERFACE_DEFINED__
  2510. #define __ID3D11Query_INTERFACE_DEFINED__
  2511. DEFINE_GUID(IID_ID3D11Query, 0xd6c00747, 0x87b7, 0x425e, 0xb8,0x4d, 0x44,0xd1,0x08,0x56,0x0a,0xfd);
  2512. #if defined(__cplusplus) && !defined(CINTERFACE)
  2513. MIDL_INTERFACE("d6c00747-87b7-425e-b84d-44d108560afd")
  2514. ID3D11Query : public ID3D11Asynchronous
  2515. {
  2516. virtual void STDMETHODCALLTYPE GetDesc(
  2517. D3D11_QUERY_DESC *pDesc) = 0;
  2518. };
  2519. #ifdef __CRT_UUID_DECL
  2520. __CRT_UUID_DECL(ID3D11Query, 0xd6c00747, 0x87b7, 0x425e, 0xb8,0x4d, 0x44,0xd1,0x08,0x56,0x0a,0xfd)
  2521. #endif
  2522. #else
  2523. typedef struct ID3D11QueryVtbl {
  2524. BEGIN_INTERFACE
  2525. /*** IUnknown methods ***/
  2526. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2527. ID3D11Query *This,
  2528. REFIID riid,
  2529. void **ppvObject);
  2530. ULONG (STDMETHODCALLTYPE *AddRef)(
  2531. ID3D11Query *This);
  2532. ULONG (STDMETHODCALLTYPE *Release)(
  2533. ID3D11Query *This);
  2534. /*** ID3D11DeviceChild methods ***/
  2535. void (STDMETHODCALLTYPE *GetDevice)(
  2536. ID3D11Query *This,
  2537. ID3D11Device **ppDevice);
  2538. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2539. ID3D11Query *This,
  2540. REFGUID guid,
  2541. UINT *pDataSize,
  2542. void *pData);
  2543. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2544. ID3D11Query *This,
  2545. REFGUID guid,
  2546. UINT DataSize,
  2547. const void *pData);
  2548. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2549. ID3D11Query *This,
  2550. REFGUID guid,
  2551. const IUnknown *pData);
  2552. /*** ID3D11Asynchronous methods ***/
  2553. UINT (STDMETHODCALLTYPE *GetDataSize)(
  2554. ID3D11Query *This);
  2555. /*** ID3D11Query methods ***/
  2556. void (STDMETHODCALLTYPE *GetDesc)(
  2557. ID3D11Query *This,
  2558. D3D11_QUERY_DESC *pDesc);
  2559. END_INTERFACE
  2560. } ID3D11QueryVtbl;
  2561. interface ID3D11Query {
  2562. CONST_VTBL ID3D11QueryVtbl* lpVtbl;
  2563. };
  2564. #ifdef COBJMACROS
  2565. #ifndef WIDL_C_INLINE_WRAPPERS
  2566. /*** IUnknown methods ***/
  2567. #define ID3D11Query_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2568. #define ID3D11Query_AddRef(This) (This)->lpVtbl->AddRef(This)
  2569. #define ID3D11Query_Release(This) (This)->lpVtbl->Release(This)
  2570. /*** ID3D11DeviceChild methods ***/
  2571. #define ID3D11Query_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  2572. #define ID3D11Query_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  2573. #define ID3D11Query_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  2574. #define ID3D11Query_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  2575. /*** ID3D11Asynchronous methods ***/
  2576. #define ID3D11Query_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
  2577. /*** ID3D11Query methods ***/
  2578. #define ID3D11Query_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  2579. #else
  2580. /*** IUnknown methods ***/
  2581. static FORCEINLINE HRESULT ID3D11Query_QueryInterface(ID3D11Query* This,REFIID riid,void **ppvObject) {
  2582. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2583. }
  2584. static FORCEINLINE ULONG ID3D11Query_AddRef(ID3D11Query* This) {
  2585. return This->lpVtbl->AddRef(This);
  2586. }
  2587. static FORCEINLINE ULONG ID3D11Query_Release(ID3D11Query* This) {
  2588. return This->lpVtbl->Release(This);
  2589. }
  2590. /*** ID3D11DeviceChild methods ***/
  2591. static FORCEINLINE void ID3D11Query_GetDevice(ID3D11Query* This,ID3D11Device **ppDevice) {
  2592. This->lpVtbl->GetDevice(This,ppDevice);
  2593. }
  2594. static FORCEINLINE HRESULT ID3D11Query_GetPrivateData(ID3D11Query* This,REFGUID guid,UINT *pDataSize,void *pData) {
  2595. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  2596. }
  2597. static FORCEINLINE HRESULT ID3D11Query_SetPrivateData(ID3D11Query* This,REFGUID guid,UINT DataSize,const void *pData) {
  2598. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  2599. }
  2600. static FORCEINLINE HRESULT ID3D11Query_SetPrivateDataInterface(ID3D11Query* This,REFGUID guid,const IUnknown *pData) {
  2601. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  2602. }
  2603. /*** ID3D11Asynchronous methods ***/
  2604. static FORCEINLINE UINT ID3D11Query_GetDataSize(ID3D11Query* This) {
  2605. return This->lpVtbl->GetDataSize(This);
  2606. }
  2607. /*** ID3D11Query methods ***/
  2608. static FORCEINLINE void ID3D11Query_GetDesc(ID3D11Query* This,D3D11_QUERY_DESC *pDesc) {
  2609. This->lpVtbl->GetDesc(This,pDesc);
  2610. }
  2611. #endif
  2612. #endif
  2613. #endif
  2614. #endif /* __ID3D11Query_INTERFACE_DEFINED__ */
  2615. /*****************************************************************************
  2616. * ID3D11Resource interface
  2617. */
  2618. #ifndef __ID3D11Resource_INTERFACE_DEFINED__
  2619. #define __ID3D11Resource_INTERFACE_DEFINED__
  2620. DEFINE_GUID(IID_ID3D11Resource, 0xdc8e63f3, 0xd12b, 0x4952, 0xb4,0x7b, 0x5e,0x45,0x02,0x6a,0x86,0x2d);
  2621. #if defined(__cplusplus) && !defined(CINTERFACE)
  2622. MIDL_INTERFACE("dc8e63f3-d12b-4952-b47b-5e45026a862d")
  2623. ID3D11Resource : public ID3D11DeviceChild
  2624. {
  2625. virtual void STDMETHODCALLTYPE GetType(
  2626. D3D11_RESOURCE_DIMENSION *pResourceDimension) = 0;
  2627. virtual void STDMETHODCALLTYPE SetEvictionPriority(
  2628. UINT EvictionPriority) = 0;
  2629. virtual UINT STDMETHODCALLTYPE GetEvictionPriority(
  2630. ) = 0;
  2631. };
  2632. #ifdef __CRT_UUID_DECL
  2633. __CRT_UUID_DECL(ID3D11Resource, 0xdc8e63f3, 0xd12b, 0x4952, 0xb4,0x7b, 0x5e,0x45,0x02,0x6a,0x86,0x2d)
  2634. #endif
  2635. #else
  2636. typedef struct ID3D11ResourceVtbl {
  2637. BEGIN_INTERFACE
  2638. /*** IUnknown methods ***/
  2639. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2640. ID3D11Resource *This,
  2641. REFIID riid,
  2642. void **ppvObject);
  2643. ULONG (STDMETHODCALLTYPE *AddRef)(
  2644. ID3D11Resource *This);
  2645. ULONG (STDMETHODCALLTYPE *Release)(
  2646. ID3D11Resource *This);
  2647. /*** ID3D11DeviceChild methods ***/
  2648. void (STDMETHODCALLTYPE *GetDevice)(
  2649. ID3D11Resource *This,
  2650. ID3D11Device **ppDevice);
  2651. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2652. ID3D11Resource *This,
  2653. REFGUID guid,
  2654. UINT *pDataSize,
  2655. void *pData);
  2656. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2657. ID3D11Resource *This,
  2658. REFGUID guid,
  2659. UINT DataSize,
  2660. const void *pData);
  2661. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2662. ID3D11Resource *This,
  2663. REFGUID guid,
  2664. const IUnknown *pData);
  2665. /*** ID3D11Resource methods ***/
  2666. void (STDMETHODCALLTYPE *GetType)(
  2667. ID3D11Resource *This,
  2668. D3D11_RESOURCE_DIMENSION *pResourceDimension);
  2669. void (STDMETHODCALLTYPE *SetEvictionPriority)(
  2670. ID3D11Resource *This,
  2671. UINT EvictionPriority);
  2672. UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
  2673. ID3D11Resource *This);
  2674. END_INTERFACE
  2675. } ID3D11ResourceVtbl;
  2676. interface ID3D11Resource {
  2677. CONST_VTBL ID3D11ResourceVtbl* lpVtbl;
  2678. };
  2679. #ifdef COBJMACROS
  2680. #ifndef WIDL_C_INLINE_WRAPPERS
  2681. /*** IUnknown methods ***/
  2682. #define ID3D11Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2683. #define ID3D11Resource_AddRef(This) (This)->lpVtbl->AddRef(This)
  2684. #define ID3D11Resource_Release(This) (This)->lpVtbl->Release(This)
  2685. /*** ID3D11DeviceChild methods ***/
  2686. #define ID3D11Resource_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  2687. #define ID3D11Resource_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  2688. #define ID3D11Resource_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  2689. #define ID3D11Resource_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  2690. /*** ID3D11Resource methods ***/
  2691. #define ID3D11Resource_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
  2692. #define ID3D11Resource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
  2693. #define ID3D11Resource_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
  2694. #else
  2695. /*** IUnknown methods ***/
  2696. static FORCEINLINE HRESULT ID3D11Resource_QueryInterface(ID3D11Resource* This,REFIID riid,void **ppvObject) {
  2697. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2698. }
  2699. static FORCEINLINE ULONG ID3D11Resource_AddRef(ID3D11Resource* This) {
  2700. return This->lpVtbl->AddRef(This);
  2701. }
  2702. static FORCEINLINE ULONG ID3D11Resource_Release(ID3D11Resource* This) {
  2703. return This->lpVtbl->Release(This);
  2704. }
  2705. /*** ID3D11DeviceChild methods ***/
  2706. static FORCEINLINE void ID3D11Resource_GetDevice(ID3D11Resource* This,ID3D11Device **ppDevice) {
  2707. This->lpVtbl->GetDevice(This,ppDevice);
  2708. }
  2709. static FORCEINLINE HRESULT ID3D11Resource_GetPrivateData(ID3D11Resource* This,REFGUID guid,UINT *pDataSize,void *pData) {
  2710. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  2711. }
  2712. static FORCEINLINE HRESULT ID3D11Resource_SetPrivateData(ID3D11Resource* This,REFGUID guid,UINT DataSize,const void *pData) {
  2713. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  2714. }
  2715. static FORCEINLINE HRESULT ID3D11Resource_SetPrivateDataInterface(ID3D11Resource* This,REFGUID guid,const IUnknown *pData) {
  2716. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  2717. }
  2718. /*** ID3D11Resource methods ***/
  2719. static FORCEINLINE void ID3D11Resource_GetType(ID3D11Resource* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
  2720. This->lpVtbl->GetType(This,pResourceDimension);
  2721. }
  2722. static FORCEINLINE void ID3D11Resource_SetEvictionPriority(ID3D11Resource* This,UINT EvictionPriority) {
  2723. This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
  2724. }
  2725. static FORCEINLINE UINT ID3D11Resource_GetEvictionPriority(ID3D11Resource* This) {
  2726. return This->lpVtbl->GetEvictionPriority(This);
  2727. }
  2728. #endif
  2729. #endif
  2730. #endif
  2731. #endif /* __ID3D11Resource_INTERFACE_DEFINED__ */
  2732. /*****************************************************************************
  2733. * ID3D11View interface
  2734. */
  2735. #ifndef __ID3D11View_INTERFACE_DEFINED__
  2736. #define __ID3D11View_INTERFACE_DEFINED__
  2737. DEFINE_GUID(IID_ID3D11View, 0x839d1216, 0xbb2e, 0x412b, 0xb7,0xf4, 0xa9,0xdb,0xeb,0xe0,0x8e,0xd1);
  2738. #if defined(__cplusplus) && !defined(CINTERFACE)
  2739. MIDL_INTERFACE("839d1216-bb2e-412b-b7f4-a9dbebe08ed1")
  2740. ID3D11View : public ID3D11DeviceChild
  2741. {
  2742. virtual void STDMETHODCALLTYPE GetResource(
  2743. ID3D11Resource **ppResource) = 0;
  2744. };
  2745. #ifdef __CRT_UUID_DECL
  2746. __CRT_UUID_DECL(ID3D11View, 0x839d1216, 0xbb2e, 0x412b, 0xb7,0xf4, 0xa9,0xdb,0xeb,0xe0,0x8e,0xd1)
  2747. #endif
  2748. #else
  2749. typedef struct ID3D11ViewVtbl {
  2750. BEGIN_INTERFACE
  2751. /*** IUnknown methods ***/
  2752. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2753. ID3D11View *This,
  2754. REFIID riid,
  2755. void **ppvObject);
  2756. ULONG (STDMETHODCALLTYPE *AddRef)(
  2757. ID3D11View *This);
  2758. ULONG (STDMETHODCALLTYPE *Release)(
  2759. ID3D11View *This);
  2760. /*** ID3D11DeviceChild methods ***/
  2761. void (STDMETHODCALLTYPE *GetDevice)(
  2762. ID3D11View *This,
  2763. ID3D11Device **ppDevice);
  2764. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2765. ID3D11View *This,
  2766. REFGUID guid,
  2767. UINT *pDataSize,
  2768. void *pData);
  2769. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2770. ID3D11View *This,
  2771. REFGUID guid,
  2772. UINT DataSize,
  2773. const void *pData);
  2774. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2775. ID3D11View *This,
  2776. REFGUID guid,
  2777. const IUnknown *pData);
  2778. /*** ID3D11View methods ***/
  2779. void (STDMETHODCALLTYPE *GetResource)(
  2780. ID3D11View *This,
  2781. ID3D11Resource **ppResource);
  2782. END_INTERFACE
  2783. } ID3D11ViewVtbl;
  2784. interface ID3D11View {
  2785. CONST_VTBL ID3D11ViewVtbl* lpVtbl;
  2786. };
  2787. #ifdef COBJMACROS
  2788. #ifndef WIDL_C_INLINE_WRAPPERS
  2789. /*** IUnknown methods ***/
  2790. #define ID3D11View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2791. #define ID3D11View_AddRef(This) (This)->lpVtbl->AddRef(This)
  2792. #define ID3D11View_Release(This) (This)->lpVtbl->Release(This)
  2793. /*** ID3D11DeviceChild methods ***/
  2794. #define ID3D11View_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  2795. #define ID3D11View_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  2796. #define ID3D11View_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  2797. #define ID3D11View_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  2798. /*** ID3D11View methods ***/
  2799. #define ID3D11View_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  2800. #else
  2801. /*** IUnknown methods ***/
  2802. static FORCEINLINE HRESULT ID3D11View_QueryInterface(ID3D11View* This,REFIID riid,void **ppvObject) {
  2803. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2804. }
  2805. static FORCEINLINE ULONG ID3D11View_AddRef(ID3D11View* This) {
  2806. return This->lpVtbl->AddRef(This);
  2807. }
  2808. static FORCEINLINE ULONG ID3D11View_Release(ID3D11View* This) {
  2809. return This->lpVtbl->Release(This);
  2810. }
  2811. /*** ID3D11DeviceChild methods ***/
  2812. static FORCEINLINE void ID3D11View_GetDevice(ID3D11View* This,ID3D11Device **ppDevice) {
  2813. This->lpVtbl->GetDevice(This,ppDevice);
  2814. }
  2815. static FORCEINLINE HRESULT ID3D11View_GetPrivateData(ID3D11View* This,REFGUID guid,UINT *pDataSize,void *pData) {
  2816. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  2817. }
  2818. static FORCEINLINE HRESULT ID3D11View_SetPrivateData(ID3D11View* This,REFGUID guid,UINT DataSize,const void *pData) {
  2819. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  2820. }
  2821. static FORCEINLINE HRESULT ID3D11View_SetPrivateDataInterface(ID3D11View* This,REFGUID guid,const IUnknown *pData) {
  2822. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  2823. }
  2824. /*** ID3D11View methods ***/
  2825. static FORCEINLINE void ID3D11View_GetResource(ID3D11View* This,ID3D11Resource **ppResource) {
  2826. This->lpVtbl->GetResource(This,ppResource);
  2827. }
  2828. #endif
  2829. #endif
  2830. #endif
  2831. #endif /* __ID3D11View_INTERFACE_DEFINED__ */
  2832. /*****************************************************************************
  2833. * ID3D11BlendState interface
  2834. */
  2835. #ifndef __ID3D11BlendState_INTERFACE_DEFINED__
  2836. #define __ID3D11BlendState_INTERFACE_DEFINED__
  2837. DEFINE_GUID(IID_ID3D11BlendState, 0x75b68faa, 0x347d, 0x4159, 0x8f,0x45, 0xa0,0x64,0x0f,0x01,0xcd,0x9a);
  2838. #if defined(__cplusplus) && !defined(CINTERFACE)
  2839. MIDL_INTERFACE("75b68faa-347d-4159-8f45-a0640f01cd9a")
  2840. ID3D11BlendState : public ID3D11DeviceChild
  2841. {
  2842. virtual void STDMETHODCALLTYPE GetDesc(
  2843. D3D11_BLEND_DESC *pDesc) = 0;
  2844. };
  2845. #ifdef __CRT_UUID_DECL
  2846. __CRT_UUID_DECL(ID3D11BlendState, 0x75b68faa, 0x347d, 0x4159, 0x8f,0x45, 0xa0,0x64,0x0f,0x01,0xcd,0x9a)
  2847. #endif
  2848. #else
  2849. typedef struct ID3D11BlendStateVtbl {
  2850. BEGIN_INTERFACE
  2851. /*** IUnknown methods ***/
  2852. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2853. ID3D11BlendState *This,
  2854. REFIID riid,
  2855. void **ppvObject);
  2856. ULONG (STDMETHODCALLTYPE *AddRef)(
  2857. ID3D11BlendState *This);
  2858. ULONG (STDMETHODCALLTYPE *Release)(
  2859. ID3D11BlendState *This);
  2860. /*** ID3D11DeviceChild methods ***/
  2861. void (STDMETHODCALLTYPE *GetDevice)(
  2862. ID3D11BlendState *This,
  2863. ID3D11Device **ppDevice);
  2864. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2865. ID3D11BlendState *This,
  2866. REFGUID guid,
  2867. UINT *pDataSize,
  2868. void *pData);
  2869. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2870. ID3D11BlendState *This,
  2871. REFGUID guid,
  2872. UINT DataSize,
  2873. const void *pData);
  2874. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2875. ID3D11BlendState *This,
  2876. REFGUID guid,
  2877. const IUnknown *pData);
  2878. /*** ID3D11BlendState methods ***/
  2879. void (STDMETHODCALLTYPE *GetDesc)(
  2880. ID3D11BlendState *This,
  2881. D3D11_BLEND_DESC *pDesc);
  2882. END_INTERFACE
  2883. } ID3D11BlendStateVtbl;
  2884. interface ID3D11BlendState {
  2885. CONST_VTBL ID3D11BlendStateVtbl* lpVtbl;
  2886. };
  2887. #ifdef COBJMACROS
  2888. #ifndef WIDL_C_INLINE_WRAPPERS
  2889. /*** IUnknown methods ***/
  2890. #define ID3D11BlendState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2891. #define ID3D11BlendState_AddRef(This) (This)->lpVtbl->AddRef(This)
  2892. #define ID3D11BlendState_Release(This) (This)->lpVtbl->Release(This)
  2893. /*** ID3D11DeviceChild methods ***/
  2894. #define ID3D11BlendState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  2895. #define ID3D11BlendState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  2896. #define ID3D11BlendState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  2897. #define ID3D11BlendState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  2898. /*** ID3D11BlendState methods ***/
  2899. #define ID3D11BlendState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  2900. #else
  2901. /*** IUnknown methods ***/
  2902. static FORCEINLINE HRESULT ID3D11BlendState_QueryInterface(ID3D11BlendState* This,REFIID riid,void **ppvObject) {
  2903. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2904. }
  2905. static FORCEINLINE ULONG ID3D11BlendState_AddRef(ID3D11BlendState* This) {
  2906. return This->lpVtbl->AddRef(This);
  2907. }
  2908. static FORCEINLINE ULONG ID3D11BlendState_Release(ID3D11BlendState* This) {
  2909. return This->lpVtbl->Release(This);
  2910. }
  2911. /*** ID3D11DeviceChild methods ***/
  2912. static FORCEINLINE void ID3D11BlendState_GetDevice(ID3D11BlendState* This,ID3D11Device **ppDevice) {
  2913. This->lpVtbl->GetDevice(This,ppDevice);
  2914. }
  2915. static FORCEINLINE HRESULT ID3D11BlendState_GetPrivateData(ID3D11BlendState* This,REFGUID guid,UINT *pDataSize,void *pData) {
  2916. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  2917. }
  2918. static FORCEINLINE HRESULT ID3D11BlendState_SetPrivateData(ID3D11BlendState* This,REFGUID guid,UINT DataSize,const void *pData) {
  2919. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  2920. }
  2921. static FORCEINLINE HRESULT ID3D11BlendState_SetPrivateDataInterface(ID3D11BlendState* This,REFGUID guid,const IUnknown *pData) {
  2922. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  2923. }
  2924. /*** ID3D11BlendState methods ***/
  2925. static FORCEINLINE void ID3D11BlendState_GetDesc(ID3D11BlendState* This,D3D11_BLEND_DESC *pDesc) {
  2926. This->lpVtbl->GetDesc(This,pDesc);
  2927. }
  2928. #endif
  2929. #endif
  2930. #endif
  2931. #endif /* __ID3D11BlendState_INTERFACE_DEFINED__ */
  2932. /*****************************************************************************
  2933. * ID3D11Buffer interface
  2934. */
  2935. #ifndef __ID3D11Buffer_INTERFACE_DEFINED__
  2936. #define __ID3D11Buffer_INTERFACE_DEFINED__
  2937. DEFINE_GUID(IID_ID3D11Buffer, 0x48570b85, 0xd1ee, 0x4fcd, 0xa2,0x50, 0xeb,0x35,0x07,0x22,0xb0,0x37);
  2938. #if defined(__cplusplus) && !defined(CINTERFACE)
  2939. MIDL_INTERFACE("48570b85-d1ee-4fcd-a250-eb350722b037")
  2940. ID3D11Buffer : public ID3D11Resource
  2941. {
  2942. virtual void STDMETHODCALLTYPE GetDesc(
  2943. D3D11_BUFFER_DESC *pDesc) = 0;
  2944. };
  2945. #ifdef __CRT_UUID_DECL
  2946. __CRT_UUID_DECL(ID3D11Buffer, 0x48570b85, 0xd1ee, 0x4fcd, 0xa2,0x50, 0xeb,0x35,0x07,0x22,0xb0,0x37)
  2947. #endif
  2948. #else
  2949. typedef struct ID3D11BufferVtbl {
  2950. BEGIN_INTERFACE
  2951. /*** IUnknown methods ***/
  2952. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2953. ID3D11Buffer *This,
  2954. REFIID riid,
  2955. void **ppvObject);
  2956. ULONG (STDMETHODCALLTYPE *AddRef)(
  2957. ID3D11Buffer *This);
  2958. ULONG (STDMETHODCALLTYPE *Release)(
  2959. ID3D11Buffer *This);
  2960. /*** ID3D11DeviceChild methods ***/
  2961. void (STDMETHODCALLTYPE *GetDevice)(
  2962. ID3D11Buffer *This,
  2963. ID3D11Device **ppDevice);
  2964. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  2965. ID3D11Buffer *This,
  2966. REFGUID guid,
  2967. UINT *pDataSize,
  2968. void *pData);
  2969. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  2970. ID3D11Buffer *This,
  2971. REFGUID guid,
  2972. UINT DataSize,
  2973. const void *pData);
  2974. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  2975. ID3D11Buffer *This,
  2976. REFGUID guid,
  2977. const IUnknown *pData);
  2978. /*** ID3D11Resource methods ***/
  2979. void (STDMETHODCALLTYPE *GetType)(
  2980. ID3D11Buffer *This,
  2981. D3D11_RESOURCE_DIMENSION *pResourceDimension);
  2982. void (STDMETHODCALLTYPE *SetEvictionPriority)(
  2983. ID3D11Buffer *This,
  2984. UINT EvictionPriority);
  2985. UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
  2986. ID3D11Buffer *This);
  2987. /*** ID3D11Buffer methods ***/
  2988. void (STDMETHODCALLTYPE *GetDesc)(
  2989. ID3D11Buffer *This,
  2990. D3D11_BUFFER_DESC *pDesc);
  2991. END_INTERFACE
  2992. } ID3D11BufferVtbl;
  2993. interface ID3D11Buffer {
  2994. CONST_VTBL ID3D11BufferVtbl* lpVtbl;
  2995. };
  2996. #ifdef COBJMACROS
  2997. #ifndef WIDL_C_INLINE_WRAPPERS
  2998. /*** IUnknown methods ***/
  2999. #define ID3D11Buffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3000. #define ID3D11Buffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  3001. #define ID3D11Buffer_Release(This) (This)->lpVtbl->Release(This)
  3002. /*** ID3D11DeviceChild methods ***/
  3003. #define ID3D11Buffer_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3004. #define ID3D11Buffer_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3005. #define ID3D11Buffer_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3006. #define ID3D11Buffer_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3007. /*** ID3D11Resource methods ***/
  3008. #define ID3D11Buffer_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
  3009. #define ID3D11Buffer_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
  3010. #define ID3D11Buffer_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
  3011. /*** ID3D11Buffer methods ***/
  3012. #define ID3D11Buffer_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  3013. #else
  3014. /*** IUnknown methods ***/
  3015. static FORCEINLINE HRESULT ID3D11Buffer_QueryInterface(ID3D11Buffer* This,REFIID riid,void **ppvObject) {
  3016. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3017. }
  3018. static FORCEINLINE ULONG ID3D11Buffer_AddRef(ID3D11Buffer* This) {
  3019. return This->lpVtbl->AddRef(This);
  3020. }
  3021. static FORCEINLINE ULONG ID3D11Buffer_Release(ID3D11Buffer* This) {
  3022. return This->lpVtbl->Release(This);
  3023. }
  3024. /*** ID3D11DeviceChild methods ***/
  3025. static FORCEINLINE void ID3D11Buffer_GetDevice(ID3D11Buffer* This,ID3D11Device **ppDevice) {
  3026. This->lpVtbl->GetDevice(This,ppDevice);
  3027. }
  3028. static FORCEINLINE HRESULT ID3D11Buffer_GetPrivateData(ID3D11Buffer* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3029. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3030. }
  3031. static FORCEINLINE HRESULT ID3D11Buffer_SetPrivateData(ID3D11Buffer* This,REFGUID guid,UINT DataSize,const void *pData) {
  3032. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3033. }
  3034. static FORCEINLINE HRESULT ID3D11Buffer_SetPrivateDataInterface(ID3D11Buffer* This,REFGUID guid,const IUnknown *pData) {
  3035. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3036. }
  3037. /*** ID3D11Resource methods ***/
  3038. static FORCEINLINE void ID3D11Buffer_GetType(ID3D11Buffer* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
  3039. This->lpVtbl->GetType(This,pResourceDimension);
  3040. }
  3041. static FORCEINLINE void ID3D11Buffer_SetEvictionPriority(ID3D11Buffer* This,UINT EvictionPriority) {
  3042. This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
  3043. }
  3044. static FORCEINLINE UINT ID3D11Buffer_GetEvictionPriority(ID3D11Buffer* This) {
  3045. return This->lpVtbl->GetEvictionPriority(This);
  3046. }
  3047. /*** ID3D11Buffer methods ***/
  3048. static FORCEINLINE void ID3D11Buffer_GetDesc(ID3D11Buffer* This,D3D11_BUFFER_DESC *pDesc) {
  3049. This->lpVtbl->GetDesc(This,pDesc);
  3050. }
  3051. #endif
  3052. #endif
  3053. #endif
  3054. #endif /* __ID3D11Buffer_INTERFACE_DEFINED__ */
  3055. /*****************************************************************************
  3056. * ID3D11ClassInstance interface
  3057. */
  3058. #ifndef __ID3D11ClassInstance_INTERFACE_DEFINED__
  3059. #define __ID3D11ClassInstance_INTERFACE_DEFINED__
  3060. DEFINE_GUID(IID_ID3D11ClassInstance, 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94,0x36, 0x86,0x62,0xa6,0x57,0x97,0xcb);
  3061. #if defined(__cplusplus) && !defined(CINTERFACE)
  3062. MIDL_INTERFACE("a6cd7faa-b0b7-4a2f-9436-8662a65797cb")
  3063. ID3D11ClassInstance : public ID3D11DeviceChild
  3064. {
  3065. virtual void STDMETHODCALLTYPE GetClassLinkage(
  3066. ID3D11ClassLinkage **ppLinkage) = 0;
  3067. virtual void STDMETHODCALLTYPE GetDesc(
  3068. D3D11_CLASS_INSTANCE_DESC *pDesc) = 0;
  3069. virtual void STDMETHODCALLTYPE GetInstanceName(
  3070. LPSTR pInstanceName,
  3071. SIZE_T *pBufferLength) = 0;
  3072. virtual void STDMETHODCALLTYPE GetTypeName(
  3073. LPSTR pTypeName,
  3074. SIZE_T *pBufferLength) = 0;
  3075. };
  3076. #ifdef __CRT_UUID_DECL
  3077. __CRT_UUID_DECL(ID3D11ClassInstance, 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94,0x36, 0x86,0x62,0xa6,0x57,0x97,0xcb)
  3078. #endif
  3079. #else
  3080. typedef struct ID3D11ClassInstanceVtbl {
  3081. BEGIN_INTERFACE
  3082. /*** IUnknown methods ***/
  3083. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3084. ID3D11ClassInstance *This,
  3085. REFIID riid,
  3086. void **ppvObject);
  3087. ULONG (STDMETHODCALLTYPE *AddRef)(
  3088. ID3D11ClassInstance *This);
  3089. ULONG (STDMETHODCALLTYPE *Release)(
  3090. ID3D11ClassInstance *This);
  3091. /*** ID3D11DeviceChild methods ***/
  3092. void (STDMETHODCALLTYPE *GetDevice)(
  3093. ID3D11ClassInstance *This,
  3094. ID3D11Device **ppDevice);
  3095. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3096. ID3D11ClassInstance *This,
  3097. REFGUID guid,
  3098. UINT *pDataSize,
  3099. void *pData);
  3100. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3101. ID3D11ClassInstance *This,
  3102. REFGUID guid,
  3103. UINT DataSize,
  3104. const void *pData);
  3105. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3106. ID3D11ClassInstance *This,
  3107. REFGUID guid,
  3108. const IUnknown *pData);
  3109. /*** ID3D11ClassInstance methods ***/
  3110. void (STDMETHODCALLTYPE *GetClassLinkage)(
  3111. ID3D11ClassInstance *This,
  3112. ID3D11ClassLinkage **ppLinkage);
  3113. void (STDMETHODCALLTYPE *GetDesc)(
  3114. ID3D11ClassInstance *This,
  3115. D3D11_CLASS_INSTANCE_DESC *pDesc);
  3116. void (STDMETHODCALLTYPE *GetInstanceName)(
  3117. ID3D11ClassInstance *This,
  3118. LPSTR pInstanceName,
  3119. SIZE_T *pBufferLength);
  3120. void (STDMETHODCALLTYPE *GetTypeName)(
  3121. ID3D11ClassInstance *This,
  3122. LPSTR pTypeName,
  3123. SIZE_T *pBufferLength);
  3124. END_INTERFACE
  3125. } ID3D11ClassInstanceVtbl;
  3126. interface ID3D11ClassInstance {
  3127. CONST_VTBL ID3D11ClassInstanceVtbl* lpVtbl;
  3128. };
  3129. #ifdef COBJMACROS
  3130. #ifndef WIDL_C_INLINE_WRAPPERS
  3131. /*** IUnknown methods ***/
  3132. #define ID3D11ClassInstance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3133. #define ID3D11ClassInstance_AddRef(This) (This)->lpVtbl->AddRef(This)
  3134. #define ID3D11ClassInstance_Release(This) (This)->lpVtbl->Release(This)
  3135. /*** ID3D11DeviceChild methods ***/
  3136. #define ID3D11ClassInstance_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3137. #define ID3D11ClassInstance_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3138. #define ID3D11ClassInstance_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3139. #define ID3D11ClassInstance_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3140. /*** ID3D11ClassInstance methods ***/
  3141. #define ID3D11ClassInstance_GetClassLinkage(This,ppLinkage) (This)->lpVtbl->GetClassLinkage(This,ppLinkage)
  3142. #define ID3D11ClassInstance_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  3143. #define ID3D11ClassInstance_GetInstanceName(This,pInstanceName,pBufferLength) (This)->lpVtbl->GetInstanceName(This,pInstanceName,pBufferLength)
  3144. #define ID3D11ClassInstance_GetTypeName(This,pTypeName,pBufferLength) (This)->lpVtbl->GetTypeName(This,pTypeName,pBufferLength)
  3145. #else
  3146. /*** IUnknown methods ***/
  3147. static FORCEINLINE HRESULT ID3D11ClassInstance_QueryInterface(ID3D11ClassInstance* This,REFIID riid,void **ppvObject) {
  3148. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3149. }
  3150. static FORCEINLINE ULONG ID3D11ClassInstance_AddRef(ID3D11ClassInstance* This) {
  3151. return This->lpVtbl->AddRef(This);
  3152. }
  3153. static FORCEINLINE ULONG ID3D11ClassInstance_Release(ID3D11ClassInstance* This) {
  3154. return This->lpVtbl->Release(This);
  3155. }
  3156. /*** ID3D11DeviceChild methods ***/
  3157. static FORCEINLINE void ID3D11ClassInstance_GetDevice(ID3D11ClassInstance* This,ID3D11Device **ppDevice) {
  3158. This->lpVtbl->GetDevice(This,ppDevice);
  3159. }
  3160. static FORCEINLINE HRESULT ID3D11ClassInstance_GetPrivateData(ID3D11ClassInstance* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3161. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3162. }
  3163. static FORCEINLINE HRESULT ID3D11ClassInstance_SetPrivateData(ID3D11ClassInstance* This,REFGUID guid,UINT DataSize,const void *pData) {
  3164. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3165. }
  3166. static FORCEINLINE HRESULT ID3D11ClassInstance_SetPrivateDataInterface(ID3D11ClassInstance* This,REFGUID guid,const IUnknown *pData) {
  3167. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3168. }
  3169. /*** ID3D11ClassInstance methods ***/
  3170. static FORCEINLINE void ID3D11ClassInstance_GetClassLinkage(ID3D11ClassInstance* This,ID3D11ClassLinkage **ppLinkage) {
  3171. This->lpVtbl->GetClassLinkage(This,ppLinkage);
  3172. }
  3173. static FORCEINLINE void ID3D11ClassInstance_GetDesc(ID3D11ClassInstance* This,D3D11_CLASS_INSTANCE_DESC *pDesc) {
  3174. This->lpVtbl->GetDesc(This,pDesc);
  3175. }
  3176. static FORCEINLINE void ID3D11ClassInstance_GetInstanceName(ID3D11ClassInstance* This,LPSTR pInstanceName,SIZE_T *pBufferLength) {
  3177. This->lpVtbl->GetInstanceName(This,pInstanceName,pBufferLength);
  3178. }
  3179. static FORCEINLINE void ID3D11ClassInstance_GetTypeName(ID3D11ClassInstance* This,LPSTR pTypeName,SIZE_T *pBufferLength) {
  3180. This->lpVtbl->GetTypeName(This,pTypeName,pBufferLength);
  3181. }
  3182. #endif
  3183. #endif
  3184. #endif
  3185. #endif /* __ID3D11ClassInstance_INTERFACE_DEFINED__ */
  3186. /*****************************************************************************
  3187. * ID3D11ClassLinkage interface
  3188. */
  3189. #ifndef __ID3D11ClassLinkage_INTERFACE_DEFINED__
  3190. #define __ID3D11ClassLinkage_INTERFACE_DEFINED__
  3191. DEFINE_GUID(IID_ID3D11ClassLinkage, 0xddf57cba, 0x9543, 0x46e4, 0xa1,0x2b, 0xf2,0x07,0xa0,0xfe,0x7f,0xed);
  3192. #if defined(__cplusplus) && !defined(CINTERFACE)
  3193. MIDL_INTERFACE("ddf57cba-9543-46e4-a12b-f207a0fe7fed")
  3194. ID3D11ClassLinkage : public ID3D11DeviceChild
  3195. {
  3196. virtual HRESULT STDMETHODCALLTYPE GetClassInstance(
  3197. LPCSTR pClassInstanceName,
  3198. UINT InstanceIndex,
  3199. ID3D11ClassInstance **ppInstance) = 0;
  3200. virtual HRESULT STDMETHODCALLTYPE CreateClassInstance(
  3201. LPCSTR pClassTypeName,
  3202. UINT ConstantBufferOffset,
  3203. UINT ConstantVectorOffset,
  3204. UINT TextureOffset,
  3205. UINT SamplerOffset,
  3206. ID3D11ClassInstance **ppInstance) = 0;
  3207. };
  3208. #ifdef __CRT_UUID_DECL
  3209. __CRT_UUID_DECL(ID3D11ClassLinkage, 0xddf57cba, 0x9543, 0x46e4, 0xa1,0x2b, 0xf2,0x07,0xa0,0xfe,0x7f,0xed)
  3210. #endif
  3211. #else
  3212. typedef struct ID3D11ClassLinkageVtbl {
  3213. BEGIN_INTERFACE
  3214. /*** IUnknown methods ***/
  3215. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3216. ID3D11ClassLinkage *This,
  3217. REFIID riid,
  3218. void **ppvObject);
  3219. ULONG (STDMETHODCALLTYPE *AddRef)(
  3220. ID3D11ClassLinkage *This);
  3221. ULONG (STDMETHODCALLTYPE *Release)(
  3222. ID3D11ClassLinkage *This);
  3223. /*** ID3D11DeviceChild methods ***/
  3224. void (STDMETHODCALLTYPE *GetDevice)(
  3225. ID3D11ClassLinkage *This,
  3226. ID3D11Device **ppDevice);
  3227. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3228. ID3D11ClassLinkage *This,
  3229. REFGUID guid,
  3230. UINT *pDataSize,
  3231. void *pData);
  3232. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3233. ID3D11ClassLinkage *This,
  3234. REFGUID guid,
  3235. UINT DataSize,
  3236. const void *pData);
  3237. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3238. ID3D11ClassLinkage *This,
  3239. REFGUID guid,
  3240. const IUnknown *pData);
  3241. /*** ID3D11ClassLinkage methods ***/
  3242. HRESULT (STDMETHODCALLTYPE *GetClassInstance)(
  3243. ID3D11ClassLinkage *This,
  3244. LPCSTR pClassInstanceName,
  3245. UINT InstanceIndex,
  3246. ID3D11ClassInstance **ppInstance);
  3247. HRESULT (STDMETHODCALLTYPE *CreateClassInstance)(
  3248. ID3D11ClassLinkage *This,
  3249. LPCSTR pClassTypeName,
  3250. UINT ConstantBufferOffset,
  3251. UINT ConstantVectorOffset,
  3252. UINT TextureOffset,
  3253. UINT SamplerOffset,
  3254. ID3D11ClassInstance **ppInstance);
  3255. END_INTERFACE
  3256. } ID3D11ClassLinkageVtbl;
  3257. interface ID3D11ClassLinkage {
  3258. CONST_VTBL ID3D11ClassLinkageVtbl* lpVtbl;
  3259. };
  3260. #ifdef COBJMACROS
  3261. #ifndef WIDL_C_INLINE_WRAPPERS
  3262. /*** IUnknown methods ***/
  3263. #define ID3D11ClassLinkage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3264. #define ID3D11ClassLinkage_AddRef(This) (This)->lpVtbl->AddRef(This)
  3265. #define ID3D11ClassLinkage_Release(This) (This)->lpVtbl->Release(This)
  3266. /*** ID3D11DeviceChild methods ***/
  3267. #define ID3D11ClassLinkage_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3268. #define ID3D11ClassLinkage_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3269. #define ID3D11ClassLinkage_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3270. #define ID3D11ClassLinkage_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3271. /*** ID3D11ClassLinkage methods ***/
  3272. #define ID3D11ClassLinkage_GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance) (This)->lpVtbl->GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance)
  3273. #define ID3D11ClassLinkage_CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance) (This)->lpVtbl->CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance)
  3274. #else
  3275. /*** IUnknown methods ***/
  3276. static FORCEINLINE HRESULT ID3D11ClassLinkage_QueryInterface(ID3D11ClassLinkage* This,REFIID riid,void **ppvObject) {
  3277. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3278. }
  3279. static FORCEINLINE ULONG ID3D11ClassLinkage_AddRef(ID3D11ClassLinkage* This) {
  3280. return This->lpVtbl->AddRef(This);
  3281. }
  3282. static FORCEINLINE ULONG ID3D11ClassLinkage_Release(ID3D11ClassLinkage* This) {
  3283. return This->lpVtbl->Release(This);
  3284. }
  3285. /*** ID3D11DeviceChild methods ***/
  3286. static FORCEINLINE void ID3D11ClassLinkage_GetDevice(ID3D11ClassLinkage* This,ID3D11Device **ppDevice) {
  3287. This->lpVtbl->GetDevice(This,ppDevice);
  3288. }
  3289. static FORCEINLINE HRESULT ID3D11ClassLinkage_GetPrivateData(ID3D11ClassLinkage* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3290. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3291. }
  3292. static FORCEINLINE HRESULT ID3D11ClassLinkage_SetPrivateData(ID3D11ClassLinkage* This,REFGUID guid,UINT DataSize,const void *pData) {
  3293. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3294. }
  3295. static FORCEINLINE HRESULT ID3D11ClassLinkage_SetPrivateDataInterface(ID3D11ClassLinkage* This,REFGUID guid,const IUnknown *pData) {
  3296. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3297. }
  3298. /*** ID3D11ClassLinkage methods ***/
  3299. static FORCEINLINE HRESULT ID3D11ClassLinkage_GetClassInstance(ID3D11ClassLinkage* This,LPCSTR pClassInstanceName,UINT InstanceIndex,ID3D11ClassInstance **ppInstance) {
  3300. return This->lpVtbl->GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance);
  3301. }
  3302. static FORCEINLINE HRESULT ID3D11ClassLinkage_CreateClassInstance(ID3D11ClassLinkage* This,LPCSTR pClassTypeName,UINT ConstantBufferOffset,UINT ConstantVectorOffset,UINT TextureOffset,UINT SamplerOffset,ID3D11ClassInstance **ppInstance) {
  3303. return This->lpVtbl->CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance);
  3304. }
  3305. #endif
  3306. #endif
  3307. #endif
  3308. #endif /* __ID3D11ClassLinkage_INTERFACE_DEFINED__ */
  3309. /*****************************************************************************
  3310. * ID3D11CommandList interface
  3311. */
  3312. #ifndef __ID3D11CommandList_INTERFACE_DEFINED__
  3313. #define __ID3D11CommandList_INTERFACE_DEFINED__
  3314. DEFINE_GUID(IID_ID3D11CommandList, 0xa24bc4d1, 0x769e, 0x43f7, 0x80,0x13, 0x98,0xff,0x56,0x6c,0x18,0xe2);
  3315. #if defined(__cplusplus) && !defined(CINTERFACE)
  3316. MIDL_INTERFACE("a24bc4d1-769e-43f7-8013-98ff566c18e2")
  3317. ID3D11CommandList : public ID3D11DeviceChild
  3318. {
  3319. virtual UINT STDMETHODCALLTYPE GetContextFlags(
  3320. ) = 0;
  3321. };
  3322. #ifdef __CRT_UUID_DECL
  3323. __CRT_UUID_DECL(ID3D11CommandList, 0xa24bc4d1, 0x769e, 0x43f7, 0x80,0x13, 0x98,0xff,0x56,0x6c,0x18,0xe2)
  3324. #endif
  3325. #else
  3326. typedef struct ID3D11CommandListVtbl {
  3327. BEGIN_INTERFACE
  3328. /*** IUnknown methods ***/
  3329. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3330. ID3D11CommandList *This,
  3331. REFIID riid,
  3332. void **ppvObject);
  3333. ULONG (STDMETHODCALLTYPE *AddRef)(
  3334. ID3D11CommandList *This);
  3335. ULONG (STDMETHODCALLTYPE *Release)(
  3336. ID3D11CommandList *This);
  3337. /*** ID3D11DeviceChild methods ***/
  3338. void (STDMETHODCALLTYPE *GetDevice)(
  3339. ID3D11CommandList *This,
  3340. ID3D11Device **ppDevice);
  3341. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3342. ID3D11CommandList *This,
  3343. REFGUID guid,
  3344. UINT *pDataSize,
  3345. void *pData);
  3346. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3347. ID3D11CommandList *This,
  3348. REFGUID guid,
  3349. UINT DataSize,
  3350. const void *pData);
  3351. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3352. ID3D11CommandList *This,
  3353. REFGUID guid,
  3354. const IUnknown *pData);
  3355. /*** ID3D11CommandList methods ***/
  3356. UINT (STDMETHODCALLTYPE *GetContextFlags)(
  3357. ID3D11CommandList *This);
  3358. END_INTERFACE
  3359. } ID3D11CommandListVtbl;
  3360. interface ID3D11CommandList {
  3361. CONST_VTBL ID3D11CommandListVtbl* lpVtbl;
  3362. };
  3363. #ifdef COBJMACROS
  3364. #ifndef WIDL_C_INLINE_WRAPPERS
  3365. /*** IUnknown methods ***/
  3366. #define ID3D11CommandList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3367. #define ID3D11CommandList_AddRef(This) (This)->lpVtbl->AddRef(This)
  3368. #define ID3D11CommandList_Release(This) (This)->lpVtbl->Release(This)
  3369. /*** ID3D11DeviceChild methods ***/
  3370. #define ID3D11CommandList_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3371. #define ID3D11CommandList_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3372. #define ID3D11CommandList_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3373. #define ID3D11CommandList_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3374. /*** ID3D11CommandList methods ***/
  3375. #define ID3D11CommandList_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
  3376. #else
  3377. /*** IUnknown methods ***/
  3378. static FORCEINLINE HRESULT ID3D11CommandList_QueryInterface(ID3D11CommandList* This,REFIID riid,void **ppvObject) {
  3379. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3380. }
  3381. static FORCEINLINE ULONG ID3D11CommandList_AddRef(ID3D11CommandList* This) {
  3382. return This->lpVtbl->AddRef(This);
  3383. }
  3384. static FORCEINLINE ULONG ID3D11CommandList_Release(ID3D11CommandList* This) {
  3385. return This->lpVtbl->Release(This);
  3386. }
  3387. /*** ID3D11DeviceChild methods ***/
  3388. static FORCEINLINE void ID3D11CommandList_GetDevice(ID3D11CommandList* This,ID3D11Device **ppDevice) {
  3389. This->lpVtbl->GetDevice(This,ppDevice);
  3390. }
  3391. static FORCEINLINE HRESULT ID3D11CommandList_GetPrivateData(ID3D11CommandList* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3392. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3393. }
  3394. static FORCEINLINE HRESULT ID3D11CommandList_SetPrivateData(ID3D11CommandList* This,REFGUID guid,UINT DataSize,const void *pData) {
  3395. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3396. }
  3397. static FORCEINLINE HRESULT ID3D11CommandList_SetPrivateDataInterface(ID3D11CommandList* This,REFGUID guid,const IUnknown *pData) {
  3398. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3399. }
  3400. /*** ID3D11CommandList methods ***/
  3401. static FORCEINLINE UINT ID3D11CommandList_GetContextFlags(ID3D11CommandList* This) {
  3402. return This->lpVtbl->GetContextFlags(This);
  3403. }
  3404. #endif
  3405. #endif
  3406. #endif
  3407. #endif /* __ID3D11CommandList_INTERFACE_DEFINED__ */
  3408. /*****************************************************************************
  3409. * ID3D11ComputeShader interface
  3410. */
  3411. #ifndef __ID3D11ComputeShader_INTERFACE_DEFINED__
  3412. #define __ID3D11ComputeShader_INTERFACE_DEFINED__
  3413. DEFINE_GUID(IID_ID3D11ComputeShader, 0x4f5b196e, 0xc2bd, 0x495e, 0xbd,0x01, 0x1f,0xde,0xd3,0x8e,0x49,0x69);
  3414. #if defined(__cplusplus) && !defined(CINTERFACE)
  3415. MIDL_INTERFACE("4f5b196e-c2bd-495e-bd01-1fded38e4969")
  3416. ID3D11ComputeShader : public ID3D11DeviceChild
  3417. {
  3418. };
  3419. #ifdef __CRT_UUID_DECL
  3420. __CRT_UUID_DECL(ID3D11ComputeShader, 0x4f5b196e, 0xc2bd, 0x495e, 0xbd,0x01, 0x1f,0xde,0xd3,0x8e,0x49,0x69)
  3421. #endif
  3422. #else
  3423. typedef struct ID3D11ComputeShaderVtbl {
  3424. BEGIN_INTERFACE
  3425. /*** IUnknown methods ***/
  3426. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3427. ID3D11ComputeShader *This,
  3428. REFIID riid,
  3429. void **ppvObject);
  3430. ULONG (STDMETHODCALLTYPE *AddRef)(
  3431. ID3D11ComputeShader *This);
  3432. ULONG (STDMETHODCALLTYPE *Release)(
  3433. ID3D11ComputeShader *This);
  3434. /*** ID3D11DeviceChild methods ***/
  3435. void (STDMETHODCALLTYPE *GetDevice)(
  3436. ID3D11ComputeShader *This,
  3437. ID3D11Device **ppDevice);
  3438. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3439. ID3D11ComputeShader *This,
  3440. REFGUID guid,
  3441. UINT *pDataSize,
  3442. void *pData);
  3443. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3444. ID3D11ComputeShader *This,
  3445. REFGUID guid,
  3446. UINT DataSize,
  3447. const void *pData);
  3448. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3449. ID3D11ComputeShader *This,
  3450. REFGUID guid,
  3451. const IUnknown *pData);
  3452. END_INTERFACE
  3453. } ID3D11ComputeShaderVtbl;
  3454. interface ID3D11ComputeShader {
  3455. CONST_VTBL ID3D11ComputeShaderVtbl* lpVtbl;
  3456. };
  3457. #ifdef COBJMACROS
  3458. #ifndef WIDL_C_INLINE_WRAPPERS
  3459. /*** IUnknown methods ***/
  3460. #define ID3D11ComputeShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3461. #define ID3D11ComputeShader_AddRef(This) (This)->lpVtbl->AddRef(This)
  3462. #define ID3D11ComputeShader_Release(This) (This)->lpVtbl->Release(This)
  3463. /*** ID3D11DeviceChild methods ***/
  3464. #define ID3D11ComputeShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3465. #define ID3D11ComputeShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3466. #define ID3D11ComputeShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3467. #define ID3D11ComputeShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3468. #else
  3469. /*** IUnknown methods ***/
  3470. static FORCEINLINE HRESULT ID3D11ComputeShader_QueryInterface(ID3D11ComputeShader* This,REFIID riid,void **ppvObject) {
  3471. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3472. }
  3473. static FORCEINLINE ULONG ID3D11ComputeShader_AddRef(ID3D11ComputeShader* This) {
  3474. return This->lpVtbl->AddRef(This);
  3475. }
  3476. static FORCEINLINE ULONG ID3D11ComputeShader_Release(ID3D11ComputeShader* This) {
  3477. return This->lpVtbl->Release(This);
  3478. }
  3479. /*** ID3D11DeviceChild methods ***/
  3480. static FORCEINLINE void ID3D11ComputeShader_GetDevice(ID3D11ComputeShader* This,ID3D11Device **ppDevice) {
  3481. This->lpVtbl->GetDevice(This,ppDevice);
  3482. }
  3483. static FORCEINLINE HRESULT ID3D11ComputeShader_GetPrivateData(ID3D11ComputeShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3484. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3485. }
  3486. static FORCEINLINE HRESULT ID3D11ComputeShader_SetPrivateData(ID3D11ComputeShader* This,REFGUID guid,UINT DataSize,const void *pData) {
  3487. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3488. }
  3489. static FORCEINLINE HRESULT ID3D11ComputeShader_SetPrivateDataInterface(ID3D11ComputeShader* This,REFGUID guid,const IUnknown *pData) {
  3490. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3491. }
  3492. #endif
  3493. #endif
  3494. #endif
  3495. #endif /* __ID3D11ComputeShader_INTERFACE_DEFINED__ */
  3496. /*****************************************************************************
  3497. * ID3D11Counter interface
  3498. */
  3499. #ifndef __ID3D11Counter_INTERFACE_DEFINED__
  3500. #define __ID3D11Counter_INTERFACE_DEFINED__
  3501. DEFINE_GUID(IID_ID3D11Counter, 0x6e8c49fb, 0xa371, 0x4770, 0xb4,0x40, 0x29,0x08,0x60,0x22,0xb7,0x41);
  3502. #if defined(__cplusplus) && !defined(CINTERFACE)
  3503. MIDL_INTERFACE("6e8c49fb-a371-4770-b440-29086022b741")
  3504. ID3D11Counter : public ID3D11Asynchronous
  3505. {
  3506. virtual void STDMETHODCALLTYPE GetDesc(
  3507. D3D11_COUNTER_DESC *pDesc) = 0;
  3508. };
  3509. #ifdef __CRT_UUID_DECL
  3510. __CRT_UUID_DECL(ID3D11Counter, 0x6e8c49fb, 0xa371, 0x4770, 0xb4,0x40, 0x29,0x08,0x60,0x22,0xb7,0x41)
  3511. #endif
  3512. #else
  3513. typedef struct ID3D11CounterVtbl {
  3514. BEGIN_INTERFACE
  3515. /*** IUnknown methods ***/
  3516. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3517. ID3D11Counter *This,
  3518. REFIID riid,
  3519. void **ppvObject);
  3520. ULONG (STDMETHODCALLTYPE *AddRef)(
  3521. ID3D11Counter *This);
  3522. ULONG (STDMETHODCALLTYPE *Release)(
  3523. ID3D11Counter *This);
  3524. /*** ID3D11DeviceChild methods ***/
  3525. void (STDMETHODCALLTYPE *GetDevice)(
  3526. ID3D11Counter *This,
  3527. ID3D11Device **ppDevice);
  3528. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3529. ID3D11Counter *This,
  3530. REFGUID guid,
  3531. UINT *pDataSize,
  3532. void *pData);
  3533. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3534. ID3D11Counter *This,
  3535. REFGUID guid,
  3536. UINT DataSize,
  3537. const void *pData);
  3538. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3539. ID3D11Counter *This,
  3540. REFGUID guid,
  3541. const IUnknown *pData);
  3542. /*** ID3D11Asynchronous methods ***/
  3543. UINT (STDMETHODCALLTYPE *GetDataSize)(
  3544. ID3D11Counter *This);
  3545. /*** ID3D11Counter methods ***/
  3546. void (STDMETHODCALLTYPE *GetDesc)(
  3547. ID3D11Counter *This,
  3548. D3D11_COUNTER_DESC *pDesc);
  3549. END_INTERFACE
  3550. } ID3D11CounterVtbl;
  3551. interface ID3D11Counter {
  3552. CONST_VTBL ID3D11CounterVtbl* lpVtbl;
  3553. };
  3554. #ifdef COBJMACROS
  3555. #ifndef WIDL_C_INLINE_WRAPPERS
  3556. /*** IUnknown methods ***/
  3557. #define ID3D11Counter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3558. #define ID3D11Counter_AddRef(This) (This)->lpVtbl->AddRef(This)
  3559. #define ID3D11Counter_Release(This) (This)->lpVtbl->Release(This)
  3560. /*** ID3D11DeviceChild methods ***/
  3561. #define ID3D11Counter_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3562. #define ID3D11Counter_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3563. #define ID3D11Counter_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3564. #define ID3D11Counter_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3565. /*** ID3D11Asynchronous methods ***/
  3566. #define ID3D11Counter_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
  3567. /*** ID3D11Counter methods ***/
  3568. #define ID3D11Counter_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  3569. #else
  3570. /*** IUnknown methods ***/
  3571. static FORCEINLINE HRESULT ID3D11Counter_QueryInterface(ID3D11Counter* This,REFIID riid,void **ppvObject) {
  3572. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3573. }
  3574. static FORCEINLINE ULONG ID3D11Counter_AddRef(ID3D11Counter* This) {
  3575. return This->lpVtbl->AddRef(This);
  3576. }
  3577. static FORCEINLINE ULONG ID3D11Counter_Release(ID3D11Counter* This) {
  3578. return This->lpVtbl->Release(This);
  3579. }
  3580. /*** ID3D11DeviceChild methods ***/
  3581. static FORCEINLINE void ID3D11Counter_GetDevice(ID3D11Counter* This,ID3D11Device **ppDevice) {
  3582. This->lpVtbl->GetDevice(This,ppDevice);
  3583. }
  3584. static FORCEINLINE HRESULT ID3D11Counter_GetPrivateData(ID3D11Counter* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3585. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3586. }
  3587. static FORCEINLINE HRESULT ID3D11Counter_SetPrivateData(ID3D11Counter* This,REFGUID guid,UINT DataSize,const void *pData) {
  3588. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3589. }
  3590. static FORCEINLINE HRESULT ID3D11Counter_SetPrivateDataInterface(ID3D11Counter* This,REFGUID guid,const IUnknown *pData) {
  3591. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3592. }
  3593. /*** ID3D11Asynchronous methods ***/
  3594. static FORCEINLINE UINT ID3D11Counter_GetDataSize(ID3D11Counter* This) {
  3595. return This->lpVtbl->GetDataSize(This);
  3596. }
  3597. /*** ID3D11Counter methods ***/
  3598. static FORCEINLINE void ID3D11Counter_GetDesc(ID3D11Counter* This,D3D11_COUNTER_DESC *pDesc) {
  3599. This->lpVtbl->GetDesc(This,pDesc);
  3600. }
  3601. #endif
  3602. #endif
  3603. #endif
  3604. #endif /* __ID3D11Counter_INTERFACE_DEFINED__ */
  3605. /*****************************************************************************
  3606. * ID3D11DepthStencilState interface
  3607. */
  3608. #ifndef __ID3D11DepthStencilState_INTERFACE_DEFINED__
  3609. #define __ID3D11DepthStencilState_INTERFACE_DEFINED__
  3610. DEFINE_GUID(IID_ID3D11DepthStencilState, 0x03823efb, 0x8d8f, 0x4e1c, 0x9a,0xa2, 0xf6,0x4b,0xb2,0xcb,0xfd,0xf1);
  3611. #if defined(__cplusplus) && !defined(CINTERFACE)
  3612. MIDL_INTERFACE("03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1")
  3613. ID3D11DepthStencilState : public ID3D11DeviceChild
  3614. {
  3615. virtual void STDMETHODCALLTYPE GetDesc(
  3616. D3D11_DEPTH_STENCIL_DESC *pDesc) = 0;
  3617. };
  3618. #ifdef __CRT_UUID_DECL
  3619. __CRT_UUID_DECL(ID3D11DepthStencilState, 0x03823efb, 0x8d8f, 0x4e1c, 0x9a,0xa2, 0xf6,0x4b,0xb2,0xcb,0xfd,0xf1)
  3620. #endif
  3621. #else
  3622. typedef struct ID3D11DepthStencilStateVtbl {
  3623. BEGIN_INTERFACE
  3624. /*** IUnknown methods ***/
  3625. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3626. ID3D11DepthStencilState *This,
  3627. REFIID riid,
  3628. void **ppvObject);
  3629. ULONG (STDMETHODCALLTYPE *AddRef)(
  3630. ID3D11DepthStencilState *This);
  3631. ULONG (STDMETHODCALLTYPE *Release)(
  3632. ID3D11DepthStencilState *This);
  3633. /*** ID3D11DeviceChild methods ***/
  3634. void (STDMETHODCALLTYPE *GetDevice)(
  3635. ID3D11DepthStencilState *This,
  3636. ID3D11Device **ppDevice);
  3637. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3638. ID3D11DepthStencilState *This,
  3639. REFGUID guid,
  3640. UINT *pDataSize,
  3641. void *pData);
  3642. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3643. ID3D11DepthStencilState *This,
  3644. REFGUID guid,
  3645. UINT DataSize,
  3646. const void *pData);
  3647. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3648. ID3D11DepthStencilState *This,
  3649. REFGUID guid,
  3650. const IUnknown *pData);
  3651. /*** ID3D11DepthStencilState methods ***/
  3652. void (STDMETHODCALLTYPE *GetDesc)(
  3653. ID3D11DepthStencilState *This,
  3654. D3D11_DEPTH_STENCIL_DESC *pDesc);
  3655. END_INTERFACE
  3656. } ID3D11DepthStencilStateVtbl;
  3657. interface ID3D11DepthStencilState {
  3658. CONST_VTBL ID3D11DepthStencilStateVtbl* lpVtbl;
  3659. };
  3660. #ifdef COBJMACROS
  3661. #ifndef WIDL_C_INLINE_WRAPPERS
  3662. /*** IUnknown methods ***/
  3663. #define ID3D11DepthStencilState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3664. #define ID3D11DepthStencilState_AddRef(This) (This)->lpVtbl->AddRef(This)
  3665. #define ID3D11DepthStencilState_Release(This) (This)->lpVtbl->Release(This)
  3666. /*** ID3D11DeviceChild methods ***/
  3667. #define ID3D11DepthStencilState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3668. #define ID3D11DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3669. #define ID3D11DepthStencilState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3670. #define ID3D11DepthStencilState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3671. /*** ID3D11DepthStencilState methods ***/
  3672. #define ID3D11DepthStencilState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  3673. #else
  3674. /*** IUnknown methods ***/
  3675. static FORCEINLINE HRESULT ID3D11DepthStencilState_QueryInterface(ID3D11DepthStencilState* This,REFIID riid,void **ppvObject) {
  3676. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3677. }
  3678. static FORCEINLINE ULONG ID3D11DepthStencilState_AddRef(ID3D11DepthStencilState* This) {
  3679. return This->lpVtbl->AddRef(This);
  3680. }
  3681. static FORCEINLINE ULONG ID3D11DepthStencilState_Release(ID3D11DepthStencilState* This) {
  3682. return This->lpVtbl->Release(This);
  3683. }
  3684. /*** ID3D11DeviceChild methods ***/
  3685. static FORCEINLINE void ID3D11DepthStencilState_GetDevice(ID3D11DepthStencilState* This,ID3D11Device **ppDevice) {
  3686. This->lpVtbl->GetDevice(This,ppDevice);
  3687. }
  3688. static FORCEINLINE HRESULT ID3D11DepthStencilState_GetPrivateData(ID3D11DepthStencilState* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3689. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3690. }
  3691. static FORCEINLINE HRESULT ID3D11DepthStencilState_SetPrivateData(ID3D11DepthStencilState* This,REFGUID guid,UINT DataSize,const void *pData) {
  3692. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3693. }
  3694. static FORCEINLINE HRESULT ID3D11DepthStencilState_SetPrivateDataInterface(ID3D11DepthStencilState* This,REFGUID guid,const IUnknown *pData) {
  3695. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3696. }
  3697. /*** ID3D11DepthStencilState methods ***/
  3698. static FORCEINLINE void ID3D11DepthStencilState_GetDesc(ID3D11DepthStencilState* This,D3D11_DEPTH_STENCIL_DESC *pDesc) {
  3699. This->lpVtbl->GetDesc(This,pDesc);
  3700. }
  3701. #endif
  3702. #endif
  3703. #endif
  3704. #endif /* __ID3D11DepthStencilState_INTERFACE_DEFINED__ */
  3705. /*****************************************************************************
  3706. * ID3D11DepthStencilView interface
  3707. */
  3708. #ifndef __ID3D11DepthStencilView_INTERFACE_DEFINED__
  3709. #define __ID3D11DepthStencilView_INTERFACE_DEFINED__
  3710. DEFINE_GUID(IID_ID3D11DepthStencilView, 0x9fdac92a, 0x1876, 0x48c3, 0xaf,0xad, 0x25,0xb9,0x4f,0x84,0xa9,0xb6);
  3711. #if defined(__cplusplus) && !defined(CINTERFACE)
  3712. MIDL_INTERFACE("9fdac92a-1876-48c3-afad-25b94f84a9b6")
  3713. ID3D11DepthStencilView : public ID3D11View
  3714. {
  3715. virtual void STDMETHODCALLTYPE GetDesc(
  3716. D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
  3717. };
  3718. #ifdef __CRT_UUID_DECL
  3719. __CRT_UUID_DECL(ID3D11DepthStencilView, 0x9fdac92a, 0x1876, 0x48c3, 0xaf,0xad, 0x25,0xb9,0x4f,0x84,0xa9,0xb6)
  3720. #endif
  3721. #else
  3722. typedef struct ID3D11DepthStencilViewVtbl {
  3723. BEGIN_INTERFACE
  3724. /*** IUnknown methods ***/
  3725. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3726. ID3D11DepthStencilView *This,
  3727. REFIID riid,
  3728. void **ppvObject);
  3729. ULONG (STDMETHODCALLTYPE *AddRef)(
  3730. ID3D11DepthStencilView *This);
  3731. ULONG (STDMETHODCALLTYPE *Release)(
  3732. ID3D11DepthStencilView *This);
  3733. /*** ID3D11DeviceChild methods ***/
  3734. void (STDMETHODCALLTYPE *GetDevice)(
  3735. ID3D11DepthStencilView *This,
  3736. ID3D11Device **ppDevice);
  3737. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3738. ID3D11DepthStencilView *This,
  3739. REFGUID guid,
  3740. UINT *pDataSize,
  3741. void *pData);
  3742. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3743. ID3D11DepthStencilView *This,
  3744. REFGUID guid,
  3745. UINT DataSize,
  3746. const void *pData);
  3747. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3748. ID3D11DepthStencilView *This,
  3749. REFGUID guid,
  3750. const IUnknown *pData);
  3751. /*** ID3D11View methods ***/
  3752. void (STDMETHODCALLTYPE *GetResource)(
  3753. ID3D11DepthStencilView *This,
  3754. ID3D11Resource **ppResource);
  3755. /*** ID3D11DepthStencilView methods ***/
  3756. void (STDMETHODCALLTYPE *GetDesc)(
  3757. ID3D11DepthStencilView *This,
  3758. D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
  3759. END_INTERFACE
  3760. } ID3D11DepthStencilViewVtbl;
  3761. interface ID3D11DepthStencilView {
  3762. CONST_VTBL ID3D11DepthStencilViewVtbl* lpVtbl;
  3763. };
  3764. #ifdef COBJMACROS
  3765. #ifndef WIDL_C_INLINE_WRAPPERS
  3766. /*** IUnknown methods ***/
  3767. #define ID3D11DepthStencilView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3768. #define ID3D11DepthStencilView_AddRef(This) (This)->lpVtbl->AddRef(This)
  3769. #define ID3D11DepthStencilView_Release(This) (This)->lpVtbl->Release(This)
  3770. /*** ID3D11DeviceChild methods ***/
  3771. #define ID3D11DepthStencilView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3772. #define ID3D11DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3773. #define ID3D11DepthStencilView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3774. #define ID3D11DepthStencilView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3775. /*** ID3D11View methods ***/
  3776. #define ID3D11DepthStencilView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  3777. /*** ID3D11DepthStencilView methods ***/
  3778. #define ID3D11DepthStencilView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  3779. #else
  3780. /*** IUnknown methods ***/
  3781. static FORCEINLINE HRESULT ID3D11DepthStencilView_QueryInterface(ID3D11DepthStencilView* This,REFIID riid,void **ppvObject) {
  3782. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3783. }
  3784. static FORCEINLINE ULONG ID3D11DepthStencilView_AddRef(ID3D11DepthStencilView* This) {
  3785. return This->lpVtbl->AddRef(This);
  3786. }
  3787. static FORCEINLINE ULONG ID3D11DepthStencilView_Release(ID3D11DepthStencilView* This) {
  3788. return This->lpVtbl->Release(This);
  3789. }
  3790. /*** ID3D11DeviceChild methods ***/
  3791. static FORCEINLINE void ID3D11DepthStencilView_GetDevice(ID3D11DepthStencilView* This,ID3D11Device **ppDevice) {
  3792. This->lpVtbl->GetDevice(This,ppDevice);
  3793. }
  3794. static FORCEINLINE HRESULT ID3D11DepthStencilView_GetPrivateData(ID3D11DepthStencilView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3795. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3796. }
  3797. static FORCEINLINE HRESULT ID3D11DepthStencilView_SetPrivateData(ID3D11DepthStencilView* This,REFGUID guid,UINT DataSize,const void *pData) {
  3798. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3799. }
  3800. static FORCEINLINE HRESULT ID3D11DepthStencilView_SetPrivateDataInterface(ID3D11DepthStencilView* This,REFGUID guid,const IUnknown *pData) {
  3801. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3802. }
  3803. /*** ID3D11View methods ***/
  3804. static FORCEINLINE void ID3D11DepthStencilView_GetResource(ID3D11DepthStencilView* This,ID3D11Resource **ppResource) {
  3805. This->lpVtbl->GetResource(This,ppResource);
  3806. }
  3807. /*** ID3D11DepthStencilView methods ***/
  3808. static FORCEINLINE void ID3D11DepthStencilView_GetDesc(ID3D11DepthStencilView* This,D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) {
  3809. This->lpVtbl->GetDesc(This,pDesc);
  3810. }
  3811. #endif
  3812. #endif
  3813. #endif
  3814. #endif /* __ID3D11DepthStencilView_INTERFACE_DEFINED__ */
  3815. /*****************************************************************************
  3816. * ID3D11DomainShader interface
  3817. */
  3818. #ifndef __ID3D11DomainShader_INTERFACE_DEFINED__
  3819. #define __ID3D11DomainShader_INTERFACE_DEFINED__
  3820. DEFINE_GUID(IID_ID3D11DomainShader, 0xf582c508, 0x0f36, 0x490c, 0x99,0x77, 0x31,0xee,0xce,0x26,0x8c,0xfa);
  3821. #if defined(__cplusplus) && !defined(CINTERFACE)
  3822. MIDL_INTERFACE("f582c508-0f36-490c-9977-31eece268cfa")
  3823. ID3D11DomainShader : public ID3D11DeviceChild
  3824. {
  3825. };
  3826. #ifdef __CRT_UUID_DECL
  3827. __CRT_UUID_DECL(ID3D11DomainShader, 0xf582c508, 0x0f36, 0x490c, 0x99,0x77, 0x31,0xee,0xce,0x26,0x8c,0xfa)
  3828. #endif
  3829. #else
  3830. typedef struct ID3D11DomainShaderVtbl {
  3831. BEGIN_INTERFACE
  3832. /*** IUnknown methods ***/
  3833. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3834. ID3D11DomainShader *This,
  3835. REFIID riid,
  3836. void **ppvObject);
  3837. ULONG (STDMETHODCALLTYPE *AddRef)(
  3838. ID3D11DomainShader *This);
  3839. ULONG (STDMETHODCALLTYPE *Release)(
  3840. ID3D11DomainShader *This);
  3841. /*** ID3D11DeviceChild methods ***/
  3842. void (STDMETHODCALLTYPE *GetDevice)(
  3843. ID3D11DomainShader *This,
  3844. ID3D11Device **ppDevice);
  3845. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3846. ID3D11DomainShader *This,
  3847. REFGUID guid,
  3848. UINT *pDataSize,
  3849. void *pData);
  3850. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3851. ID3D11DomainShader *This,
  3852. REFGUID guid,
  3853. UINT DataSize,
  3854. const void *pData);
  3855. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3856. ID3D11DomainShader *This,
  3857. REFGUID guid,
  3858. const IUnknown *pData);
  3859. END_INTERFACE
  3860. } ID3D11DomainShaderVtbl;
  3861. interface ID3D11DomainShader {
  3862. CONST_VTBL ID3D11DomainShaderVtbl* lpVtbl;
  3863. };
  3864. #ifdef COBJMACROS
  3865. #ifndef WIDL_C_INLINE_WRAPPERS
  3866. /*** IUnknown methods ***/
  3867. #define ID3D11DomainShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3868. #define ID3D11DomainShader_AddRef(This) (This)->lpVtbl->AddRef(This)
  3869. #define ID3D11DomainShader_Release(This) (This)->lpVtbl->Release(This)
  3870. /*** ID3D11DeviceChild methods ***/
  3871. #define ID3D11DomainShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3872. #define ID3D11DomainShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3873. #define ID3D11DomainShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3874. #define ID3D11DomainShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3875. #else
  3876. /*** IUnknown methods ***/
  3877. static FORCEINLINE HRESULT ID3D11DomainShader_QueryInterface(ID3D11DomainShader* This,REFIID riid,void **ppvObject) {
  3878. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3879. }
  3880. static FORCEINLINE ULONG ID3D11DomainShader_AddRef(ID3D11DomainShader* This) {
  3881. return This->lpVtbl->AddRef(This);
  3882. }
  3883. static FORCEINLINE ULONG ID3D11DomainShader_Release(ID3D11DomainShader* This) {
  3884. return This->lpVtbl->Release(This);
  3885. }
  3886. /*** ID3D11DeviceChild methods ***/
  3887. static FORCEINLINE void ID3D11DomainShader_GetDevice(ID3D11DomainShader* This,ID3D11Device **ppDevice) {
  3888. This->lpVtbl->GetDevice(This,ppDevice);
  3889. }
  3890. static FORCEINLINE HRESULT ID3D11DomainShader_GetPrivateData(ID3D11DomainShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3891. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3892. }
  3893. static FORCEINLINE HRESULT ID3D11DomainShader_SetPrivateData(ID3D11DomainShader* This,REFGUID guid,UINT DataSize,const void *pData) {
  3894. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3895. }
  3896. static FORCEINLINE HRESULT ID3D11DomainShader_SetPrivateDataInterface(ID3D11DomainShader* This,REFGUID guid,const IUnknown *pData) {
  3897. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3898. }
  3899. #endif
  3900. #endif
  3901. #endif
  3902. #endif /* __ID3D11DomainShader_INTERFACE_DEFINED__ */
  3903. /*****************************************************************************
  3904. * ID3D11GeometryShader interface
  3905. */
  3906. #ifndef __ID3D11GeometryShader_INTERFACE_DEFINED__
  3907. #define __ID3D11GeometryShader_INTERFACE_DEFINED__
  3908. DEFINE_GUID(IID_ID3D11GeometryShader, 0x38325b96, 0xeffb, 0x4022, 0xba,0x02, 0x2e,0x79,0x5b,0x70,0x27,0x5c);
  3909. #if defined(__cplusplus) && !defined(CINTERFACE)
  3910. MIDL_INTERFACE("38325b96-effb-4022-ba02-2e795b70275c")
  3911. ID3D11GeometryShader : public ID3D11DeviceChild
  3912. {
  3913. };
  3914. #ifdef __CRT_UUID_DECL
  3915. __CRT_UUID_DECL(ID3D11GeometryShader, 0x38325b96, 0xeffb, 0x4022, 0xba,0x02, 0x2e,0x79,0x5b,0x70,0x27,0x5c)
  3916. #endif
  3917. #else
  3918. typedef struct ID3D11GeometryShaderVtbl {
  3919. BEGIN_INTERFACE
  3920. /*** IUnknown methods ***/
  3921. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3922. ID3D11GeometryShader *This,
  3923. REFIID riid,
  3924. void **ppvObject);
  3925. ULONG (STDMETHODCALLTYPE *AddRef)(
  3926. ID3D11GeometryShader *This);
  3927. ULONG (STDMETHODCALLTYPE *Release)(
  3928. ID3D11GeometryShader *This);
  3929. /*** ID3D11DeviceChild methods ***/
  3930. void (STDMETHODCALLTYPE *GetDevice)(
  3931. ID3D11GeometryShader *This,
  3932. ID3D11Device **ppDevice);
  3933. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  3934. ID3D11GeometryShader *This,
  3935. REFGUID guid,
  3936. UINT *pDataSize,
  3937. void *pData);
  3938. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  3939. ID3D11GeometryShader *This,
  3940. REFGUID guid,
  3941. UINT DataSize,
  3942. const void *pData);
  3943. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  3944. ID3D11GeometryShader *This,
  3945. REFGUID guid,
  3946. const IUnknown *pData);
  3947. END_INTERFACE
  3948. } ID3D11GeometryShaderVtbl;
  3949. interface ID3D11GeometryShader {
  3950. CONST_VTBL ID3D11GeometryShaderVtbl* lpVtbl;
  3951. };
  3952. #ifdef COBJMACROS
  3953. #ifndef WIDL_C_INLINE_WRAPPERS
  3954. /*** IUnknown methods ***/
  3955. #define ID3D11GeometryShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3956. #define ID3D11GeometryShader_AddRef(This) (This)->lpVtbl->AddRef(This)
  3957. #define ID3D11GeometryShader_Release(This) (This)->lpVtbl->Release(This)
  3958. /*** ID3D11DeviceChild methods ***/
  3959. #define ID3D11GeometryShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  3960. #define ID3D11GeometryShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  3961. #define ID3D11GeometryShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  3962. #define ID3D11GeometryShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  3963. #else
  3964. /*** IUnknown methods ***/
  3965. static FORCEINLINE HRESULT ID3D11GeometryShader_QueryInterface(ID3D11GeometryShader* This,REFIID riid,void **ppvObject) {
  3966. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3967. }
  3968. static FORCEINLINE ULONG ID3D11GeometryShader_AddRef(ID3D11GeometryShader* This) {
  3969. return This->lpVtbl->AddRef(This);
  3970. }
  3971. static FORCEINLINE ULONG ID3D11GeometryShader_Release(ID3D11GeometryShader* This) {
  3972. return This->lpVtbl->Release(This);
  3973. }
  3974. /*** ID3D11DeviceChild methods ***/
  3975. static FORCEINLINE void ID3D11GeometryShader_GetDevice(ID3D11GeometryShader* This,ID3D11Device **ppDevice) {
  3976. This->lpVtbl->GetDevice(This,ppDevice);
  3977. }
  3978. static FORCEINLINE HRESULT ID3D11GeometryShader_GetPrivateData(ID3D11GeometryShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
  3979. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  3980. }
  3981. static FORCEINLINE HRESULT ID3D11GeometryShader_SetPrivateData(ID3D11GeometryShader* This,REFGUID guid,UINT DataSize,const void *pData) {
  3982. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  3983. }
  3984. static FORCEINLINE HRESULT ID3D11GeometryShader_SetPrivateDataInterface(ID3D11GeometryShader* This,REFGUID guid,const IUnknown *pData) {
  3985. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  3986. }
  3987. #endif
  3988. #endif
  3989. #endif
  3990. #endif /* __ID3D11GeometryShader_INTERFACE_DEFINED__ */
  3991. /*****************************************************************************
  3992. * ID3D11HullShader interface
  3993. */
  3994. #ifndef __ID3D11HullShader_INTERFACE_DEFINED__
  3995. #define __ID3D11HullShader_INTERFACE_DEFINED__
  3996. DEFINE_GUID(IID_ID3D11HullShader, 0x8e5c6061, 0x628a, 0x4c8e, 0x82,0x64, 0xbb,0xe4,0x5c,0xb3,0xd5,0xdd);
  3997. #if defined(__cplusplus) && !defined(CINTERFACE)
  3998. MIDL_INTERFACE("8e5c6061-628a-4c8e-8264-bbe45cb3d5dd")
  3999. ID3D11HullShader : public ID3D11DeviceChild
  4000. {
  4001. };
  4002. #ifdef __CRT_UUID_DECL
  4003. __CRT_UUID_DECL(ID3D11HullShader, 0x8e5c6061, 0x628a, 0x4c8e, 0x82,0x64, 0xbb,0xe4,0x5c,0xb3,0xd5,0xdd)
  4004. #endif
  4005. #else
  4006. typedef struct ID3D11HullShaderVtbl {
  4007. BEGIN_INTERFACE
  4008. /*** IUnknown methods ***/
  4009. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4010. ID3D11HullShader *This,
  4011. REFIID riid,
  4012. void **ppvObject);
  4013. ULONG (STDMETHODCALLTYPE *AddRef)(
  4014. ID3D11HullShader *This);
  4015. ULONG (STDMETHODCALLTYPE *Release)(
  4016. ID3D11HullShader *This);
  4017. /*** ID3D11DeviceChild methods ***/
  4018. void (STDMETHODCALLTYPE *GetDevice)(
  4019. ID3D11HullShader *This,
  4020. ID3D11Device **ppDevice);
  4021. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4022. ID3D11HullShader *This,
  4023. REFGUID guid,
  4024. UINT *pDataSize,
  4025. void *pData);
  4026. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4027. ID3D11HullShader *This,
  4028. REFGUID guid,
  4029. UINT DataSize,
  4030. const void *pData);
  4031. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4032. ID3D11HullShader *This,
  4033. REFGUID guid,
  4034. const IUnknown *pData);
  4035. END_INTERFACE
  4036. } ID3D11HullShaderVtbl;
  4037. interface ID3D11HullShader {
  4038. CONST_VTBL ID3D11HullShaderVtbl* lpVtbl;
  4039. };
  4040. #ifdef COBJMACROS
  4041. #ifndef WIDL_C_INLINE_WRAPPERS
  4042. /*** IUnknown methods ***/
  4043. #define ID3D11HullShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4044. #define ID3D11HullShader_AddRef(This) (This)->lpVtbl->AddRef(This)
  4045. #define ID3D11HullShader_Release(This) (This)->lpVtbl->Release(This)
  4046. /*** ID3D11DeviceChild methods ***/
  4047. #define ID3D11HullShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4048. #define ID3D11HullShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4049. #define ID3D11HullShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4050. #define ID3D11HullShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4051. #else
  4052. /*** IUnknown methods ***/
  4053. static FORCEINLINE HRESULT ID3D11HullShader_QueryInterface(ID3D11HullShader* This,REFIID riid,void **ppvObject) {
  4054. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4055. }
  4056. static FORCEINLINE ULONG ID3D11HullShader_AddRef(ID3D11HullShader* This) {
  4057. return This->lpVtbl->AddRef(This);
  4058. }
  4059. static FORCEINLINE ULONG ID3D11HullShader_Release(ID3D11HullShader* This) {
  4060. return This->lpVtbl->Release(This);
  4061. }
  4062. /*** ID3D11DeviceChild methods ***/
  4063. static FORCEINLINE void ID3D11HullShader_GetDevice(ID3D11HullShader* This,ID3D11Device **ppDevice) {
  4064. This->lpVtbl->GetDevice(This,ppDevice);
  4065. }
  4066. static FORCEINLINE HRESULT ID3D11HullShader_GetPrivateData(ID3D11HullShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4067. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4068. }
  4069. static FORCEINLINE HRESULT ID3D11HullShader_SetPrivateData(ID3D11HullShader* This,REFGUID guid,UINT DataSize,const void *pData) {
  4070. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4071. }
  4072. static FORCEINLINE HRESULT ID3D11HullShader_SetPrivateDataInterface(ID3D11HullShader* This,REFGUID guid,const IUnknown *pData) {
  4073. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4074. }
  4075. #endif
  4076. #endif
  4077. #endif
  4078. #endif /* __ID3D11HullShader_INTERFACE_DEFINED__ */
  4079. /*****************************************************************************
  4080. * ID3D11InputLayout interface
  4081. */
  4082. #ifndef __ID3D11InputLayout_INTERFACE_DEFINED__
  4083. #define __ID3D11InputLayout_INTERFACE_DEFINED__
  4084. DEFINE_GUID(IID_ID3D11InputLayout, 0xe4819ddc, 0x4cf0, 0x4025, 0xbd,0x26, 0x5d,0xe8,0x2a,0x3e,0x07,0xb7);
  4085. #if defined(__cplusplus) && !defined(CINTERFACE)
  4086. MIDL_INTERFACE("e4819ddc-4cf0-4025-bd26-5de82a3e07b7")
  4087. ID3D11InputLayout : public ID3D11DeviceChild
  4088. {
  4089. };
  4090. #ifdef __CRT_UUID_DECL
  4091. __CRT_UUID_DECL(ID3D11InputLayout, 0xe4819ddc, 0x4cf0, 0x4025, 0xbd,0x26, 0x5d,0xe8,0x2a,0x3e,0x07,0xb7)
  4092. #endif
  4093. #else
  4094. typedef struct ID3D11InputLayoutVtbl {
  4095. BEGIN_INTERFACE
  4096. /*** IUnknown methods ***/
  4097. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4098. ID3D11InputLayout *This,
  4099. REFIID riid,
  4100. void **ppvObject);
  4101. ULONG (STDMETHODCALLTYPE *AddRef)(
  4102. ID3D11InputLayout *This);
  4103. ULONG (STDMETHODCALLTYPE *Release)(
  4104. ID3D11InputLayout *This);
  4105. /*** ID3D11DeviceChild methods ***/
  4106. void (STDMETHODCALLTYPE *GetDevice)(
  4107. ID3D11InputLayout *This,
  4108. ID3D11Device **ppDevice);
  4109. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4110. ID3D11InputLayout *This,
  4111. REFGUID guid,
  4112. UINT *pDataSize,
  4113. void *pData);
  4114. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4115. ID3D11InputLayout *This,
  4116. REFGUID guid,
  4117. UINT DataSize,
  4118. const void *pData);
  4119. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4120. ID3D11InputLayout *This,
  4121. REFGUID guid,
  4122. const IUnknown *pData);
  4123. END_INTERFACE
  4124. } ID3D11InputLayoutVtbl;
  4125. interface ID3D11InputLayout {
  4126. CONST_VTBL ID3D11InputLayoutVtbl* lpVtbl;
  4127. };
  4128. #ifdef COBJMACROS
  4129. #ifndef WIDL_C_INLINE_WRAPPERS
  4130. /*** IUnknown methods ***/
  4131. #define ID3D11InputLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4132. #define ID3D11InputLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
  4133. #define ID3D11InputLayout_Release(This) (This)->lpVtbl->Release(This)
  4134. /*** ID3D11DeviceChild methods ***/
  4135. #define ID3D11InputLayout_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4136. #define ID3D11InputLayout_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4137. #define ID3D11InputLayout_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4138. #define ID3D11InputLayout_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4139. #else
  4140. /*** IUnknown methods ***/
  4141. static FORCEINLINE HRESULT ID3D11InputLayout_QueryInterface(ID3D11InputLayout* This,REFIID riid,void **ppvObject) {
  4142. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4143. }
  4144. static FORCEINLINE ULONG ID3D11InputLayout_AddRef(ID3D11InputLayout* This) {
  4145. return This->lpVtbl->AddRef(This);
  4146. }
  4147. static FORCEINLINE ULONG ID3D11InputLayout_Release(ID3D11InputLayout* This) {
  4148. return This->lpVtbl->Release(This);
  4149. }
  4150. /*** ID3D11DeviceChild methods ***/
  4151. static FORCEINLINE void ID3D11InputLayout_GetDevice(ID3D11InputLayout* This,ID3D11Device **ppDevice) {
  4152. This->lpVtbl->GetDevice(This,ppDevice);
  4153. }
  4154. static FORCEINLINE HRESULT ID3D11InputLayout_GetPrivateData(ID3D11InputLayout* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4155. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4156. }
  4157. static FORCEINLINE HRESULT ID3D11InputLayout_SetPrivateData(ID3D11InputLayout* This,REFGUID guid,UINT DataSize,const void *pData) {
  4158. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4159. }
  4160. static FORCEINLINE HRESULT ID3D11InputLayout_SetPrivateDataInterface(ID3D11InputLayout* This,REFGUID guid,const IUnknown *pData) {
  4161. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4162. }
  4163. #endif
  4164. #endif
  4165. #endif
  4166. #endif /* __ID3D11InputLayout_INTERFACE_DEFINED__ */
  4167. /*****************************************************************************
  4168. * ID3D11PixelShader interface
  4169. */
  4170. #ifndef __ID3D11PixelShader_INTERFACE_DEFINED__
  4171. #define __ID3D11PixelShader_INTERFACE_DEFINED__
  4172. DEFINE_GUID(IID_ID3D11PixelShader, 0xea82e40d, 0x51dc, 0x4f33, 0x93,0xd4, 0xdb,0x7c,0x91,0x25,0xae,0x8c);
  4173. #if defined(__cplusplus) && !defined(CINTERFACE)
  4174. MIDL_INTERFACE("ea82e40d-51dc-4f33-93d4-db7c9125ae8c")
  4175. ID3D11PixelShader : public ID3D11DeviceChild
  4176. {
  4177. };
  4178. #ifdef __CRT_UUID_DECL
  4179. __CRT_UUID_DECL(ID3D11PixelShader, 0xea82e40d, 0x51dc, 0x4f33, 0x93,0xd4, 0xdb,0x7c,0x91,0x25,0xae,0x8c)
  4180. #endif
  4181. #else
  4182. typedef struct ID3D11PixelShaderVtbl {
  4183. BEGIN_INTERFACE
  4184. /*** IUnknown methods ***/
  4185. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4186. ID3D11PixelShader *This,
  4187. REFIID riid,
  4188. void **ppvObject);
  4189. ULONG (STDMETHODCALLTYPE *AddRef)(
  4190. ID3D11PixelShader *This);
  4191. ULONG (STDMETHODCALLTYPE *Release)(
  4192. ID3D11PixelShader *This);
  4193. /*** ID3D11DeviceChild methods ***/
  4194. void (STDMETHODCALLTYPE *GetDevice)(
  4195. ID3D11PixelShader *This,
  4196. ID3D11Device **ppDevice);
  4197. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4198. ID3D11PixelShader *This,
  4199. REFGUID guid,
  4200. UINT *pDataSize,
  4201. void *pData);
  4202. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4203. ID3D11PixelShader *This,
  4204. REFGUID guid,
  4205. UINT DataSize,
  4206. const void *pData);
  4207. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4208. ID3D11PixelShader *This,
  4209. REFGUID guid,
  4210. const IUnknown *pData);
  4211. END_INTERFACE
  4212. } ID3D11PixelShaderVtbl;
  4213. interface ID3D11PixelShader {
  4214. CONST_VTBL ID3D11PixelShaderVtbl* lpVtbl;
  4215. };
  4216. #ifdef COBJMACROS
  4217. #ifndef WIDL_C_INLINE_WRAPPERS
  4218. /*** IUnknown methods ***/
  4219. #define ID3D11PixelShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4220. #define ID3D11PixelShader_AddRef(This) (This)->lpVtbl->AddRef(This)
  4221. #define ID3D11PixelShader_Release(This) (This)->lpVtbl->Release(This)
  4222. /*** ID3D11DeviceChild methods ***/
  4223. #define ID3D11PixelShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4224. #define ID3D11PixelShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4225. #define ID3D11PixelShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4226. #define ID3D11PixelShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4227. #else
  4228. /*** IUnknown methods ***/
  4229. static FORCEINLINE HRESULT ID3D11PixelShader_QueryInterface(ID3D11PixelShader* This,REFIID riid,void **ppvObject) {
  4230. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4231. }
  4232. static FORCEINLINE ULONG ID3D11PixelShader_AddRef(ID3D11PixelShader* This) {
  4233. return This->lpVtbl->AddRef(This);
  4234. }
  4235. static FORCEINLINE ULONG ID3D11PixelShader_Release(ID3D11PixelShader* This) {
  4236. return This->lpVtbl->Release(This);
  4237. }
  4238. /*** ID3D11DeviceChild methods ***/
  4239. static FORCEINLINE void ID3D11PixelShader_GetDevice(ID3D11PixelShader* This,ID3D11Device **ppDevice) {
  4240. This->lpVtbl->GetDevice(This,ppDevice);
  4241. }
  4242. static FORCEINLINE HRESULT ID3D11PixelShader_GetPrivateData(ID3D11PixelShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4243. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4244. }
  4245. static FORCEINLINE HRESULT ID3D11PixelShader_SetPrivateData(ID3D11PixelShader* This,REFGUID guid,UINT DataSize,const void *pData) {
  4246. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4247. }
  4248. static FORCEINLINE HRESULT ID3D11PixelShader_SetPrivateDataInterface(ID3D11PixelShader* This,REFGUID guid,const IUnknown *pData) {
  4249. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4250. }
  4251. #endif
  4252. #endif
  4253. #endif
  4254. #endif /* __ID3D11PixelShader_INTERFACE_DEFINED__ */
  4255. /*****************************************************************************
  4256. * ID3D11Predicate interface
  4257. */
  4258. #ifndef __ID3D11Predicate_INTERFACE_DEFINED__
  4259. #define __ID3D11Predicate_INTERFACE_DEFINED__
  4260. DEFINE_GUID(IID_ID3D11Predicate, 0x9eb576dd, 0x9f77, 0x4d86, 0x81,0xaa, 0x8b,0xab,0x5f,0xe4,0x90,0xe2);
  4261. #if defined(__cplusplus) && !defined(CINTERFACE)
  4262. MIDL_INTERFACE("9eb576dd-9f77-4d86-81aa-8bab5fe490e2")
  4263. ID3D11Predicate : public ID3D11Query
  4264. {
  4265. };
  4266. #ifdef __CRT_UUID_DECL
  4267. __CRT_UUID_DECL(ID3D11Predicate, 0x9eb576dd, 0x9f77, 0x4d86, 0x81,0xaa, 0x8b,0xab,0x5f,0xe4,0x90,0xe2)
  4268. #endif
  4269. #else
  4270. typedef struct ID3D11PredicateVtbl {
  4271. BEGIN_INTERFACE
  4272. /*** IUnknown methods ***/
  4273. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4274. ID3D11Predicate *This,
  4275. REFIID riid,
  4276. void **ppvObject);
  4277. ULONG (STDMETHODCALLTYPE *AddRef)(
  4278. ID3D11Predicate *This);
  4279. ULONG (STDMETHODCALLTYPE *Release)(
  4280. ID3D11Predicate *This);
  4281. /*** ID3D11DeviceChild methods ***/
  4282. void (STDMETHODCALLTYPE *GetDevice)(
  4283. ID3D11Predicate *This,
  4284. ID3D11Device **ppDevice);
  4285. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4286. ID3D11Predicate *This,
  4287. REFGUID guid,
  4288. UINT *pDataSize,
  4289. void *pData);
  4290. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4291. ID3D11Predicate *This,
  4292. REFGUID guid,
  4293. UINT DataSize,
  4294. const void *pData);
  4295. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4296. ID3D11Predicate *This,
  4297. REFGUID guid,
  4298. const IUnknown *pData);
  4299. /*** ID3D11Asynchronous methods ***/
  4300. UINT (STDMETHODCALLTYPE *GetDataSize)(
  4301. ID3D11Predicate *This);
  4302. /*** ID3D11Query methods ***/
  4303. void (STDMETHODCALLTYPE *GetDesc)(
  4304. ID3D11Predicate *This,
  4305. D3D11_QUERY_DESC *pDesc);
  4306. END_INTERFACE
  4307. } ID3D11PredicateVtbl;
  4308. interface ID3D11Predicate {
  4309. CONST_VTBL ID3D11PredicateVtbl* lpVtbl;
  4310. };
  4311. #ifdef COBJMACROS
  4312. #ifndef WIDL_C_INLINE_WRAPPERS
  4313. /*** IUnknown methods ***/
  4314. #define ID3D11Predicate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4315. #define ID3D11Predicate_AddRef(This) (This)->lpVtbl->AddRef(This)
  4316. #define ID3D11Predicate_Release(This) (This)->lpVtbl->Release(This)
  4317. /*** ID3D11DeviceChild methods ***/
  4318. #define ID3D11Predicate_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4319. #define ID3D11Predicate_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4320. #define ID3D11Predicate_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4321. #define ID3D11Predicate_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4322. /*** ID3D11Asynchronous methods ***/
  4323. #define ID3D11Predicate_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
  4324. /*** ID3D11Query methods ***/
  4325. #define ID3D11Predicate_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4326. #else
  4327. /*** IUnknown methods ***/
  4328. static FORCEINLINE HRESULT ID3D11Predicate_QueryInterface(ID3D11Predicate* This,REFIID riid,void **ppvObject) {
  4329. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4330. }
  4331. static FORCEINLINE ULONG ID3D11Predicate_AddRef(ID3D11Predicate* This) {
  4332. return This->lpVtbl->AddRef(This);
  4333. }
  4334. static FORCEINLINE ULONG ID3D11Predicate_Release(ID3D11Predicate* This) {
  4335. return This->lpVtbl->Release(This);
  4336. }
  4337. /*** ID3D11DeviceChild methods ***/
  4338. static FORCEINLINE void ID3D11Predicate_GetDevice(ID3D11Predicate* This,ID3D11Device **ppDevice) {
  4339. This->lpVtbl->GetDevice(This,ppDevice);
  4340. }
  4341. static FORCEINLINE HRESULT ID3D11Predicate_GetPrivateData(ID3D11Predicate* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4342. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4343. }
  4344. static FORCEINLINE HRESULT ID3D11Predicate_SetPrivateData(ID3D11Predicate* This,REFGUID guid,UINT DataSize,const void *pData) {
  4345. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4346. }
  4347. static FORCEINLINE HRESULT ID3D11Predicate_SetPrivateDataInterface(ID3D11Predicate* This,REFGUID guid,const IUnknown *pData) {
  4348. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4349. }
  4350. /*** ID3D11Asynchronous methods ***/
  4351. static FORCEINLINE UINT ID3D11Predicate_GetDataSize(ID3D11Predicate* This) {
  4352. return This->lpVtbl->GetDataSize(This);
  4353. }
  4354. /*** ID3D11Query methods ***/
  4355. static FORCEINLINE void ID3D11Predicate_GetDesc(ID3D11Predicate* This,D3D11_QUERY_DESC *pDesc) {
  4356. This->lpVtbl->GetDesc(This,pDesc);
  4357. }
  4358. #endif
  4359. #endif
  4360. #endif
  4361. #endif /* __ID3D11Predicate_INTERFACE_DEFINED__ */
  4362. /*****************************************************************************
  4363. * ID3D11RasterizerState interface
  4364. */
  4365. #ifndef __ID3D11RasterizerState_INTERFACE_DEFINED__
  4366. #define __ID3D11RasterizerState_INTERFACE_DEFINED__
  4367. DEFINE_GUID(IID_ID3D11RasterizerState, 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5,0x06, 0xfc,0x04,0x20,0x0b,0x6e,0xe7);
  4368. #if defined(__cplusplus) && !defined(CINTERFACE)
  4369. MIDL_INTERFACE("9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7")
  4370. ID3D11RasterizerState : public ID3D11DeviceChild
  4371. {
  4372. virtual void STDMETHODCALLTYPE GetDesc(
  4373. D3D11_RASTERIZER_DESC *pDesc) = 0;
  4374. };
  4375. #ifdef __CRT_UUID_DECL
  4376. __CRT_UUID_DECL(ID3D11RasterizerState, 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5,0x06, 0xfc,0x04,0x20,0x0b,0x6e,0xe7)
  4377. #endif
  4378. #else
  4379. typedef struct ID3D11RasterizerStateVtbl {
  4380. BEGIN_INTERFACE
  4381. /*** IUnknown methods ***/
  4382. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4383. ID3D11RasterizerState *This,
  4384. REFIID riid,
  4385. void **ppvObject);
  4386. ULONG (STDMETHODCALLTYPE *AddRef)(
  4387. ID3D11RasterizerState *This);
  4388. ULONG (STDMETHODCALLTYPE *Release)(
  4389. ID3D11RasterizerState *This);
  4390. /*** ID3D11DeviceChild methods ***/
  4391. void (STDMETHODCALLTYPE *GetDevice)(
  4392. ID3D11RasterizerState *This,
  4393. ID3D11Device **ppDevice);
  4394. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4395. ID3D11RasterizerState *This,
  4396. REFGUID guid,
  4397. UINT *pDataSize,
  4398. void *pData);
  4399. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4400. ID3D11RasterizerState *This,
  4401. REFGUID guid,
  4402. UINT DataSize,
  4403. const void *pData);
  4404. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4405. ID3D11RasterizerState *This,
  4406. REFGUID guid,
  4407. const IUnknown *pData);
  4408. /*** ID3D11RasterizerState methods ***/
  4409. void (STDMETHODCALLTYPE *GetDesc)(
  4410. ID3D11RasterizerState *This,
  4411. D3D11_RASTERIZER_DESC *pDesc);
  4412. END_INTERFACE
  4413. } ID3D11RasterizerStateVtbl;
  4414. interface ID3D11RasterizerState {
  4415. CONST_VTBL ID3D11RasterizerStateVtbl* lpVtbl;
  4416. };
  4417. #ifdef COBJMACROS
  4418. #ifndef WIDL_C_INLINE_WRAPPERS
  4419. /*** IUnknown methods ***/
  4420. #define ID3D11RasterizerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4421. #define ID3D11RasterizerState_AddRef(This) (This)->lpVtbl->AddRef(This)
  4422. #define ID3D11RasterizerState_Release(This) (This)->lpVtbl->Release(This)
  4423. /*** ID3D11DeviceChild methods ***/
  4424. #define ID3D11RasterizerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4425. #define ID3D11RasterizerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4426. #define ID3D11RasterizerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4427. #define ID3D11RasterizerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4428. /*** ID3D11RasterizerState methods ***/
  4429. #define ID3D11RasterizerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4430. #else
  4431. /*** IUnknown methods ***/
  4432. static FORCEINLINE HRESULT ID3D11RasterizerState_QueryInterface(ID3D11RasterizerState* This,REFIID riid,void **ppvObject) {
  4433. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4434. }
  4435. static FORCEINLINE ULONG ID3D11RasterizerState_AddRef(ID3D11RasterizerState* This) {
  4436. return This->lpVtbl->AddRef(This);
  4437. }
  4438. static FORCEINLINE ULONG ID3D11RasterizerState_Release(ID3D11RasterizerState* This) {
  4439. return This->lpVtbl->Release(This);
  4440. }
  4441. /*** ID3D11DeviceChild methods ***/
  4442. static FORCEINLINE void ID3D11RasterizerState_GetDevice(ID3D11RasterizerState* This,ID3D11Device **ppDevice) {
  4443. This->lpVtbl->GetDevice(This,ppDevice);
  4444. }
  4445. static FORCEINLINE HRESULT ID3D11RasterizerState_GetPrivateData(ID3D11RasterizerState* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4446. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4447. }
  4448. static FORCEINLINE HRESULT ID3D11RasterizerState_SetPrivateData(ID3D11RasterizerState* This,REFGUID guid,UINT DataSize,const void *pData) {
  4449. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4450. }
  4451. static FORCEINLINE HRESULT ID3D11RasterizerState_SetPrivateDataInterface(ID3D11RasterizerState* This,REFGUID guid,const IUnknown *pData) {
  4452. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4453. }
  4454. /*** ID3D11RasterizerState methods ***/
  4455. static FORCEINLINE void ID3D11RasterizerState_GetDesc(ID3D11RasterizerState* This,D3D11_RASTERIZER_DESC *pDesc) {
  4456. This->lpVtbl->GetDesc(This,pDesc);
  4457. }
  4458. #endif
  4459. #endif
  4460. #endif
  4461. #endif /* __ID3D11RasterizerState_INTERFACE_DEFINED__ */
  4462. /*****************************************************************************
  4463. * ID3D11RenderTargetView interface
  4464. */
  4465. #ifndef __ID3D11RenderTargetView_INTERFACE_DEFINED__
  4466. #define __ID3D11RenderTargetView_INTERFACE_DEFINED__
  4467. DEFINE_GUID(IID_ID3D11RenderTargetView, 0xdfdba067, 0x0b8d, 0x4865, 0x87,0x5b, 0xd7,0xb4,0x51,0x6c,0xc1,0x64);
  4468. #if defined(__cplusplus) && !defined(CINTERFACE)
  4469. MIDL_INTERFACE("dfdba067-0b8d-4865-875b-d7b4516cc164")
  4470. ID3D11RenderTargetView : public ID3D11View
  4471. {
  4472. virtual void STDMETHODCALLTYPE GetDesc(
  4473. D3D11_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
  4474. };
  4475. #ifdef __CRT_UUID_DECL
  4476. __CRT_UUID_DECL(ID3D11RenderTargetView, 0xdfdba067, 0x0b8d, 0x4865, 0x87,0x5b, 0xd7,0xb4,0x51,0x6c,0xc1,0x64)
  4477. #endif
  4478. #else
  4479. typedef struct ID3D11RenderTargetViewVtbl {
  4480. BEGIN_INTERFACE
  4481. /*** IUnknown methods ***/
  4482. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4483. ID3D11RenderTargetView *This,
  4484. REFIID riid,
  4485. void **ppvObject);
  4486. ULONG (STDMETHODCALLTYPE *AddRef)(
  4487. ID3D11RenderTargetView *This);
  4488. ULONG (STDMETHODCALLTYPE *Release)(
  4489. ID3D11RenderTargetView *This);
  4490. /*** ID3D11DeviceChild methods ***/
  4491. void (STDMETHODCALLTYPE *GetDevice)(
  4492. ID3D11RenderTargetView *This,
  4493. ID3D11Device **ppDevice);
  4494. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4495. ID3D11RenderTargetView *This,
  4496. REFGUID guid,
  4497. UINT *pDataSize,
  4498. void *pData);
  4499. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4500. ID3D11RenderTargetView *This,
  4501. REFGUID guid,
  4502. UINT DataSize,
  4503. const void *pData);
  4504. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4505. ID3D11RenderTargetView *This,
  4506. REFGUID guid,
  4507. const IUnknown *pData);
  4508. /*** ID3D11View methods ***/
  4509. void (STDMETHODCALLTYPE *GetResource)(
  4510. ID3D11RenderTargetView *This,
  4511. ID3D11Resource **ppResource);
  4512. /*** ID3D11RenderTargetView methods ***/
  4513. void (STDMETHODCALLTYPE *GetDesc)(
  4514. ID3D11RenderTargetView *This,
  4515. D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
  4516. END_INTERFACE
  4517. } ID3D11RenderTargetViewVtbl;
  4518. interface ID3D11RenderTargetView {
  4519. CONST_VTBL ID3D11RenderTargetViewVtbl* lpVtbl;
  4520. };
  4521. #ifdef COBJMACROS
  4522. #ifndef WIDL_C_INLINE_WRAPPERS
  4523. /*** IUnknown methods ***/
  4524. #define ID3D11RenderTargetView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4525. #define ID3D11RenderTargetView_AddRef(This) (This)->lpVtbl->AddRef(This)
  4526. #define ID3D11RenderTargetView_Release(This) (This)->lpVtbl->Release(This)
  4527. /*** ID3D11DeviceChild methods ***/
  4528. #define ID3D11RenderTargetView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4529. #define ID3D11RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4530. #define ID3D11RenderTargetView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4531. #define ID3D11RenderTargetView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4532. /*** ID3D11View methods ***/
  4533. #define ID3D11RenderTargetView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  4534. /*** ID3D11RenderTargetView methods ***/
  4535. #define ID3D11RenderTargetView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4536. #else
  4537. /*** IUnknown methods ***/
  4538. static FORCEINLINE HRESULT ID3D11RenderTargetView_QueryInterface(ID3D11RenderTargetView* This,REFIID riid,void **ppvObject) {
  4539. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4540. }
  4541. static FORCEINLINE ULONG ID3D11RenderTargetView_AddRef(ID3D11RenderTargetView* This) {
  4542. return This->lpVtbl->AddRef(This);
  4543. }
  4544. static FORCEINLINE ULONG ID3D11RenderTargetView_Release(ID3D11RenderTargetView* This) {
  4545. return This->lpVtbl->Release(This);
  4546. }
  4547. /*** ID3D11DeviceChild methods ***/
  4548. static FORCEINLINE void ID3D11RenderTargetView_GetDevice(ID3D11RenderTargetView* This,ID3D11Device **ppDevice) {
  4549. This->lpVtbl->GetDevice(This,ppDevice);
  4550. }
  4551. static FORCEINLINE HRESULT ID3D11RenderTargetView_GetPrivateData(ID3D11RenderTargetView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4552. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4553. }
  4554. static FORCEINLINE HRESULT ID3D11RenderTargetView_SetPrivateData(ID3D11RenderTargetView* This,REFGUID guid,UINT DataSize,const void *pData) {
  4555. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4556. }
  4557. static FORCEINLINE HRESULT ID3D11RenderTargetView_SetPrivateDataInterface(ID3D11RenderTargetView* This,REFGUID guid,const IUnknown *pData) {
  4558. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4559. }
  4560. /*** ID3D11View methods ***/
  4561. static FORCEINLINE void ID3D11RenderTargetView_GetResource(ID3D11RenderTargetView* This,ID3D11Resource **ppResource) {
  4562. This->lpVtbl->GetResource(This,ppResource);
  4563. }
  4564. /*** ID3D11RenderTargetView methods ***/
  4565. static FORCEINLINE void ID3D11RenderTargetView_GetDesc(ID3D11RenderTargetView* This,D3D11_RENDER_TARGET_VIEW_DESC *pDesc) {
  4566. This->lpVtbl->GetDesc(This,pDesc);
  4567. }
  4568. #endif
  4569. #endif
  4570. #endif
  4571. #endif /* __ID3D11RenderTargetView_INTERFACE_DEFINED__ */
  4572. /*****************************************************************************
  4573. * ID3D11SamplerState interface
  4574. */
  4575. #ifndef __ID3D11SamplerState_INTERFACE_DEFINED__
  4576. #define __ID3D11SamplerState_INTERFACE_DEFINED__
  4577. DEFINE_GUID(IID_ID3D11SamplerState, 0xda6fea51, 0x564c, 0x4487, 0x98,0x10, 0xf0,0xd0,0xf9,0xb4,0xe3,0xa5);
  4578. #if defined(__cplusplus) && !defined(CINTERFACE)
  4579. MIDL_INTERFACE("da6fea51-564c-4487-9810-f0d0f9b4e3a5")
  4580. ID3D11SamplerState : public ID3D11DeviceChild
  4581. {
  4582. virtual void STDMETHODCALLTYPE GetDesc(
  4583. D3D11_SAMPLER_DESC *pDesc) = 0;
  4584. };
  4585. #ifdef __CRT_UUID_DECL
  4586. __CRT_UUID_DECL(ID3D11SamplerState, 0xda6fea51, 0x564c, 0x4487, 0x98,0x10, 0xf0,0xd0,0xf9,0xb4,0xe3,0xa5)
  4587. #endif
  4588. #else
  4589. typedef struct ID3D11SamplerStateVtbl {
  4590. BEGIN_INTERFACE
  4591. /*** IUnknown methods ***/
  4592. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4593. ID3D11SamplerState *This,
  4594. REFIID riid,
  4595. void **ppvObject);
  4596. ULONG (STDMETHODCALLTYPE *AddRef)(
  4597. ID3D11SamplerState *This);
  4598. ULONG (STDMETHODCALLTYPE *Release)(
  4599. ID3D11SamplerState *This);
  4600. /*** ID3D11DeviceChild methods ***/
  4601. void (STDMETHODCALLTYPE *GetDevice)(
  4602. ID3D11SamplerState *This,
  4603. ID3D11Device **ppDevice);
  4604. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4605. ID3D11SamplerState *This,
  4606. REFGUID guid,
  4607. UINT *pDataSize,
  4608. void *pData);
  4609. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4610. ID3D11SamplerState *This,
  4611. REFGUID guid,
  4612. UINT DataSize,
  4613. const void *pData);
  4614. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4615. ID3D11SamplerState *This,
  4616. REFGUID guid,
  4617. const IUnknown *pData);
  4618. /*** ID3D11SamplerState methods ***/
  4619. void (STDMETHODCALLTYPE *GetDesc)(
  4620. ID3D11SamplerState *This,
  4621. D3D11_SAMPLER_DESC *pDesc);
  4622. END_INTERFACE
  4623. } ID3D11SamplerStateVtbl;
  4624. interface ID3D11SamplerState {
  4625. CONST_VTBL ID3D11SamplerStateVtbl* lpVtbl;
  4626. };
  4627. #ifdef COBJMACROS
  4628. #ifndef WIDL_C_INLINE_WRAPPERS
  4629. /*** IUnknown methods ***/
  4630. #define ID3D11SamplerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4631. #define ID3D11SamplerState_AddRef(This) (This)->lpVtbl->AddRef(This)
  4632. #define ID3D11SamplerState_Release(This) (This)->lpVtbl->Release(This)
  4633. /*** ID3D11DeviceChild methods ***/
  4634. #define ID3D11SamplerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4635. #define ID3D11SamplerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4636. #define ID3D11SamplerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4637. #define ID3D11SamplerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4638. /*** ID3D11SamplerState methods ***/
  4639. #define ID3D11SamplerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4640. #else
  4641. /*** IUnknown methods ***/
  4642. static FORCEINLINE HRESULT ID3D11SamplerState_QueryInterface(ID3D11SamplerState* This,REFIID riid,void **ppvObject) {
  4643. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4644. }
  4645. static FORCEINLINE ULONG ID3D11SamplerState_AddRef(ID3D11SamplerState* This) {
  4646. return This->lpVtbl->AddRef(This);
  4647. }
  4648. static FORCEINLINE ULONG ID3D11SamplerState_Release(ID3D11SamplerState* This) {
  4649. return This->lpVtbl->Release(This);
  4650. }
  4651. /*** ID3D11DeviceChild methods ***/
  4652. static FORCEINLINE void ID3D11SamplerState_GetDevice(ID3D11SamplerState* This,ID3D11Device **ppDevice) {
  4653. This->lpVtbl->GetDevice(This,ppDevice);
  4654. }
  4655. static FORCEINLINE HRESULT ID3D11SamplerState_GetPrivateData(ID3D11SamplerState* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4656. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4657. }
  4658. static FORCEINLINE HRESULT ID3D11SamplerState_SetPrivateData(ID3D11SamplerState* This,REFGUID guid,UINT DataSize,const void *pData) {
  4659. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4660. }
  4661. static FORCEINLINE HRESULT ID3D11SamplerState_SetPrivateDataInterface(ID3D11SamplerState* This,REFGUID guid,const IUnknown *pData) {
  4662. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4663. }
  4664. /*** ID3D11SamplerState methods ***/
  4665. static FORCEINLINE void ID3D11SamplerState_GetDesc(ID3D11SamplerState* This,D3D11_SAMPLER_DESC *pDesc) {
  4666. This->lpVtbl->GetDesc(This,pDesc);
  4667. }
  4668. #endif
  4669. #endif
  4670. #endif
  4671. #endif /* __ID3D11SamplerState_INTERFACE_DEFINED__ */
  4672. /*****************************************************************************
  4673. * ID3D11ShaderResourceView interface
  4674. */
  4675. #ifndef __ID3D11ShaderResourceView_INTERFACE_DEFINED__
  4676. #define __ID3D11ShaderResourceView_INTERFACE_DEFINED__
  4677. DEFINE_GUID(IID_ID3D11ShaderResourceView, 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1,0xca, 0x36,0xd7,0x41,0x47,0x10,0xb2);
  4678. #if defined(__cplusplus) && !defined(CINTERFACE)
  4679. MIDL_INTERFACE("b0e06fe0-8192-4e1a-b1ca-36d7414710b2")
  4680. ID3D11ShaderResourceView : public ID3D11View
  4681. {
  4682. virtual void STDMETHODCALLTYPE GetDesc(
  4683. D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
  4684. };
  4685. #ifdef __CRT_UUID_DECL
  4686. __CRT_UUID_DECL(ID3D11ShaderResourceView, 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1,0xca, 0x36,0xd7,0x41,0x47,0x10,0xb2)
  4687. #endif
  4688. #else
  4689. typedef struct ID3D11ShaderResourceViewVtbl {
  4690. BEGIN_INTERFACE
  4691. /*** IUnknown methods ***/
  4692. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4693. ID3D11ShaderResourceView *This,
  4694. REFIID riid,
  4695. void **ppvObject);
  4696. ULONG (STDMETHODCALLTYPE *AddRef)(
  4697. ID3D11ShaderResourceView *This);
  4698. ULONG (STDMETHODCALLTYPE *Release)(
  4699. ID3D11ShaderResourceView *This);
  4700. /*** ID3D11DeviceChild methods ***/
  4701. void (STDMETHODCALLTYPE *GetDevice)(
  4702. ID3D11ShaderResourceView *This,
  4703. ID3D11Device **ppDevice);
  4704. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4705. ID3D11ShaderResourceView *This,
  4706. REFGUID guid,
  4707. UINT *pDataSize,
  4708. void *pData);
  4709. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4710. ID3D11ShaderResourceView *This,
  4711. REFGUID guid,
  4712. UINT DataSize,
  4713. const void *pData);
  4714. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4715. ID3D11ShaderResourceView *This,
  4716. REFGUID guid,
  4717. const IUnknown *pData);
  4718. /*** ID3D11View methods ***/
  4719. void (STDMETHODCALLTYPE *GetResource)(
  4720. ID3D11ShaderResourceView *This,
  4721. ID3D11Resource **ppResource);
  4722. /*** ID3D11ShaderResourceView methods ***/
  4723. void (STDMETHODCALLTYPE *GetDesc)(
  4724. ID3D11ShaderResourceView *This,
  4725. D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
  4726. END_INTERFACE
  4727. } ID3D11ShaderResourceViewVtbl;
  4728. interface ID3D11ShaderResourceView {
  4729. CONST_VTBL ID3D11ShaderResourceViewVtbl* lpVtbl;
  4730. };
  4731. #ifdef COBJMACROS
  4732. #ifndef WIDL_C_INLINE_WRAPPERS
  4733. /*** IUnknown methods ***/
  4734. #define ID3D11ShaderResourceView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4735. #define ID3D11ShaderResourceView_AddRef(This) (This)->lpVtbl->AddRef(This)
  4736. #define ID3D11ShaderResourceView_Release(This) (This)->lpVtbl->Release(This)
  4737. /*** ID3D11DeviceChild methods ***/
  4738. #define ID3D11ShaderResourceView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4739. #define ID3D11ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4740. #define ID3D11ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4741. #define ID3D11ShaderResourceView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4742. /*** ID3D11View methods ***/
  4743. #define ID3D11ShaderResourceView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  4744. /*** ID3D11ShaderResourceView methods ***/
  4745. #define ID3D11ShaderResourceView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4746. #else
  4747. /*** IUnknown methods ***/
  4748. static FORCEINLINE HRESULT ID3D11ShaderResourceView_QueryInterface(ID3D11ShaderResourceView* This,REFIID riid,void **ppvObject) {
  4749. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4750. }
  4751. static FORCEINLINE ULONG ID3D11ShaderResourceView_AddRef(ID3D11ShaderResourceView* This) {
  4752. return This->lpVtbl->AddRef(This);
  4753. }
  4754. static FORCEINLINE ULONG ID3D11ShaderResourceView_Release(ID3D11ShaderResourceView* This) {
  4755. return This->lpVtbl->Release(This);
  4756. }
  4757. /*** ID3D11DeviceChild methods ***/
  4758. static FORCEINLINE void ID3D11ShaderResourceView_GetDevice(ID3D11ShaderResourceView* This,ID3D11Device **ppDevice) {
  4759. This->lpVtbl->GetDevice(This,ppDevice);
  4760. }
  4761. static FORCEINLINE HRESULT ID3D11ShaderResourceView_GetPrivateData(ID3D11ShaderResourceView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4762. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4763. }
  4764. static FORCEINLINE HRESULT ID3D11ShaderResourceView_SetPrivateData(ID3D11ShaderResourceView* This,REFGUID guid,UINT DataSize,const void *pData) {
  4765. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4766. }
  4767. static FORCEINLINE HRESULT ID3D11ShaderResourceView_SetPrivateDataInterface(ID3D11ShaderResourceView* This,REFGUID guid,const IUnknown *pData) {
  4768. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4769. }
  4770. /*** ID3D11View methods ***/
  4771. static FORCEINLINE void ID3D11ShaderResourceView_GetResource(ID3D11ShaderResourceView* This,ID3D11Resource **ppResource) {
  4772. This->lpVtbl->GetResource(This,ppResource);
  4773. }
  4774. /*** ID3D11ShaderResourceView methods ***/
  4775. static FORCEINLINE void ID3D11ShaderResourceView_GetDesc(ID3D11ShaderResourceView* This,D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) {
  4776. This->lpVtbl->GetDesc(This,pDesc);
  4777. }
  4778. #endif
  4779. #endif
  4780. #endif
  4781. #endif /* __ID3D11ShaderResourceView_INTERFACE_DEFINED__ */
  4782. /*****************************************************************************
  4783. * ID3D11Texture1D interface
  4784. */
  4785. #ifndef __ID3D11Texture1D_INTERFACE_DEFINED__
  4786. #define __ID3D11Texture1D_INTERFACE_DEFINED__
  4787. DEFINE_GUID(IID_ID3D11Texture1D, 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4,0xc8, 0x43,0x9a,0xf2,0xef,0x56,0x4c);
  4788. #if defined(__cplusplus) && !defined(CINTERFACE)
  4789. MIDL_INTERFACE("f8fb5c27-c6b3-4f75-a4c8-439af2ef564c")
  4790. ID3D11Texture1D : public ID3D11Resource
  4791. {
  4792. virtual void STDMETHODCALLTYPE GetDesc(
  4793. D3D11_TEXTURE1D_DESC *pDesc) = 0;
  4794. };
  4795. #ifdef __CRT_UUID_DECL
  4796. __CRT_UUID_DECL(ID3D11Texture1D, 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4,0xc8, 0x43,0x9a,0xf2,0xef,0x56,0x4c)
  4797. #endif
  4798. #else
  4799. typedef struct ID3D11Texture1DVtbl {
  4800. BEGIN_INTERFACE
  4801. /*** IUnknown methods ***/
  4802. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4803. ID3D11Texture1D *This,
  4804. REFIID riid,
  4805. void **ppvObject);
  4806. ULONG (STDMETHODCALLTYPE *AddRef)(
  4807. ID3D11Texture1D *This);
  4808. ULONG (STDMETHODCALLTYPE *Release)(
  4809. ID3D11Texture1D *This);
  4810. /*** ID3D11DeviceChild methods ***/
  4811. void (STDMETHODCALLTYPE *GetDevice)(
  4812. ID3D11Texture1D *This,
  4813. ID3D11Device **ppDevice);
  4814. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4815. ID3D11Texture1D *This,
  4816. REFGUID guid,
  4817. UINT *pDataSize,
  4818. void *pData);
  4819. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4820. ID3D11Texture1D *This,
  4821. REFGUID guid,
  4822. UINT DataSize,
  4823. const void *pData);
  4824. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4825. ID3D11Texture1D *This,
  4826. REFGUID guid,
  4827. const IUnknown *pData);
  4828. /*** ID3D11Resource methods ***/
  4829. void (STDMETHODCALLTYPE *GetType)(
  4830. ID3D11Texture1D *This,
  4831. D3D11_RESOURCE_DIMENSION *pResourceDimension);
  4832. void (STDMETHODCALLTYPE *SetEvictionPriority)(
  4833. ID3D11Texture1D *This,
  4834. UINT EvictionPriority);
  4835. UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
  4836. ID3D11Texture1D *This);
  4837. /*** ID3D11Texture1D methods ***/
  4838. void (STDMETHODCALLTYPE *GetDesc)(
  4839. ID3D11Texture1D *This,
  4840. D3D11_TEXTURE1D_DESC *pDesc);
  4841. END_INTERFACE
  4842. } ID3D11Texture1DVtbl;
  4843. interface ID3D11Texture1D {
  4844. CONST_VTBL ID3D11Texture1DVtbl* lpVtbl;
  4845. };
  4846. #ifdef COBJMACROS
  4847. #ifndef WIDL_C_INLINE_WRAPPERS
  4848. /*** IUnknown methods ***/
  4849. #define ID3D11Texture1D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4850. #define ID3D11Texture1D_AddRef(This) (This)->lpVtbl->AddRef(This)
  4851. #define ID3D11Texture1D_Release(This) (This)->lpVtbl->Release(This)
  4852. /*** ID3D11DeviceChild methods ***/
  4853. #define ID3D11Texture1D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4854. #define ID3D11Texture1D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4855. #define ID3D11Texture1D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4856. #define ID3D11Texture1D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4857. /*** ID3D11Resource methods ***/
  4858. #define ID3D11Texture1D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
  4859. #define ID3D11Texture1D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
  4860. #define ID3D11Texture1D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
  4861. /*** ID3D11Texture1D methods ***/
  4862. #define ID3D11Texture1D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4863. #else
  4864. /*** IUnknown methods ***/
  4865. static FORCEINLINE HRESULT ID3D11Texture1D_QueryInterface(ID3D11Texture1D* This,REFIID riid,void **ppvObject) {
  4866. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4867. }
  4868. static FORCEINLINE ULONG ID3D11Texture1D_AddRef(ID3D11Texture1D* This) {
  4869. return This->lpVtbl->AddRef(This);
  4870. }
  4871. static FORCEINLINE ULONG ID3D11Texture1D_Release(ID3D11Texture1D* This) {
  4872. return This->lpVtbl->Release(This);
  4873. }
  4874. /*** ID3D11DeviceChild methods ***/
  4875. static FORCEINLINE void ID3D11Texture1D_GetDevice(ID3D11Texture1D* This,ID3D11Device **ppDevice) {
  4876. This->lpVtbl->GetDevice(This,ppDevice);
  4877. }
  4878. static FORCEINLINE HRESULT ID3D11Texture1D_GetPrivateData(ID3D11Texture1D* This,REFGUID guid,UINT *pDataSize,void *pData) {
  4879. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  4880. }
  4881. static FORCEINLINE HRESULT ID3D11Texture1D_SetPrivateData(ID3D11Texture1D* This,REFGUID guid,UINT DataSize,const void *pData) {
  4882. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  4883. }
  4884. static FORCEINLINE HRESULT ID3D11Texture1D_SetPrivateDataInterface(ID3D11Texture1D* This,REFGUID guid,const IUnknown *pData) {
  4885. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  4886. }
  4887. /*** ID3D11Resource methods ***/
  4888. static FORCEINLINE void ID3D11Texture1D_GetType(ID3D11Texture1D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
  4889. This->lpVtbl->GetType(This,pResourceDimension);
  4890. }
  4891. static FORCEINLINE void ID3D11Texture1D_SetEvictionPriority(ID3D11Texture1D* This,UINT EvictionPriority) {
  4892. This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
  4893. }
  4894. static FORCEINLINE UINT ID3D11Texture1D_GetEvictionPriority(ID3D11Texture1D* This) {
  4895. return This->lpVtbl->GetEvictionPriority(This);
  4896. }
  4897. /*** ID3D11Texture1D methods ***/
  4898. static FORCEINLINE void ID3D11Texture1D_GetDesc(ID3D11Texture1D* This,D3D11_TEXTURE1D_DESC *pDesc) {
  4899. This->lpVtbl->GetDesc(This,pDesc);
  4900. }
  4901. #endif
  4902. #endif
  4903. #endif
  4904. #endif /* __ID3D11Texture1D_INTERFACE_DEFINED__ */
  4905. /*****************************************************************************
  4906. * ID3D11Texture2D interface
  4907. */
  4908. #ifndef __ID3D11Texture2D_INTERFACE_DEFINED__
  4909. #define __ID3D11Texture2D_INTERFACE_DEFINED__
  4910. DEFINE_GUID(IID_ID3D11Texture2D, 0x6f15aaf2, 0xd208, 0x4e89, 0x9a,0xb4, 0x48,0x95,0x35,0xd3,0x4f,0x9c);
  4911. #if defined(__cplusplus) && !defined(CINTERFACE)
  4912. MIDL_INTERFACE("6f15aaf2-d208-4e89-9ab4-489535d34f9c")
  4913. ID3D11Texture2D : public ID3D11Resource
  4914. {
  4915. virtual void STDMETHODCALLTYPE GetDesc(
  4916. D3D11_TEXTURE2D_DESC *pDesc) = 0;
  4917. };
  4918. #ifdef __CRT_UUID_DECL
  4919. __CRT_UUID_DECL(ID3D11Texture2D, 0x6f15aaf2, 0xd208, 0x4e89, 0x9a,0xb4, 0x48,0x95,0x35,0xd3,0x4f,0x9c)
  4920. #endif
  4921. #else
  4922. typedef struct ID3D11Texture2DVtbl {
  4923. BEGIN_INTERFACE
  4924. /*** IUnknown methods ***/
  4925. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4926. ID3D11Texture2D *This,
  4927. REFIID riid,
  4928. void **ppvObject);
  4929. ULONG (STDMETHODCALLTYPE *AddRef)(
  4930. ID3D11Texture2D *This);
  4931. ULONG (STDMETHODCALLTYPE *Release)(
  4932. ID3D11Texture2D *This);
  4933. /*** ID3D11DeviceChild methods ***/
  4934. void (STDMETHODCALLTYPE *GetDevice)(
  4935. ID3D11Texture2D *This,
  4936. ID3D11Device **ppDevice);
  4937. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  4938. ID3D11Texture2D *This,
  4939. REFGUID guid,
  4940. UINT *pDataSize,
  4941. void *pData);
  4942. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  4943. ID3D11Texture2D *This,
  4944. REFGUID guid,
  4945. UINT DataSize,
  4946. const void *pData);
  4947. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  4948. ID3D11Texture2D *This,
  4949. REFGUID guid,
  4950. const IUnknown *pData);
  4951. /*** ID3D11Resource methods ***/
  4952. void (STDMETHODCALLTYPE *GetType)(
  4953. ID3D11Texture2D *This,
  4954. D3D11_RESOURCE_DIMENSION *pResourceDimension);
  4955. void (STDMETHODCALLTYPE *SetEvictionPriority)(
  4956. ID3D11Texture2D *This,
  4957. UINT EvictionPriority);
  4958. UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
  4959. ID3D11Texture2D *This);
  4960. /*** ID3D11Texture2D methods ***/
  4961. void (STDMETHODCALLTYPE *GetDesc)(
  4962. ID3D11Texture2D *This,
  4963. D3D11_TEXTURE2D_DESC *pDesc);
  4964. END_INTERFACE
  4965. } ID3D11Texture2DVtbl;
  4966. interface ID3D11Texture2D {
  4967. CONST_VTBL ID3D11Texture2DVtbl* lpVtbl;
  4968. };
  4969. #ifdef COBJMACROS
  4970. #ifndef WIDL_C_INLINE_WRAPPERS
  4971. /*** IUnknown methods ***/
  4972. #define ID3D11Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4973. #define ID3D11Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
  4974. #define ID3D11Texture2D_Release(This) (This)->lpVtbl->Release(This)
  4975. /*** ID3D11DeviceChild methods ***/
  4976. #define ID3D11Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  4977. #define ID3D11Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  4978. #define ID3D11Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  4979. #define ID3D11Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  4980. /*** ID3D11Resource methods ***/
  4981. #define ID3D11Texture2D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
  4982. #define ID3D11Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
  4983. #define ID3D11Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
  4984. /*** ID3D11Texture2D methods ***/
  4985. #define ID3D11Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  4986. #else
  4987. /*** IUnknown methods ***/
  4988. static FORCEINLINE HRESULT ID3D11Texture2D_QueryInterface(ID3D11Texture2D* This,REFIID riid,void **ppvObject) {
  4989. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4990. }
  4991. static FORCEINLINE ULONG ID3D11Texture2D_AddRef(ID3D11Texture2D* This) {
  4992. return This->lpVtbl->AddRef(This);
  4993. }
  4994. static FORCEINLINE ULONG ID3D11Texture2D_Release(ID3D11Texture2D* This) {
  4995. return This->lpVtbl->Release(This);
  4996. }
  4997. /*** ID3D11DeviceChild methods ***/
  4998. static FORCEINLINE void ID3D11Texture2D_GetDevice(ID3D11Texture2D* This,ID3D11Device **ppDevice) {
  4999. This->lpVtbl->GetDevice(This,ppDevice);
  5000. }
  5001. static FORCEINLINE HRESULT ID3D11Texture2D_GetPrivateData(ID3D11Texture2D* This,REFGUID guid,UINT *pDataSize,void *pData) {
  5002. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  5003. }
  5004. static FORCEINLINE HRESULT ID3D11Texture2D_SetPrivateData(ID3D11Texture2D* This,REFGUID guid,UINT DataSize,const void *pData) {
  5005. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  5006. }
  5007. static FORCEINLINE HRESULT ID3D11Texture2D_SetPrivateDataInterface(ID3D11Texture2D* This,REFGUID guid,const IUnknown *pData) {
  5008. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  5009. }
  5010. /*** ID3D11Resource methods ***/
  5011. static FORCEINLINE void ID3D11Texture2D_GetType(ID3D11Texture2D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
  5012. This->lpVtbl->GetType(This,pResourceDimension);
  5013. }
  5014. static FORCEINLINE void ID3D11Texture2D_SetEvictionPriority(ID3D11Texture2D* This,UINT EvictionPriority) {
  5015. This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
  5016. }
  5017. static FORCEINLINE UINT ID3D11Texture2D_GetEvictionPriority(ID3D11Texture2D* This) {
  5018. return This->lpVtbl->GetEvictionPriority(This);
  5019. }
  5020. /*** ID3D11Texture2D methods ***/
  5021. static FORCEINLINE void ID3D11Texture2D_GetDesc(ID3D11Texture2D* This,D3D11_TEXTURE2D_DESC *pDesc) {
  5022. This->lpVtbl->GetDesc(This,pDesc);
  5023. }
  5024. #endif
  5025. #endif
  5026. #endif
  5027. #endif /* __ID3D11Texture2D_INTERFACE_DEFINED__ */
  5028. /*****************************************************************************
  5029. * ID3D11Texture3D interface
  5030. */
  5031. #ifndef __ID3D11Texture3D_INTERFACE_DEFINED__
  5032. #define __ID3D11Texture3D_INTERFACE_DEFINED__
  5033. DEFINE_GUID(IID_ID3D11Texture3D, 0x037e866e, 0xf56d, 0x4357, 0xa8,0xaf, 0x9d,0xab,0xbe,0x6e,0x25,0x0e);
  5034. #if defined(__cplusplus) && !defined(CINTERFACE)
  5035. MIDL_INTERFACE("037e866e-f56d-4357-a8af-9dabbe6e250e")
  5036. ID3D11Texture3D : public ID3D11Resource
  5037. {
  5038. virtual void STDMETHODCALLTYPE GetDesc(
  5039. D3D11_TEXTURE3D_DESC *pDesc) = 0;
  5040. };
  5041. #ifdef __CRT_UUID_DECL
  5042. __CRT_UUID_DECL(ID3D11Texture3D, 0x037e866e, 0xf56d, 0x4357, 0xa8,0xaf, 0x9d,0xab,0xbe,0x6e,0x25,0x0e)
  5043. #endif
  5044. #else
  5045. typedef struct ID3D11Texture3DVtbl {
  5046. BEGIN_INTERFACE
  5047. /*** IUnknown methods ***/
  5048. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5049. ID3D11Texture3D *This,
  5050. REFIID riid,
  5051. void **ppvObject);
  5052. ULONG (STDMETHODCALLTYPE *AddRef)(
  5053. ID3D11Texture3D *This);
  5054. ULONG (STDMETHODCALLTYPE *Release)(
  5055. ID3D11Texture3D *This);
  5056. /*** ID3D11DeviceChild methods ***/
  5057. void (STDMETHODCALLTYPE *GetDevice)(
  5058. ID3D11Texture3D *This,
  5059. ID3D11Device **ppDevice);
  5060. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  5061. ID3D11Texture3D *This,
  5062. REFGUID guid,
  5063. UINT *pDataSize,
  5064. void *pData);
  5065. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  5066. ID3D11Texture3D *This,
  5067. REFGUID guid,
  5068. UINT DataSize,
  5069. const void *pData);
  5070. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  5071. ID3D11Texture3D *This,
  5072. REFGUID guid,
  5073. const IUnknown *pData);
  5074. /*** ID3D11Resource methods ***/
  5075. void (STDMETHODCALLTYPE *GetType)(
  5076. ID3D11Texture3D *This,
  5077. D3D11_RESOURCE_DIMENSION *pResourceDimension);
  5078. void (STDMETHODCALLTYPE *SetEvictionPriority)(
  5079. ID3D11Texture3D *This,
  5080. UINT EvictionPriority);
  5081. UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
  5082. ID3D11Texture3D *This);
  5083. /*** ID3D11Texture3D methods ***/
  5084. void (STDMETHODCALLTYPE *GetDesc)(
  5085. ID3D11Texture3D *This,
  5086. D3D11_TEXTURE3D_DESC *pDesc);
  5087. END_INTERFACE
  5088. } ID3D11Texture3DVtbl;
  5089. interface ID3D11Texture3D {
  5090. CONST_VTBL ID3D11Texture3DVtbl* lpVtbl;
  5091. };
  5092. #ifdef COBJMACROS
  5093. #ifndef WIDL_C_INLINE_WRAPPERS
  5094. /*** IUnknown methods ***/
  5095. #define ID3D11Texture3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5096. #define ID3D11Texture3D_AddRef(This) (This)->lpVtbl->AddRef(This)
  5097. #define ID3D11Texture3D_Release(This) (This)->lpVtbl->Release(This)
  5098. /*** ID3D11DeviceChild methods ***/
  5099. #define ID3D11Texture3D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  5100. #define ID3D11Texture3D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  5101. #define ID3D11Texture3D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  5102. #define ID3D11Texture3D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  5103. /*** ID3D11Resource methods ***/
  5104. #define ID3D11Texture3D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
  5105. #define ID3D11Texture3D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
  5106. #define ID3D11Texture3D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
  5107. /*** ID3D11Texture3D methods ***/
  5108. #define ID3D11Texture3D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  5109. #else
  5110. /*** IUnknown methods ***/
  5111. static FORCEINLINE HRESULT ID3D11Texture3D_QueryInterface(ID3D11Texture3D* This,REFIID riid,void **ppvObject) {
  5112. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5113. }
  5114. static FORCEINLINE ULONG ID3D11Texture3D_AddRef(ID3D11Texture3D* This) {
  5115. return This->lpVtbl->AddRef(This);
  5116. }
  5117. static FORCEINLINE ULONG ID3D11Texture3D_Release(ID3D11Texture3D* This) {
  5118. return This->lpVtbl->Release(This);
  5119. }
  5120. /*** ID3D11DeviceChild methods ***/
  5121. static FORCEINLINE void ID3D11Texture3D_GetDevice(ID3D11Texture3D* This,ID3D11Device **ppDevice) {
  5122. This->lpVtbl->GetDevice(This,ppDevice);
  5123. }
  5124. static FORCEINLINE HRESULT ID3D11Texture3D_GetPrivateData(ID3D11Texture3D* This,REFGUID guid,UINT *pDataSize,void *pData) {
  5125. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  5126. }
  5127. static FORCEINLINE HRESULT ID3D11Texture3D_SetPrivateData(ID3D11Texture3D* This,REFGUID guid,UINT DataSize,const void *pData) {
  5128. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  5129. }
  5130. static FORCEINLINE HRESULT ID3D11Texture3D_SetPrivateDataInterface(ID3D11Texture3D* This,REFGUID guid,const IUnknown *pData) {
  5131. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  5132. }
  5133. /*** ID3D11Resource methods ***/
  5134. static FORCEINLINE void ID3D11Texture3D_GetType(ID3D11Texture3D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
  5135. This->lpVtbl->GetType(This,pResourceDimension);
  5136. }
  5137. static FORCEINLINE void ID3D11Texture3D_SetEvictionPriority(ID3D11Texture3D* This,UINT EvictionPriority) {
  5138. This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
  5139. }
  5140. static FORCEINLINE UINT ID3D11Texture3D_GetEvictionPriority(ID3D11Texture3D* This) {
  5141. return This->lpVtbl->GetEvictionPriority(This);
  5142. }
  5143. /*** ID3D11Texture3D methods ***/
  5144. static FORCEINLINE void ID3D11Texture3D_GetDesc(ID3D11Texture3D* This,D3D11_TEXTURE3D_DESC *pDesc) {
  5145. This->lpVtbl->GetDesc(This,pDesc);
  5146. }
  5147. #endif
  5148. #endif
  5149. #endif
  5150. #endif /* __ID3D11Texture3D_INTERFACE_DEFINED__ */
  5151. /*****************************************************************************
  5152. * ID3D11UnorderedAccessView interface
  5153. */
  5154. #ifndef __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
  5155. #define __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
  5156. DEFINE_GUID(IID_ID3D11UnorderedAccessView, 0x28acf509, 0x7f5c, 0x48f6, 0x86,0x11, 0xf3,0x16,0x01,0x0a,0x63,0x80);
  5157. #if defined(__cplusplus) && !defined(CINTERFACE)
  5158. MIDL_INTERFACE("28acf509-7f5c-48f6-8611-f316010a6380")
  5159. ID3D11UnorderedAccessView : public ID3D11View
  5160. {
  5161. virtual void STDMETHODCALLTYPE GetDesc(
  5162. D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) = 0;
  5163. };
  5164. #ifdef __CRT_UUID_DECL
  5165. __CRT_UUID_DECL(ID3D11UnorderedAccessView, 0x28acf509, 0x7f5c, 0x48f6, 0x86,0x11, 0xf3,0x16,0x01,0x0a,0x63,0x80)
  5166. #endif
  5167. #else
  5168. typedef struct ID3D11UnorderedAccessViewVtbl {
  5169. BEGIN_INTERFACE
  5170. /*** IUnknown methods ***/
  5171. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5172. ID3D11UnorderedAccessView *This,
  5173. REFIID riid,
  5174. void **ppvObject);
  5175. ULONG (STDMETHODCALLTYPE *AddRef)(
  5176. ID3D11UnorderedAccessView *This);
  5177. ULONG (STDMETHODCALLTYPE *Release)(
  5178. ID3D11UnorderedAccessView *This);
  5179. /*** ID3D11DeviceChild methods ***/
  5180. void (STDMETHODCALLTYPE *GetDevice)(
  5181. ID3D11UnorderedAccessView *This,
  5182. ID3D11Device **ppDevice);
  5183. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  5184. ID3D11UnorderedAccessView *This,
  5185. REFGUID guid,
  5186. UINT *pDataSize,
  5187. void *pData);
  5188. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  5189. ID3D11UnorderedAccessView *This,
  5190. REFGUID guid,
  5191. UINT DataSize,
  5192. const void *pData);
  5193. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  5194. ID3D11UnorderedAccessView *This,
  5195. REFGUID guid,
  5196. const IUnknown *pData);
  5197. /*** ID3D11View methods ***/
  5198. void (STDMETHODCALLTYPE *GetResource)(
  5199. ID3D11UnorderedAccessView *This,
  5200. ID3D11Resource **ppResource);
  5201. /*** ID3D11UnorderedAccessView methods ***/
  5202. void (STDMETHODCALLTYPE *GetDesc)(
  5203. ID3D11UnorderedAccessView *This,
  5204. D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
  5205. END_INTERFACE
  5206. } ID3D11UnorderedAccessViewVtbl;
  5207. interface ID3D11UnorderedAccessView {
  5208. CONST_VTBL ID3D11UnorderedAccessViewVtbl* lpVtbl;
  5209. };
  5210. #ifdef COBJMACROS
  5211. #ifndef WIDL_C_INLINE_WRAPPERS
  5212. /*** IUnknown methods ***/
  5213. #define ID3D11UnorderedAccessView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5214. #define ID3D11UnorderedAccessView_AddRef(This) (This)->lpVtbl->AddRef(This)
  5215. #define ID3D11UnorderedAccessView_Release(This) (This)->lpVtbl->Release(This)
  5216. /*** ID3D11DeviceChild methods ***/
  5217. #define ID3D11UnorderedAccessView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  5218. #define ID3D11UnorderedAccessView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  5219. #define ID3D11UnorderedAccessView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  5220. #define ID3D11UnorderedAccessView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  5221. /*** ID3D11View methods ***/
  5222. #define ID3D11UnorderedAccessView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  5223. /*** ID3D11UnorderedAccessView methods ***/
  5224. #define ID3D11UnorderedAccessView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  5225. #else
  5226. /*** IUnknown methods ***/
  5227. static FORCEINLINE HRESULT ID3D11UnorderedAccessView_QueryInterface(ID3D11UnorderedAccessView* This,REFIID riid,void **ppvObject) {
  5228. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5229. }
  5230. static FORCEINLINE ULONG ID3D11UnorderedAccessView_AddRef(ID3D11UnorderedAccessView* This) {
  5231. return This->lpVtbl->AddRef(This);
  5232. }
  5233. static FORCEINLINE ULONG ID3D11UnorderedAccessView_Release(ID3D11UnorderedAccessView* This) {
  5234. return This->lpVtbl->Release(This);
  5235. }
  5236. /*** ID3D11DeviceChild methods ***/
  5237. static FORCEINLINE void ID3D11UnorderedAccessView_GetDevice(ID3D11UnorderedAccessView* This,ID3D11Device **ppDevice) {
  5238. This->lpVtbl->GetDevice(This,ppDevice);
  5239. }
  5240. static FORCEINLINE HRESULT ID3D11UnorderedAccessView_GetPrivateData(ID3D11UnorderedAccessView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  5241. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  5242. }
  5243. static FORCEINLINE HRESULT ID3D11UnorderedAccessView_SetPrivateData(ID3D11UnorderedAccessView* This,REFGUID guid,UINT DataSize,const void *pData) {
  5244. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  5245. }
  5246. static FORCEINLINE HRESULT ID3D11UnorderedAccessView_SetPrivateDataInterface(ID3D11UnorderedAccessView* This,REFGUID guid,const IUnknown *pData) {
  5247. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  5248. }
  5249. /*** ID3D11View methods ***/
  5250. static FORCEINLINE void ID3D11UnorderedAccessView_GetResource(ID3D11UnorderedAccessView* This,ID3D11Resource **ppResource) {
  5251. This->lpVtbl->GetResource(This,ppResource);
  5252. }
  5253. /*** ID3D11UnorderedAccessView methods ***/
  5254. static FORCEINLINE void ID3D11UnorderedAccessView_GetDesc(ID3D11UnorderedAccessView* This,D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) {
  5255. This->lpVtbl->GetDesc(This,pDesc);
  5256. }
  5257. #endif
  5258. #endif
  5259. #endif
  5260. #endif /* __ID3D11UnorderedAccessView_INTERFACE_DEFINED__ */
  5261. /*****************************************************************************
  5262. * ID3D11VertexShader interface
  5263. */
  5264. #ifndef __ID3D11VertexShader_INTERFACE_DEFINED__
  5265. #define __ID3D11VertexShader_INTERFACE_DEFINED__
  5266. DEFINE_GUID(IID_ID3D11VertexShader, 0x3b301d64, 0xd678, 0x4289, 0x88,0x97, 0x22,0xf8,0x92,0x8b,0x72,0xf3);
  5267. #if defined(__cplusplus) && !defined(CINTERFACE)
  5268. MIDL_INTERFACE("3b301d64-d678-4289-8897-22f8928b72f3")
  5269. ID3D11VertexShader : public ID3D11DeviceChild
  5270. {
  5271. };
  5272. #ifdef __CRT_UUID_DECL
  5273. __CRT_UUID_DECL(ID3D11VertexShader, 0x3b301d64, 0xd678, 0x4289, 0x88,0x97, 0x22,0xf8,0x92,0x8b,0x72,0xf3)
  5274. #endif
  5275. #else
  5276. typedef struct ID3D11VertexShaderVtbl {
  5277. BEGIN_INTERFACE
  5278. /*** IUnknown methods ***/
  5279. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5280. ID3D11VertexShader *This,
  5281. REFIID riid,
  5282. void **ppvObject);
  5283. ULONG (STDMETHODCALLTYPE *AddRef)(
  5284. ID3D11VertexShader *This);
  5285. ULONG (STDMETHODCALLTYPE *Release)(
  5286. ID3D11VertexShader *This);
  5287. /*** ID3D11DeviceChild methods ***/
  5288. void (STDMETHODCALLTYPE *GetDevice)(
  5289. ID3D11VertexShader *This,
  5290. ID3D11Device **ppDevice);
  5291. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  5292. ID3D11VertexShader *This,
  5293. REFGUID guid,
  5294. UINT *pDataSize,
  5295. void *pData);
  5296. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  5297. ID3D11VertexShader *This,
  5298. REFGUID guid,
  5299. UINT DataSize,
  5300. const void *pData);
  5301. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  5302. ID3D11VertexShader *This,
  5303. REFGUID guid,
  5304. const IUnknown *pData);
  5305. END_INTERFACE
  5306. } ID3D11VertexShaderVtbl;
  5307. interface ID3D11VertexShader {
  5308. CONST_VTBL ID3D11VertexShaderVtbl* lpVtbl;
  5309. };
  5310. #ifdef COBJMACROS
  5311. #ifndef WIDL_C_INLINE_WRAPPERS
  5312. /*** IUnknown methods ***/
  5313. #define ID3D11VertexShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5314. #define ID3D11VertexShader_AddRef(This) (This)->lpVtbl->AddRef(This)
  5315. #define ID3D11VertexShader_Release(This) (This)->lpVtbl->Release(This)
  5316. /*** ID3D11DeviceChild methods ***/
  5317. #define ID3D11VertexShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  5318. #define ID3D11VertexShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  5319. #define ID3D11VertexShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  5320. #define ID3D11VertexShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  5321. #else
  5322. /*** IUnknown methods ***/
  5323. static FORCEINLINE HRESULT ID3D11VertexShader_QueryInterface(ID3D11VertexShader* This,REFIID riid,void **ppvObject) {
  5324. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5325. }
  5326. static FORCEINLINE ULONG ID3D11VertexShader_AddRef(ID3D11VertexShader* This) {
  5327. return This->lpVtbl->AddRef(This);
  5328. }
  5329. static FORCEINLINE ULONG ID3D11VertexShader_Release(ID3D11VertexShader* This) {
  5330. return This->lpVtbl->Release(This);
  5331. }
  5332. /*** ID3D11DeviceChild methods ***/
  5333. static FORCEINLINE void ID3D11VertexShader_GetDevice(ID3D11VertexShader* This,ID3D11Device **ppDevice) {
  5334. This->lpVtbl->GetDevice(This,ppDevice);
  5335. }
  5336. static FORCEINLINE HRESULT ID3D11VertexShader_GetPrivateData(ID3D11VertexShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
  5337. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  5338. }
  5339. static FORCEINLINE HRESULT ID3D11VertexShader_SetPrivateData(ID3D11VertexShader* This,REFGUID guid,UINT DataSize,const void *pData) {
  5340. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  5341. }
  5342. static FORCEINLINE HRESULT ID3D11VertexShader_SetPrivateDataInterface(ID3D11VertexShader* This,REFGUID guid,const IUnknown *pData) {
  5343. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  5344. }
  5345. #endif
  5346. #endif
  5347. #endif
  5348. #endif /* __ID3D11VertexShader_INTERFACE_DEFINED__ */
  5349. /*****************************************************************************
  5350. * ID3D11DeviceContext interface
  5351. */
  5352. #ifndef __ID3D11DeviceContext_INTERFACE_DEFINED__
  5353. #define __ID3D11DeviceContext_INTERFACE_DEFINED__
  5354. DEFINE_GUID(IID_ID3D11DeviceContext, 0xc0bfa96c, 0xe089, 0x44fb, 0x8e,0xaf, 0x26,0xf8,0x79,0x61,0x90,0xda);
  5355. #if defined(__cplusplus) && !defined(CINTERFACE)
  5356. MIDL_INTERFACE("c0bfa96c-e089-44fb-8eaf-26f8796190da")
  5357. ID3D11DeviceContext : public ID3D11DeviceChild
  5358. {
  5359. virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
  5360. UINT StartSlot,
  5361. UINT NumBuffers,
  5362. ID3D11Buffer *const *ppConstantBuffers) = 0;
  5363. virtual void STDMETHODCALLTYPE PSSetShaderResources(
  5364. UINT StartSlot,
  5365. UINT NumViews,
  5366. ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5367. virtual void STDMETHODCALLTYPE PSSetShader(
  5368. ID3D11PixelShader *pPixelShader,
  5369. ID3D11ClassInstance *const *ppClassInstances,
  5370. UINT NumClassInstances) = 0;
  5371. virtual void STDMETHODCALLTYPE PSSetSamplers(
  5372. UINT StartSlot,
  5373. UINT NumSamplers,
  5374. ID3D11SamplerState *const *ppSamplers) = 0;
  5375. virtual void STDMETHODCALLTYPE VSSetShader(
  5376. ID3D11VertexShader *pVertexShader,
  5377. ID3D11ClassInstance *const *ppClassInstances,
  5378. UINT NumClassInstances) = 0;
  5379. virtual void STDMETHODCALLTYPE DrawIndexed(
  5380. UINT IndexCount,
  5381. UINT StartIndexLocation,
  5382. INT BaseVertexLocation) = 0;
  5383. virtual void STDMETHODCALLTYPE Draw(
  5384. UINT VertexCount,
  5385. UINT StartVertexLocation) = 0;
  5386. virtual HRESULT STDMETHODCALLTYPE Map(
  5387. ID3D11Resource *pResource,
  5388. UINT Subresource,
  5389. D3D11_MAP MapType,
  5390. UINT MapFlags,
  5391. D3D11_MAPPED_SUBRESOURCE *pMappedResource) = 0;
  5392. virtual void STDMETHODCALLTYPE Unmap(
  5393. ID3D11Resource *pResource,
  5394. UINT Subresource) = 0;
  5395. virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
  5396. UINT StartSlot,
  5397. UINT NumBuffers,
  5398. ID3D11Buffer *const *ppConstantBuffers) = 0;
  5399. virtual void STDMETHODCALLTYPE IASetInputLayout(
  5400. ID3D11InputLayout *pInputLayout) = 0;
  5401. virtual void STDMETHODCALLTYPE IASetVertexBuffers(
  5402. UINT StartSlot,
  5403. UINT NumBuffers,
  5404. ID3D11Buffer *const *ppVertexBuffers,
  5405. const UINT *pStrides,
  5406. const UINT *pOffsets) = 0;
  5407. virtual void STDMETHODCALLTYPE IASetIndexBuffer(
  5408. ID3D11Buffer *pIndexBuffer,
  5409. DXGI_FORMAT Format,
  5410. UINT Offset) = 0;
  5411. virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
  5412. UINT IndexCountPerInstance,
  5413. UINT InstanceCount,
  5414. UINT StartIndexLocation,
  5415. INT BaseVertexLocation,
  5416. UINT StartInstanceLocation) = 0;
  5417. virtual void STDMETHODCALLTYPE DrawInstanced(
  5418. UINT VertexCountPerInstance,
  5419. UINT InstanceCount,
  5420. UINT StartVertexLocation,
  5421. UINT StartInstanceLocation) = 0;
  5422. virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
  5423. UINT StartSlot,
  5424. UINT NumBuffers,
  5425. ID3D11Buffer *const *ppConstantBuffers) = 0;
  5426. virtual void STDMETHODCALLTYPE GSSetShader(
  5427. ID3D11GeometryShader *pShader,
  5428. ID3D11ClassInstance *const *ppClassInstances,
  5429. UINT NumClassInstances) = 0;
  5430. virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
  5431. D3D11_PRIMITIVE_TOPOLOGY Topology) = 0;
  5432. virtual void STDMETHODCALLTYPE VSSetShaderResources(
  5433. UINT StartSlot,
  5434. UINT NumViews,
  5435. ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5436. virtual void STDMETHODCALLTYPE VSSetSamplers(
  5437. UINT StartSlot,
  5438. UINT NumSamplers,
  5439. ID3D11SamplerState *const *ppSamplers) = 0;
  5440. virtual void STDMETHODCALLTYPE Begin(
  5441. ID3D11Asynchronous *pAsync) = 0;
  5442. virtual void STDMETHODCALLTYPE End(
  5443. ID3D11Asynchronous *pAsync) = 0;
  5444. virtual HRESULT STDMETHODCALLTYPE GetData(
  5445. ID3D11Asynchronous *pAsync,
  5446. void *pData,
  5447. UINT DataSize,
  5448. UINT GetDataFlags) = 0;
  5449. virtual void STDMETHODCALLTYPE SetPredication(
  5450. ID3D11Predicate *pPredicate,
  5451. WINBOOL PredicateValue) = 0;
  5452. virtual void STDMETHODCALLTYPE GSSetShaderResources(
  5453. UINT StartSlot,
  5454. UINT NumViews,
  5455. ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5456. virtual void STDMETHODCALLTYPE GSSetSamplers(
  5457. UINT StartSlot,
  5458. UINT NumSamplers,
  5459. ID3D11SamplerState *const *ppSamplers) = 0;
  5460. virtual void STDMETHODCALLTYPE OMSetRenderTargets(
  5461. UINT NumViews,
  5462. ID3D11RenderTargetView *const *ppRenderTargetViews,
  5463. ID3D11DepthStencilView *pDepthStencilView) = 0;
  5464. virtual void STDMETHODCALLTYPE OMSetRenderTargetsAndUnorderedAccessViews(
  5465. UINT NumRTVs,
  5466. ID3D11RenderTargetView *const *ppRenderTargetViews,
  5467. ID3D11DepthStencilView *pDepthStencilView,
  5468. UINT UAVStartSlot,
  5469. UINT NumUAVs,
  5470. ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  5471. const UINT *pUAVInitialCounts) = 0;
  5472. virtual void STDMETHODCALLTYPE OMSetBlendState(
  5473. ID3D11BlendState *pBlendState,
  5474. const FLOAT BlendFactor[4],
  5475. UINT SampleMask) = 0;
  5476. virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
  5477. ID3D11DepthStencilState *pDepthStencilState,
  5478. UINT StencilRef) = 0;
  5479. virtual void STDMETHODCALLTYPE SOSetTargets(
  5480. UINT NumBuffers,
  5481. ID3D11Buffer *const *ppSOTargets,
  5482. const UINT *pOffsets) = 0;
  5483. virtual void STDMETHODCALLTYPE DrawAuto(
  5484. ) = 0;
  5485. virtual void STDMETHODCALLTYPE DrawIndexedInstancedIndirect(
  5486. ID3D11Buffer *pBufferForArgs,
  5487. UINT AlignedByteOffsetForArgs) = 0;
  5488. virtual void STDMETHODCALLTYPE DrawInstancedIndirect(
  5489. ID3D11Buffer *pBufferForArgs,
  5490. UINT AlignedByteOffsetForArgs) = 0;
  5491. virtual void STDMETHODCALLTYPE Dispatch(
  5492. UINT ThreadGroupCountX,
  5493. UINT ThreadGroupCountY,
  5494. UINT ThreadGroupCountZ) = 0;
  5495. virtual void STDMETHODCALLTYPE DispatchIndirect(
  5496. ID3D11Buffer *pBufferForArgs,
  5497. UINT AlignedByteOffsetForArgs) = 0;
  5498. virtual void STDMETHODCALLTYPE RSSetState(
  5499. ID3D11RasterizerState *pRasterizerState) = 0;
  5500. virtual void STDMETHODCALLTYPE RSSetViewports(
  5501. UINT NumViewports,
  5502. const D3D11_VIEWPORT *pViewports) = 0;
  5503. virtual void STDMETHODCALLTYPE RSSetScissorRects(
  5504. UINT NumRects,
  5505. const D3D11_RECT *pRects) = 0;
  5506. virtual void STDMETHODCALLTYPE CopySubresourceRegion(
  5507. ID3D11Resource *pDstResource,
  5508. UINT DstSubresource,
  5509. UINT DstX,
  5510. UINT DstY,
  5511. UINT DstZ,
  5512. ID3D11Resource *pSrcResource,
  5513. UINT SrcSubresource,
  5514. const D3D11_BOX *pSrcBox) = 0;
  5515. virtual void STDMETHODCALLTYPE CopyResource(
  5516. ID3D11Resource *pDstResource,
  5517. ID3D11Resource *pSrcResource) = 0;
  5518. virtual void STDMETHODCALLTYPE UpdateSubresource(
  5519. ID3D11Resource *pDstResource,
  5520. UINT DstSubresource,
  5521. const D3D11_BOX *pDstBox,
  5522. const void *pSrcData,
  5523. UINT SrcRowPitch,
  5524. UINT SrcDepthPitch) = 0;
  5525. virtual void STDMETHODCALLTYPE CopyStructureCount(
  5526. ID3D11Buffer *pDstBuffer,
  5527. UINT DstAlignedByteOffset,
  5528. ID3D11UnorderedAccessView *pSrcView) = 0;
  5529. virtual void STDMETHODCALLTYPE ClearRenderTargetView(
  5530. ID3D11RenderTargetView *pRenderTargetView,
  5531. const FLOAT ColorRGBA[4]) = 0;
  5532. virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
  5533. ID3D11UnorderedAccessView *pUnorderedAccessView,
  5534. const UINT Values[4]) = 0;
  5535. virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
  5536. ID3D11UnorderedAccessView *pUnorderedAccessView,
  5537. const FLOAT Values[4]) = 0;
  5538. virtual void STDMETHODCALLTYPE ClearDepthStencilView(
  5539. ID3D11DepthStencilView *pDepthStencilView,
  5540. UINT ClearFlags,
  5541. FLOAT Depth,
  5542. UINT8 Stencil) = 0;
  5543. virtual void STDMETHODCALLTYPE GenerateMips(
  5544. ID3D11ShaderResourceView *pShaderResourceView) = 0;
  5545. virtual void STDMETHODCALLTYPE SetResourceMinLOD(
  5546. ID3D11Resource *pResource,
  5547. FLOAT MinLOD) = 0;
  5548. virtual FLOAT STDMETHODCALLTYPE GetResourceMinLOD(
  5549. ID3D11Resource *pResource) = 0;
  5550. virtual void STDMETHODCALLTYPE ResolveSubresource(
  5551. ID3D11Resource *pDstResource,
  5552. UINT DstSubresource,
  5553. ID3D11Resource *pSrcResource,
  5554. UINT SrcSubresource,
  5555. DXGI_FORMAT Format) = 0;
  5556. virtual void STDMETHODCALLTYPE ExecuteCommandList(
  5557. ID3D11CommandList *pCommandList,
  5558. WINBOOL RestoreContextState) = 0;
  5559. virtual void STDMETHODCALLTYPE HSSetShaderResources(
  5560. UINT StartSlot,
  5561. UINT NumViews,
  5562. ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5563. virtual void STDMETHODCALLTYPE HSSetShader(
  5564. ID3D11HullShader *pHullShader,
  5565. ID3D11ClassInstance *const *ppClassInstances,
  5566. UINT NumClassInstances) = 0;
  5567. virtual void STDMETHODCALLTYPE HSSetSamplers(
  5568. UINT StartSlot,
  5569. UINT NumSamplers,
  5570. ID3D11SamplerState *const *ppSamplers) = 0;
  5571. virtual void STDMETHODCALLTYPE HSSetConstantBuffers(
  5572. UINT StartSlot,
  5573. UINT NumBuffers,
  5574. ID3D11Buffer *const *ppConstantBuffers) = 0;
  5575. virtual void STDMETHODCALLTYPE DSSetShaderResources(
  5576. UINT StartSlot,
  5577. UINT NumViews,
  5578. ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5579. virtual void STDMETHODCALLTYPE DSSetShader(
  5580. ID3D11DomainShader *pDomainShader,
  5581. ID3D11ClassInstance *const *ppClassInstances,
  5582. UINT NumClassInstances) = 0;
  5583. virtual void STDMETHODCALLTYPE DSSetSamplers(
  5584. UINT StartSlot,
  5585. UINT NumSamplers,
  5586. ID3D11SamplerState *const *ppSamplers) = 0;
  5587. virtual void STDMETHODCALLTYPE DSSetConstantBuffers(
  5588. UINT StartSlot,
  5589. UINT NumBuffers,
  5590. ID3D11Buffer *const *ppConstantBuffers) = 0;
  5591. virtual void STDMETHODCALLTYPE CSSetShaderResources(
  5592. UINT StartSlot,
  5593. UINT NumViews,
  5594. ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
  5595. virtual void STDMETHODCALLTYPE CSSetUnorderedAccessViews(
  5596. UINT StartSlot,
  5597. UINT NumUAVs,
  5598. ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  5599. const UINT *pUAVInitialCounts) = 0;
  5600. virtual void STDMETHODCALLTYPE CSSetShader(
  5601. ID3D11ComputeShader *pComputeShader,
  5602. ID3D11ClassInstance *const *ppClassInstances,
  5603. UINT NumClassInstances) = 0;
  5604. virtual void STDMETHODCALLTYPE CSSetSamplers(
  5605. UINT StartSlot,
  5606. UINT NumSamplers,
  5607. ID3D11SamplerState *const *ppSamplers) = 0;
  5608. virtual void STDMETHODCALLTYPE CSSetConstantBuffers(
  5609. UINT StartSlot,
  5610. UINT NumBuffers,
  5611. ID3D11Buffer *const *ppConstantBuffers) = 0;
  5612. virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
  5613. UINT StartSlot,
  5614. UINT NumBuffers,
  5615. ID3D11Buffer **ppConstantBuffers) = 0;
  5616. virtual void STDMETHODCALLTYPE PSGetShaderResources(
  5617. UINT StartSlot,
  5618. UINT NumViews,
  5619. ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5620. virtual void STDMETHODCALLTYPE PSGetShader(
  5621. ID3D11PixelShader **ppPixelShader,
  5622. ID3D11ClassInstance **ppClassInstances,
  5623. UINT *pNumClassInstances) = 0;
  5624. virtual void STDMETHODCALLTYPE PSGetSamplers(
  5625. UINT StartSlot,
  5626. UINT NumSamplers,
  5627. ID3D11SamplerState **ppSamplers) = 0;
  5628. virtual void STDMETHODCALLTYPE VSGetShader(
  5629. ID3D11VertexShader **ppVertexShader,
  5630. ID3D11ClassInstance **ppClassInstances,
  5631. UINT *pNumClassInstances) = 0;
  5632. virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
  5633. UINT StartSlot,
  5634. UINT NumBuffers,
  5635. ID3D11Buffer **ppConstantBuffers) = 0;
  5636. virtual void STDMETHODCALLTYPE IAGetInputLayout(
  5637. ID3D11InputLayout **ppInputLayout) = 0;
  5638. virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
  5639. UINT StartSlot,
  5640. UINT NumBuffers,
  5641. ID3D11Buffer **ppVertexBuffers,
  5642. UINT *pStrides,
  5643. UINT *pOffsets) = 0;
  5644. virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
  5645. ID3D11Buffer **pIndexBuffer,
  5646. DXGI_FORMAT *Format,
  5647. UINT *Offset) = 0;
  5648. virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
  5649. UINT StartSlot,
  5650. UINT NumBuffers,
  5651. ID3D11Buffer **ppConstantBuffers) = 0;
  5652. virtual void STDMETHODCALLTYPE GSGetShader(
  5653. ID3D11GeometryShader **ppGeometryShader,
  5654. ID3D11ClassInstance **ppClassInstances,
  5655. UINT *pNumClassInstances) = 0;
  5656. virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
  5657. D3D11_PRIMITIVE_TOPOLOGY *pTopology) = 0;
  5658. virtual void STDMETHODCALLTYPE VSGetShaderResources(
  5659. UINT StartSlot,
  5660. UINT NumViews,
  5661. ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5662. virtual void STDMETHODCALLTYPE VSGetSamplers(
  5663. UINT StartSlot,
  5664. UINT NumSamplers,
  5665. ID3D11SamplerState **ppSamplers) = 0;
  5666. virtual void STDMETHODCALLTYPE GetPredication(
  5667. ID3D11Predicate **ppPredicate,
  5668. WINBOOL *pPredicateValue) = 0;
  5669. virtual void STDMETHODCALLTYPE GSGetShaderResources(
  5670. UINT StartSlot,
  5671. UINT NumViews,
  5672. ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5673. virtual void STDMETHODCALLTYPE GSGetSamplers(
  5674. UINT StartSlot,
  5675. UINT NumSamplers,
  5676. ID3D11SamplerState **ppSamplers) = 0;
  5677. virtual void STDMETHODCALLTYPE OMGetRenderTargets(
  5678. UINT NumViews,
  5679. ID3D11RenderTargetView **ppRenderTargetViews,
  5680. ID3D11DepthStencilView **ppDepthStencilView) = 0;
  5681. virtual void STDMETHODCALLTYPE OMGetRenderTargetsAndUnorderedAccessViews(
  5682. UINT NumRTVs,
  5683. ID3D11RenderTargetView **ppRenderTargetViews,
  5684. ID3D11DepthStencilView **ppDepthStencilView,
  5685. UINT UAVStartSlot,
  5686. UINT NumUAVs,
  5687. ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
  5688. virtual void STDMETHODCALLTYPE OMGetBlendState(
  5689. ID3D11BlendState **ppBlendState,
  5690. FLOAT BlendFactor[4],
  5691. UINT *pSampleMask) = 0;
  5692. virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
  5693. ID3D11DepthStencilState **ppDepthStencilState,
  5694. UINT *pStencilRef) = 0;
  5695. virtual void STDMETHODCALLTYPE SOGetTargets(
  5696. UINT NumBuffers,
  5697. ID3D11Buffer **ppSOTargets) = 0;
  5698. virtual void STDMETHODCALLTYPE RSGetState(
  5699. ID3D11RasterizerState **ppRasterizerState) = 0;
  5700. virtual void STDMETHODCALLTYPE RSGetViewports(
  5701. UINT *pNumViewports,
  5702. D3D11_VIEWPORT *pViewports) = 0;
  5703. virtual void STDMETHODCALLTYPE RSGetScissorRects(
  5704. UINT *pNumRects,
  5705. D3D11_RECT *pRects) = 0;
  5706. virtual void STDMETHODCALLTYPE HSGetShaderResources(
  5707. UINT StartSlot,
  5708. UINT NumViews,
  5709. ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5710. virtual void STDMETHODCALLTYPE HSGetShader(
  5711. ID3D11HullShader **ppHullShader,
  5712. ID3D11ClassInstance **ppClassInstances,
  5713. UINT *pNumClassInstances) = 0;
  5714. virtual void STDMETHODCALLTYPE HSGetSamplers(
  5715. UINT StartSlot,
  5716. UINT NumSamplers,
  5717. ID3D11SamplerState **ppSamplers) = 0;
  5718. virtual void STDMETHODCALLTYPE HSGetConstantBuffers(
  5719. UINT StartSlot,
  5720. UINT NumBuffers,
  5721. ID3D11Buffer **ppConstantBuffers) = 0;
  5722. virtual void STDMETHODCALLTYPE DSGetShaderResources(
  5723. UINT StartSlot,
  5724. UINT NumViews,
  5725. ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5726. virtual void STDMETHODCALLTYPE DSGetShader(
  5727. ID3D11DomainShader **ppDomainShader,
  5728. ID3D11ClassInstance **ppClassInstances,
  5729. UINT *pNumClassInstances) = 0;
  5730. virtual void STDMETHODCALLTYPE DSGetSamplers(
  5731. UINT StartSlot,
  5732. UINT NumSamplers,
  5733. ID3D11SamplerState **ppSamplers) = 0;
  5734. virtual void STDMETHODCALLTYPE DSGetConstantBuffers(
  5735. UINT StartSlot,
  5736. UINT NumBuffers,
  5737. ID3D11Buffer **ppConstantBuffers) = 0;
  5738. virtual void STDMETHODCALLTYPE CSGetShaderResources(
  5739. UINT StartSlot,
  5740. UINT NumViews,
  5741. ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
  5742. virtual void STDMETHODCALLTYPE CSGetUnorderedAccessViews(
  5743. UINT StartSlot,
  5744. UINT NumUAVs,
  5745. ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
  5746. virtual void STDMETHODCALLTYPE CSGetShader(
  5747. ID3D11ComputeShader **ppComputeShader,
  5748. ID3D11ClassInstance **ppClassInstances,
  5749. UINT *pNumClassInstances) = 0;
  5750. virtual void STDMETHODCALLTYPE CSGetSamplers(
  5751. UINT StartSlot,
  5752. UINT NumSamplers,
  5753. ID3D11SamplerState **ppSamplers) = 0;
  5754. virtual void STDMETHODCALLTYPE CSGetConstantBuffers(
  5755. UINT StartSlot,
  5756. UINT NumBuffers,
  5757. ID3D11Buffer **ppConstantBuffers) = 0;
  5758. virtual void STDMETHODCALLTYPE ClearState(
  5759. ) = 0;
  5760. virtual void STDMETHODCALLTYPE Flush(
  5761. ) = 0;
  5762. virtual D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE GetType(
  5763. ) = 0;
  5764. virtual UINT STDMETHODCALLTYPE GetContextFlags(
  5765. ) = 0;
  5766. virtual HRESULT STDMETHODCALLTYPE FinishCommandList(
  5767. WINBOOL RestoreDeferredContextState,
  5768. ID3D11CommandList **ppCommandList) = 0;
  5769. };
  5770. #ifdef __CRT_UUID_DECL
  5771. __CRT_UUID_DECL(ID3D11DeviceContext, 0xc0bfa96c, 0xe089, 0x44fb, 0x8e,0xaf, 0x26,0xf8,0x79,0x61,0x90,0xda)
  5772. #endif
  5773. #else
  5774. typedef struct ID3D11DeviceContextVtbl {
  5775. BEGIN_INTERFACE
  5776. /*** IUnknown methods ***/
  5777. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5778. ID3D11DeviceContext *This,
  5779. REFIID riid,
  5780. void **ppvObject);
  5781. ULONG (STDMETHODCALLTYPE *AddRef)(
  5782. ID3D11DeviceContext *This);
  5783. ULONG (STDMETHODCALLTYPE *Release)(
  5784. ID3D11DeviceContext *This);
  5785. /*** ID3D11DeviceChild methods ***/
  5786. void (STDMETHODCALLTYPE *GetDevice)(
  5787. ID3D11DeviceContext *This,
  5788. ID3D11Device **ppDevice);
  5789. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  5790. ID3D11DeviceContext *This,
  5791. REFGUID guid,
  5792. UINT *pDataSize,
  5793. void *pData);
  5794. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  5795. ID3D11DeviceContext *This,
  5796. REFGUID guid,
  5797. UINT DataSize,
  5798. const void *pData);
  5799. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  5800. ID3D11DeviceContext *This,
  5801. REFGUID guid,
  5802. const IUnknown *pData);
  5803. /*** ID3D11DeviceContext methods ***/
  5804. void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
  5805. ID3D11DeviceContext *This,
  5806. UINT StartSlot,
  5807. UINT NumBuffers,
  5808. ID3D11Buffer *const *ppConstantBuffers);
  5809. void (STDMETHODCALLTYPE *PSSetShaderResources)(
  5810. ID3D11DeviceContext *This,
  5811. UINT StartSlot,
  5812. UINT NumViews,
  5813. ID3D11ShaderResourceView *const *ppShaderResourceViews);
  5814. void (STDMETHODCALLTYPE *PSSetShader)(
  5815. ID3D11DeviceContext *This,
  5816. ID3D11PixelShader *pPixelShader,
  5817. ID3D11ClassInstance *const *ppClassInstances,
  5818. UINT NumClassInstances);
  5819. void (STDMETHODCALLTYPE *PSSetSamplers)(
  5820. ID3D11DeviceContext *This,
  5821. UINT StartSlot,
  5822. UINT NumSamplers,
  5823. ID3D11SamplerState *const *ppSamplers);
  5824. void (STDMETHODCALLTYPE *VSSetShader)(
  5825. ID3D11DeviceContext *This,
  5826. ID3D11VertexShader *pVertexShader,
  5827. ID3D11ClassInstance *const *ppClassInstances,
  5828. UINT NumClassInstances);
  5829. void (STDMETHODCALLTYPE *DrawIndexed)(
  5830. ID3D11DeviceContext *This,
  5831. UINT IndexCount,
  5832. UINT StartIndexLocation,
  5833. INT BaseVertexLocation);
  5834. void (STDMETHODCALLTYPE *Draw)(
  5835. ID3D11DeviceContext *This,
  5836. UINT VertexCount,
  5837. UINT StartVertexLocation);
  5838. HRESULT (STDMETHODCALLTYPE *Map)(
  5839. ID3D11DeviceContext *This,
  5840. ID3D11Resource *pResource,
  5841. UINT Subresource,
  5842. D3D11_MAP MapType,
  5843. UINT MapFlags,
  5844. D3D11_MAPPED_SUBRESOURCE *pMappedResource);
  5845. void (STDMETHODCALLTYPE *Unmap)(
  5846. ID3D11DeviceContext *This,
  5847. ID3D11Resource *pResource,
  5848. UINT Subresource);
  5849. void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
  5850. ID3D11DeviceContext *This,
  5851. UINT StartSlot,
  5852. UINT NumBuffers,
  5853. ID3D11Buffer *const *ppConstantBuffers);
  5854. void (STDMETHODCALLTYPE *IASetInputLayout)(
  5855. ID3D11DeviceContext *This,
  5856. ID3D11InputLayout *pInputLayout);
  5857. void (STDMETHODCALLTYPE *IASetVertexBuffers)(
  5858. ID3D11DeviceContext *This,
  5859. UINT StartSlot,
  5860. UINT NumBuffers,
  5861. ID3D11Buffer *const *ppVertexBuffers,
  5862. const UINT *pStrides,
  5863. const UINT *pOffsets);
  5864. void (STDMETHODCALLTYPE *IASetIndexBuffer)(
  5865. ID3D11DeviceContext *This,
  5866. ID3D11Buffer *pIndexBuffer,
  5867. DXGI_FORMAT Format,
  5868. UINT Offset);
  5869. void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
  5870. ID3D11DeviceContext *This,
  5871. UINT IndexCountPerInstance,
  5872. UINT InstanceCount,
  5873. UINT StartIndexLocation,
  5874. INT BaseVertexLocation,
  5875. UINT StartInstanceLocation);
  5876. void (STDMETHODCALLTYPE *DrawInstanced)(
  5877. ID3D11DeviceContext *This,
  5878. UINT VertexCountPerInstance,
  5879. UINT InstanceCount,
  5880. UINT StartVertexLocation,
  5881. UINT StartInstanceLocation);
  5882. void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
  5883. ID3D11DeviceContext *This,
  5884. UINT StartSlot,
  5885. UINT NumBuffers,
  5886. ID3D11Buffer *const *ppConstantBuffers);
  5887. void (STDMETHODCALLTYPE *GSSetShader)(
  5888. ID3D11DeviceContext *This,
  5889. ID3D11GeometryShader *pShader,
  5890. ID3D11ClassInstance *const *ppClassInstances,
  5891. UINT NumClassInstances);
  5892. void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
  5893. ID3D11DeviceContext *This,
  5894. D3D11_PRIMITIVE_TOPOLOGY Topology);
  5895. void (STDMETHODCALLTYPE *VSSetShaderResources)(
  5896. ID3D11DeviceContext *This,
  5897. UINT StartSlot,
  5898. UINT NumViews,
  5899. ID3D11ShaderResourceView *const *ppShaderResourceViews);
  5900. void (STDMETHODCALLTYPE *VSSetSamplers)(
  5901. ID3D11DeviceContext *This,
  5902. UINT StartSlot,
  5903. UINT NumSamplers,
  5904. ID3D11SamplerState *const *ppSamplers);
  5905. void (STDMETHODCALLTYPE *Begin)(
  5906. ID3D11DeviceContext *This,
  5907. ID3D11Asynchronous *pAsync);
  5908. void (STDMETHODCALLTYPE *End)(
  5909. ID3D11DeviceContext *This,
  5910. ID3D11Asynchronous *pAsync);
  5911. HRESULT (STDMETHODCALLTYPE *GetData)(
  5912. ID3D11DeviceContext *This,
  5913. ID3D11Asynchronous *pAsync,
  5914. void *pData,
  5915. UINT DataSize,
  5916. UINT GetDataFlags);
  5917. void (STDMETHODCALLTYPE *SetPredication)(
  5918. ID3D11DeviceContext *This,
  5919. ID3D11Predicate *pPredicate,
  5920. WINBOOL PredicateValue);
  5921. void (STDMETHODCALLTYPE *GSSetShaderResources)(
  5922. ID3D11DeviceContext *This,
  5923. UINT StartSlot,
  5924. UINT NumViews,
  5925. ID3D11ShaderResourceView *const *ppShaderResourceViews);
  5926. void (STDMETHODCALLTYPE *GSSetSamplers)(
  5927. ID3D11DeviceContext *This,
  5928. UINT StartSlot,
  5929. UINT NumSamplers,
  5930. ID3D11SamplerState *const *ppSamplers);
  5931. void (STDMETHODCALLTYPE *OMSetRenderTargets)(
  5932. ID3D11DeviceContext *This,
  5933. UINT NumViews,
  5934. ID3D11RenderTargetView *const *ppRenderTargetViews,
  5935. ID3D11DepthStencilView *pDepthStencilView);
  5936. void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
  5937. ID3D11DeviceContext *This,
  5938. UINT NumRTVs,
  5939. ID3D11RenderTargetView *const *ppRenderTargetViews,
  5940. ID3D11DepthStencilView *pDepthStencilView,
  5941. UINT UAVStartSlot,
  5942. UINT NumUAVs,
  5943. ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  5944. const UINT *pUAVInitialCounts);
  5945. void (STDMETHODCALLTYPE *OMSetBlendState)(
  5946. ID3D11DeviceContext *This,
  5947. ID3D11BlendState *pBlendState,
  5948. const FLOAT BlendFactor[4],
  5949. UINT SampleMask);
  5950. void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
  5951. ID3D11DeviceContext *This,
  5952. ID3D11DepthStencilState *pDepthStencilState,
  5953. UINT StencilRef);
  5954. void (STDMETHODCALLTYPE *SOSetTargets)(
  5955. ID3D11DeviceContext *This,
  5956. UINT NumBuffers,
  5957. ID3D11Buffer *const *ppSOTargets,
  5958. const UINT *pOffsets);
  5959. void (STDMETHODCALLTYPE *DrawAuto)(
  5960. ID3D11DeviceContext *This);
  5961. void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
  5962. ID3D11DeviceContext *This,
  5963. ID3D11Buffer *pBufferForArgs,
  5964. UINT AlignedByteOffsetForArgs);
  5965. void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
  5966. ID3D11DeviceContext *This,
  5967. ID3D11Buffer *pBufferForArgs,
  5968. UINT AlignedByteOffsetForArgs);
  5969. void (STDMETHODCALLTYPE *Dispatch)(
  5970. ID3D11DeviceContext *This,
  5971. UINT ThreadGroupCountX,
  5972. UINT ThreadGroupCountY,
  5973. UINT ThreadGroupCountZ);
  5974. void (STDMETHODCALLTYPE *DispatchIndirect)(
  5975. ID3D11DeviceContext *This,
  5976. ID3D11Buffer *pBufferForArgs,
  5977. UINT AlignedByteOffsetForArgs);
  5978. void (STDMETHODCALLTYPE *RSSetState)(
  5979. ID3D11DeviceContext *This,
  5980. ID3D11RasterizerState *pRasterizerState);
  5981. void (STDMETHODCALLTYPE *RSSetViewports)(
  5982. ID3D11DeviceContext *This,
  5983. UINT NumViewports,
  5984. const D3D11_VIEWPORT *pViewports);
  5985. void (STDMETHODCALLTYPE *RSSetScissorRects)(
  5986. ID3D11DeviceContext *This,
  5987. UINT NumRects,
  5988. const D3D11_RECT *pRects);
  5989. void (STDMETHODCALLTYPE *CopySubresourceRegion)(
  5990. ID3D11DeviceContext *This,
  5991. ID3D11Resource *pDstResource,
  5992. UINT DstSubresource,
  5993. UINT DstX,
  5994. UINT DstY,
  5995. UINT DstZ,
  5996. ID3D11Resource *pSrcResource,
  5997. UINT SrcSubresource,
  5998. const D3D11_BOX *pSrcBox);
  5999. void (STDMETHODCALLTYPE *CopyResource)(
  6000. ID3D11DeviceContext *This,
  6001. ID3D11Resource *pDstResource,
  6002. ID3D11Resource *pSrcResource);
  6003. void (STDMETHODCALLTYPE *UpdateSubresource)(
  6004. ID3D11DeviceContext *This,
  6005. ID3D11Resource *pDstResource,
  6006. UINT DstSubresource,
  6007. const D3D11_BOX *pDstBox,
  6008. const void *pSrcData,
  6009. UINT SrcRowPitch,
  6010. UINT SrcDepthPitch);
  6011. void (STDMETHODCALLTYPE *CopyStructureCount)(
  6012. ID3D11DeviceContext *This,
  6013. ID3D11Buffer *pDstBuffer,
  6014. UINT DstAlignedByteOffset,
  6015. ID3D11UnorderedAccessView *pSrcView);
  6016. void (STDMETHODCALLTYPE *ClearRenderTargetView)(
  6017. ID3D11DeviceContext *This,
  6018. ID3D11RenderTargetView *pRenderTargetView,
  6019. const FLOAT ColorRGBA[4]);
  6020. void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
  6021. ID3D11DeviceContext *This,
  6022. ID3D11UnorderedAccessView *pUnorderedAccessView,
  6023. const UINT Values[4]);
  6024. void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
  6025. ID3D11DeviceContext *This,
  6026. ID3D11UnorderedAccessView *pUnorderedAccessView,
  6027. const FLOAT Values[4]);
  6028. void (STDMETHODCALLTYPE *ClearDepthStencilView)(
  6029. ID3D11DeviceContext *This,
  6030. ID3D11DepthStencilView *pDepthStencilView,
  6031. UINT ClearFlags,
  6032. FLOAT Depth,
  6033. UINT8 Stencil);
  6034. void (STDMETHODCALLTYPE *GenerateMips)(
  6035. ID3D11DeviceContext *This,
  6036. ID3D11ShaderResourceView *pShaderResourceView);
  6037. void (STDMETHODCALLTYPE *SetResourceMinLOD)(
  6038. ID3D11DeviceContext *This,
  6039. ID3D11Resource *pResource,
  6040. FLOAT MinLOD);
  6041. FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
  6042. ID3D11DeviceContext *This,
  6043. ID3D11Resource *pResource);
  6044. void (STDMETHODCALLTYPE *ResolveSubresource)(
  6045. ID3D11DeviceContext *This,
  6046. ID3D11Resource *pDstResource,
  6047. UINT DstSubresource,
  6048. ID3D11Resource *pSrcResource,
  6049. UINT SrcSubresource,
  6050. DXGI_FORMAT Format);
  6051. void (STDMETHODCALLTYPE *ExecuteCommandList)(
  6052. ID3D11DeviceContext *This,
  6053. ID3D11CommandList *pCommandList,
  6054. WINBOOL RestoreContextState);
  6055. void (STDMETHODCALLTYPE *HSSetShaderResources)(
  6056. ID3D11DeviceContext *This,
  6057. UINT StartSlot,
  6058. UINT NumViews,
  6059. ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6060. void (STDMETHODCALLTYPE *HSSetShader)(
  6061. ID3D11DeviceContext *This,
  6062. ID3D11HullShader *pHullShader,
  6063. ID3D11ClassInstance *const *ppClassInstances,
  6064. UINT NumClassInstances);
  6065. void (STDMETHODCALLTYPE *HSSetSamplers)(
  6066. ID3D11DeviceContext *This,
  6067. UINT StartSlot,
  6068. UINT NumSamplers,
  6069. ID3D11SamplerState *const *ppSamplers);
  6070. void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
  6071. ID3D11DeviceContext *This,
  6072. UINT StartSlot,
  6073. UINT NumBuffers,
  6074. ID3D11Buffer *const *ppConstantBuffers);
  6075. void (STDMETHODCALLTYPE *DSSetShaderResources)(
  6076. ID3D11DeviceContext *This,
  6077. UINT StartSlot,
  6078. UINT NumViews,
  6079. ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6080. void (STDMETHODCALLTYPE *DSSetShader)(
  6081. ID3D11DeviceContext *This,
  6082. ID3D11DomainShader *pDomainShader,
  6083. ID3D11ClassInstance *const *ppClassInstances,
  6084. UINT NumClassInstances);
  6085. void (STDMETHODCALLTYPE *DSSetSamplers)(
  6086. ID3D11DeviceContext *This,
  6087. UINT StartSlot,
  6088. UINT NumSamplers,
  6089. ID3D11SamplerState *const *ppSamplers);
  6090. void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
  6091. ID3D11DeviceContext *This,
  6092. UINT StartSlot,
  6093. UINT NumBuffers,
  6094. ID3D11Buffer *const *ppConstantBuffers);
  6095. void (STDMETHODCALLTYPE *CSSetShaderResources)(
  6096. ID3D11DeviceContext *This,
  6097. UINT StartSlot,
  6098. UINT NumViews,
  6099. ID3D11ShaderResourceView *const *ppShaderResourceViews);
  6100. void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
  6101. ID3D11DeviceContext *This,
  6102. UINT StartSlot,
  6103. UINT NumUAVs,
  6104. ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
  6105. const UINT *pUAVInitialCounts);
  6106. void (STDMETHODCALLTYPE *CSSetShader)(
  6107. ID3D11DeviceContext *This,
  6108. ID3D11ComputeShader *pComputeShader,
  6109. ID3D11ClassInstance *const *ppClassInstances,
  6110. UINT NumClassInstances);
  6111. void (STDMETHODCALLTYPE *CSSetSamplers)(
  6112. ID3D11DeviceContext *This,
  6113. UINT StartSlot,
  6114. UINT NumSamplers,
  6115. ID3D11SamplerState *const *ppSamplers);
  6116. void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
  6117. ID3D11DeviceContext *This,
  6118. UINT StartSlot,
  6119. UINT NumBuffers,
  6120. ID3D11Buffer *const *ppConstantBuffers);
  6121. void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
  6122. ID3D11DeviceContext *This,
  6123. UINT StartSlot,
  6124. UINT NumBuffers,
  6125. ID3D11Buffer **ppConstantBuffers);
  6126. void (STDMETHODCALLTYPE *PSGetShaderResources)(
  6127. ID3D11DeviceContext *This,
  6128. UINT StartSlot,
  6129. UINT NumViews,
  6130. ID3D11ShaderResourceView **ppShaderResourceViews);
  6131. void (STDMETHODCALLTYPE *PSGetShader)(
  6132. ID3D11DeviceContext *This,
  6133. ID3D11PixelShader **ppPixelShader,
  6134. ID3D11ClassInstance **ppClassInstances,
  6135. UINT *pNumClassInstances);
  6136. void (STDMETHODCALLTYPE *PSGetSamplers)(
  6137. ID3D11DeviceContext *This,
  6138. UINT StartSlot,
  6139. UINT NumSamplers,
  6140. ID3D11SamplerState **ppSamplers);
  6141. void (STDMETHODCALLTYPE *VSGetShader)(
  6142. ID3D11DeviceContext *This,
  6143. ID3D11VertexShader **ppVertexShader,
  6144. ID3D11ClassInstance **ppClassInstances,
  6145. UINT *pNumClassInstances);
  6146. void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
  6147. ID3D11DeviceContext *This,
  6148. UINT StartSlot,
  6149. UINT NumBuffers,
  6150. ID3D11Buffer **ppConstantBuffers);
  6151. void (STDMETHODCALLTYPE *IAGetInputLayout)(
  6152. ID3D11DeviceContext *This,
  6153. ID3D11InputLayout **ppInputLayout);
  6154. void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
  6155. ID3D11DeviceContext *This,
  6156. UINT StartSlot,
  6157. UINT NumBuffers,
  6158. ID3D11Buffer **ppVertexBuffers,
  6159. UINT *pStrides,
  6160. UINT *pOffsets);
  6161. void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
  6162. ID3D11DeviceContext *This,
  6163. ID3D11Buffer **pIndexBuffer,
  6164. DXGI_FORMAT *Format,
  6165. UINT *Offset);
  6166. void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
  6167. ID3D11DeviceContext *This,
  6168. UINT StartSlot,
  6169. UINT NumBuffers,
  6170. ID3D11Buffer **ppConstantBuffers);
  6171. void (STDMETHODCALLTYPE *GSGetShader)(
  6172. ID3D11DeviceContext *This,
  6173. ID3D11GeometryShader **ppGeometryShader,
  6174. ID3D11ClassInstance **ppClassInstances,
  6175. UINT *pNumClassInstances);
  6176. void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
  6177. ID3D11DeviceContext *This,
  6178. D3D11_PRIMITIVE_TOPOLOGY *pTopology);
  6179. void (STDMETHODCALLTYPE *VSGetShaderResources)(
  6180. ID3D11DeviceContext *This,
  6181. UINT StartSlot,
  6182. UINT NumViews,
  6183. ID3D11ShaderResourceView **ppShaderResourceViews);
  6184. void (STDMETHODCALLTYPE *VSGetSamplers)(
  6185. ID3D11DeviceContext *This,
  6186. UINT StartSlot,
  6187. UINT NumSamplers,
  6188. ID3D11SamplerState **ppSamplers);
  6189. void (STDMETHODCALLTYPE *GetPredication)(
  6190. ID3D11DeviceContext *This,
  6191. ID3D11Predicate **ppPredicate,
  6192. WINBOOL *pPredicateValue);
  6193. void (STDMETHODCALLTYPE *GSGetShaderResources)(
  6194. ID3D11DeviceContext *This,
  6195. UINT StartSlot,
  6196. UINT NumViews,
  6197. ID3D11ShaderResourceView **ppShaderResourceViews);
  6198. void (STDMETHODCALLTYPE *GSGetSamplers)(
  6199. ID3D11DeviceContext *This,
  6200. UINT StartSlot,
  6201. UINT NumSamplers,
  6202. ID3D11SamplerState **ppSamplers);
  6203. void (STDMETHODCALLTYPE *OMGetRenderTargets)(
  6204. ID3D11DeviceContext *This,
  6205. UINT NumViews,
  6206. ID3D11RenderTargetView **ppRenderTargetViews,
  6207. ID3D11DepthStencilView **ppDepthStencilView);
  6208. void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
  6209. ID3D11DeviceContext *This,
  6210. UINT NumRTVs,
  6211. ID3D11RenderTargetView **ppRenderTargetViews,
  6212. ID3D11DepthStencilView **ppDepthStencilView,
  6213. UINT UAVStartSlot,
  6214. UINT NumUAVs,
  6215. ID3D11UnorderedAccessView **ppUnorderedAccessViews);
  6216. void (STDMETHODCALLTYPE *OMGetBlendState)(
  6217. ID3D11DeviceContext *This,
  6218. ID3D11BlendState **ppBlendState,
  6219. FLOAT BlendFactor[4],
  6220. UINT *pSampleMask);
  6221. void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
  6222. ID3D11DeviceContext *This,
  6223. ID3D11DepthStencilState **ppDepthStencilState,
  6224. UINT *pStencilRef);
  6225. void (STDMETHODCALLTYPE *SOGetTargets)(
  6226. ID3D11DeviceContext *This,
  6227. UINT NumBuffers,
  6228. ID3D11Buffer **ppSOTargets);
  6229. void (STDMETHODCALLTYPE *RSGetState)(
  6230. ID3D11DeviceContext *This,
  6231. ID3D11RasterizerState **ppRasterizerState);
  6232. void (STDMETHODCALLTYPE *RSGetViewports)(
  6233. ID3D11DeviceContext *This,
  6234. UINT *pNumViewports,
  6235. D3D11_VIEWPORT *pViewports);
  6236. void (STDMETHODCALLTYPE *RSGetScissorRects)(
  6237. ID3D11DeviceContext *This,
  6238. UINT *pNumRects,
  6239. D3D11_RECT *pRects);
  6240. void (STDMETHODCALLTYPE *HSGetShaderResources)(
  6241. ID3D11DeviceContext *This,
  6242. UINT StartSlot,
  6243. UINT NumViews,
  6244. ID3D11ShaderResourceView **ppShaderResourceViews);
  6245. void (STDMETHODCALLTYPE *HSGetShader)(
  6246. ID3D11DeviceContext *This,
  6247. ID3D11HullShader **ppHullShader,
  6248. ID3D11ClassInstance **ppClassInstances,
  6249. UINT *pNumClassInstances);
  6250. void (STDMETHODCALLTYPE *HSGetSamplers)(
  6251. ID3D11DeviceContext *This,
  6252. UINT StartSlot,
  6253. UINT NumSamplers,
  6254. ID3D11SamplerState **ppSamplers);
  6255. void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
  6256. ID3D11DeviceContext *This,
  6257. UINT StartSlot,
  6258. UINT NumBuffers,
  6259. ID3D11Buffer **ppConstantBuffers);
  6260. void (STDMETHODCALLTYPE *DSGetShaderResources)(
  6261. ID3D11DeviceContext *This,
  6262. UINT StartSlot,
  6263. UINT NumViews,
  6264. ID3D11ShaderResourceView **ppShaderResourceViews);
  6265. void (STDMETHODCALLTYPE *DSGetShader)(
  6266. ID3D11DeviceContext *This,
  6267. ID3D11DomainShader **ppDomainShader,
  6268. ID3D11ClassInstance **ppClassInstances,
  6269. UINT *pNumClassInstances);
  6270. void (STDMETHODCALLTYPE *DSGetSamplers)(
  6271. ID3D11DeviceContext *This,
  6272. UINT StartSlot,
  6273. UINT NumSamplers,
  6274. ID3D11SamplerState **ppSamplers);
  6275. void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
  6276. ID3D11DeviceContext *This,
  6277. UINT StartSlot,
  6278. UINT NumBuffers,
  6279. ID3D11Buffer **ppConstantBuffers);
  6280. void (STDMETHODCALLTYPE *CSGetShaderResources)(
  6281. ID3D11DeviceContext *This,
  6282. UINT StartSlot,
  6283. UINT NumViews,
  6284. ID3D11ShaderResourceView **ppShaderResourceViews);
  6285. void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
  6286. ID3D11DeviceContext *This,
  6287. UINT StartSlot,
  6288. UINT NumUAVs,
  6289. ID3D11UnorderedAccessView **ppUnorderedAccessViews);
  6290. void (STDMETHODCALLTYPE *CSGetShader)(
  6291. ID3D11DeviceContext *This,
  6292. ID3D11ComputeShader **ppComputeShader,
  6293. ID3D11ClassInstance **ppClassInstances,
  6294. UINT *pNumClassInstances);
  6295. void (STDMETHODCALLTYPE *CSGetSamplers)(
  6296. ID3D11DeviceContext *This,
  6297. UINT StartSlot,
  6298. UINT NumSamplers,
  6299. ID3D11SamplerState **ppSamplers);
  6300. void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
  6301. ID3D11DeviceContext *This,
  6302. UINT StartSlot,
  6303. UINT NumBuffers,
  6304. ID3D11Buffer **ppConstantBuffers);
  6305. void (STDMETHODCALLTYPE *ClearState)(
  6306. ID3D11DeviceContext *This);
  6307. void (STDMETHODCALLTYPE *Flush)(
  6308. ID3D11DeviceContext *This);
  6309. D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
  6310. ID3D11DeviceContext *This);
  6311. UINT (STDMETHODCALLTYPE *GetContextFlags)(
  6312. ID3D11DeviceContext *This);
  6313. HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
  6314. ID3D11DeviceContext *This,
  6315. WINBOOL RestoreDeferredContextState,
  6316. ID3D11CommandList **ppCommandList);
  6317. END_INTERFACE
  6318. } ID3D11DeviceContextVtbl;
  6319. interface ID3D11DeviceContext {
  6320. CONST_VTBL ID3D11DeviceContextVtbl* lpVtbl;
  6321. };
  6322. #ifdef COBJMACROS
  6323. #ifndef WIDL_C_INLINE_WRAPPERS
  6324. /*** IUnknown methods ***/
  6325. #define ID3D11DeviceContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6326. #define ID3D11DeviceContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  6327. #define ID3D11DeviceContext_Release(This) (This)->lpVtbl->Release(This)
  6328. /*** ID3D11DeviceChild methods ***/
  6329. #define ID3D11DeviceContext_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  6330. #define ID3D11DeviceContext_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  6331. #define ID3D11DeviceContext_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  6332. #define ID3D11DeviceContext_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  6333. /*** ID3D11DeviceContext methods ***/
  6334. #define ID3D11DeviceContext_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6335. #define ID3D11DeviceContext_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6336. #define ID3D11DeviceContext_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
  6337. #define ID3D11DeviceContext_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6338. #define ID3D11DeviceContext_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
  6339. #define ID3D11DeviceContext_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
  6340. #define ID3D11DeviceContext_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
  6341. #define ID3D11DeviceContext_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
  6342. #define ID3D11DeviceContext_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
  6343. #define ID3D11DeviceContext_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6344. #define ID3D11DeviceContext_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
  6345. #define ID3D11DeviceContext_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
  6346. #define ID3D11DeviceContext_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
  6347. #define ID3D11DeviceContext_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
  6348. #define ID3D11DeviceContext_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
  6349. #define ID3D11DeviceContext_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6350. #define ID3D11DeviceContext_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
  6351. #define ID3D11DeviceContext_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
  6352. #define ID3D11DeviceContext_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6353. #define ID3D11DeviceContext_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6354. #define ID3D11DeviceContext_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
  6355. #define ID3D11DeviceContext_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
  6356. #define ID3D11DeviceContext_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
  6357. #define ID3D11DeviceContext_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
  6358. #define ID3D11DeviceContext_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6359. #define ID3D11DeviceContext_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6360. #define ID3D11DeviceContext_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
  6361. #define ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
  6362. #define ID3D11DeviceContext_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
  6363. #define ID3D11DeviceContext_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
  6364. #define ID3D11DeviceContext_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
  6365. #define ID3D11DeviceContext_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
  6366. #define ID3D11DeviceContext_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
  6367. #define ID3D11DeviceContext_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
  6368. #define ID3D11DeviceContext_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
  6369. #define ID3D11DeviceContext_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
  6370. #define ID3D11DeviceContext_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
  6371. #define ID3D11DeviceContext_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
  6372. #define ID3D11DeviceContext_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
  6373. #define ID3D11DeviceContext_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
  6374. #define ID3D11DeviceContext_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
  6375. #define ID3D11DeviceContext_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
  6376. #define ID3D11DeviceContext_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
  6377. #define ID3D11DeviceContext_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
  6378. #define ID3D11DeviceContext_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
  6379. #define ID3D11DeviceContext_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
  6380. #define ID3D11DeviceContext_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
  6381. #define ID3D11DeviceContext_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
  6382. #define ID3D11DeviceContext_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
  6383. #define ID3D11DeviceContext_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
  6384. #define ID3D11DeviceContext_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
  6385. #define ID3D11DeviceContext_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
  6386. #define ID3D11DeviceContext_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6387. #define ID3D11DeviceContext_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
  6388. #define ID3D11DeviceContext_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6389. #define ID3D11DeviceContext_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6390. #define ID3D11DeviceContext_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6391. #define ID3D11DeviceContext_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
  6392. #define ID3D11DeviceContext_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6393. #define ID3D11DeviceContext_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6394. #define ID3D11DeviceContext_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6395. #define ID3D11DeviceContext_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
  6396. #define ID3D11DeviceContext_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
  6397. #define ID3D11DeviceContext_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6398. #define ID3D11DeviceContext_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6399. #define ID3D11DeviceContext_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6400. #define ID3D11DeviceContext_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6401. #define ID3D11DeviceContext_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
  6402. #define ID3D11DeviceContext_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6403. #define ID3D11DeviceContext_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
  6404. #define ID3D11DeviceContext_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6405. #define ID3D11DeviceContext_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
  6406. #define ID3D11DeviceContext_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
  6407. #define ID3D11DeviceContext_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
  6408. #define ID3D11DeviceContext_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6409. #define ID3D11DeviceContext_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
  6410. #define ID3D11DeviceContext_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
  6411. #define ID3D11DeviceContext_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6412. #define ID3D11DeviceContext_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6413. #define ID3D11DeviceContext_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
  6414. #define ID3D11DeviceContext_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6415. #define ID3D11DeviceContext_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6416. #define ID3D11DeviceContext_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
  6417. #define ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
  6418. #define ID3D11DeviceContext_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
  6419. #define ID3D11DeviceContext_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
  6420. #define ID3D11DeviceContext_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
  6421. #define ID3D11DeviceContext_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
  6422. #define ID3D11DeviceContext_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
  6423. #define ID3D11DeviceContext_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
  6424. #define ID3D11DeviceContext_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6425. #define ID3D11DeviceContext_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
  6426. #define ID3D11DeviceContext_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6427. #define ID3D11DeviceContext_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6428. #define ID3D11DeviceContext_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6429. #define ID3D11DeviceContext_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
  6430. #define ID3D11DeviceContext_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6431. #define ID3D11DeviceContext_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6432. #define ID3D11DeviceContext_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
  6433. #define ID3D11DeviceContext_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
  6434. #define ID3D11DeviceContext_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
  6435. #define ID3D11DeviceContext_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
  6436. #define ID3D11DeviceContext_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
  6437. #define ID3D11DeviceContext_ClearState(This) (This)->lpVtbl->ClearState(This)
  6438. #define ID3D11DeviceContext_Flush(This) (This)->lpVtbl->Flush(This)
  6439. #define ID3D11DeviceContext_GetType(This) (This)->lpVtbl->GetType(This)
  6440. #define ID3D11DeviceContext_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
  6441. #define ID3D11DeviceContext_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
  6442. #else
  6443. /*** IUnknown methods ***/
  6444. static FORCEINLINE HRESULT ID3D11DeviceContext_QueryInterface(ID3D11DeviceContext* This,REFIID riid,void **ppvObject) {
  6445. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6446. }
  6447. static FORCEINLINE ULONG ID3D11DeviceContext_AddRef(ID3D11DeviceContext* This) {
  6448. return This->lpVtbl->AddRef(This);
  6449. }
  6450. static FORCEINLINE ULONG ID3D11DeviceContext_Release(ID3D11DeviceContext* This) {
  6451. return This->lpVtbl->Release(This);
  6452. }
  6453. /*** ID3D11DeviceChild methods ***/
  6454. static FORCEINLINE void ID3D11DeviceContext_GetDevice(ID3D11DeviceContext* This,ID3D11Device **ppDevice) {
  6455. This->lpVtbl->GetDevice(This,ppDevice);
  6456. }
  6457. static FORCEINLINE HRESULT ID3D11DeviceContext_GetPrivateData(ID3D11DeviceContext* This,REFGUID guid,UINT *pDataSize,void *pData) {
  6458. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  6459. }
  6460. static FORCEINLINE HRESULT ID3D11DeviceContext_SetPrivateData(ID3D11DeviceContext* This,REFGUID guid,UINT DataSize,const void *pData) {
  6461. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  6462. }
  6463. static FORCEINLINE HRESULT ID3D11DeviceContext_SetPrivateDataInterface(ID3D11DeviceContext* This,REFGUID guid,const IUnknown *pData) {
  6464. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  6465. }
  6466. /*** ID3D11DeviceContext methods ***/
  6467. static FORCEINLINE void ID3D11DeviceContext_VSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
  6468. This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6469. }
  6470. static FORCEINLINE void ID3D11DeviceContext_PSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
  6471. This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6472. }
  6473. static FORCEINLINE void ID3D11DeviceContext_PSSetShader(ID3D11DeviceContext* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
  6474. This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
  6475. }
  6476. static FORCEINLINE void ID3D11DeviceContext_PSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
  6477. This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6478. }
  6479. static FORCEINLINE void ID3D11DeviceContext_VSSetShader(ID3D11DeviceContext* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
  6480. This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
  6481. }
  6482. static FORCEINLINE void ID3D11DeviceContext_DrawIndexed(ID3D11DeviceContext* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
  6483. This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
  6484. }
  6485. static FORCEINLINE void ID3D11DeviceContext_Draw(ID3D11DeviceContext* This,UINT VertexCount,UINT StartVertexLocation) {
  6486. This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
  6487. }
  6488. static FORCEINLINE HRESULT ID3D11DeviceContext_Map(ID3D11DeviceContext* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
  6489. return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
  6490. }
  6491. static FORCEINLINE void ID3D11DeviceContext_Unmap(ID3D11DeviceContext* This,ID3D11Resource *pResource,UINT Subresource) {
  6492. This->lpVtbl->Unmap(This,pResource,Subresource);
  6493. }
  6494. static FORCEINLINE void ID3D11DeviceContext_PSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
  6495. This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6496. }
  6497. static FORCEINLINE void ID3D11DeviceContext_IASetInputLayout(ID3D11DeviceContext* This,ID3D11InputLayout *pInputLayout) {
  6498. This->lpVtbl->IASetInputLayout(This,pInputLayout);
  6499. }
  6500. static FORCEINLINE void ID3D11DeviceContext_IASetVertexBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
  6501. This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
  6502. }
  6503. static FORCEINLINE void ID3D11DeviceContext_IASetIndexBuffer(ID3D11DeviceContext* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
  6504. This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
  6505. }
  6506. static FORCEINLINE void ID3D11DeviceContext_DrawIndexedInstanced(ID3D11DeviceContext* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
  6507. This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
  6508. }
  6509. static FORCEINLINE void ID3D11DeviceContext_DrawInstanced(ID3D11DeviceContext* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
  6510. This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
  6511. }
  6512. static FORCEINLINE void ID3D11DeviceContext_GSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
  6513. This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6514. }
  6515. static FORCEINLINE void ID3D11DeviceContext_GSSetShader(ID3D11DeviceContext* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
  6516. This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
  6517. }
  6518. static FORCEINLINE void ID3D11DeviceContext_IASetPrimitiveTopology(ID3D11DeviceContext* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
  6519. This->lpVtbl->IASetPrimitiveTopology(This,Topology);
  6520. }
  6521. static FORCEINLINE void ID3D11DeviceContext_VSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
  6522. This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6523. }
  6524. static FORCEINLINE void ID3D11DeviceContext_VSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
  6525. This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6526. }
  6527. static FORCEINLINE void ID3D11DeviceContext_Begin(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync) {
  6528. This->lpVtbl->Begin(This,pAsync);
  6529. }
  6530. static FORCEINLINE void ID3D11DeviceContext_End(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync) {
  6531. This->lpVtbl->End(This,pAsync);
  6532. }
  6533. static FORCEINLINE HRESULT ID3D11DeviceContext_GetData(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
  6534. return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
  6535. }
  6536. static FORCEINLINE void ID3D11DeviceContext_SetPredication(ID3D11DeviceContext* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
  6537. This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
  6538. }
  6539. static FORCEINLINE void ID3D11DeviceContext_GSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
  6540. This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6541. }
  6542. static FORCEINLINE void ID3D11DeviceContext_GSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
  6543. This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6544. }
  6545. static FORCEINLINE void ID3D11DeviceContext_OMSetRenderTargets(ID3D11DeviceContext* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
  6546. This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
  6547. }
  6548. static FORCEINLINE void ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
  6549. This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
  6550. }
  6551. static FORCEINLINE void ID3D11DeviceContext_OMSetBlendState(ID3D11DeviceContext* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
  6552. This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
  6553. }
  6554. static FORCEINLINE void ID3D11DeviceContext_OMSetDepthStencilState(ID3D11DeviceContext* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
  6555. This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
  6556. }
  6557. static FORCEINLINE void ID3D11DeviceContext_SOSetTargets(ID3D11DeviceContext* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
  6558. This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
  6559. }
  6560. static FORCEINLINE void ID3D11DeviceContext_DrawAuto(ID3D11DeviceContext* This) {
  6561. This->lpVtbl->DrawAuto(This);
  6562. }
  6563. static FORCEINLINE void ID3D11DeviceContext_DrawIndexedInstancedIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
  6564. This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
  6565. }
  6566. static FORCEINLINE void ID3D11DeviceContext_DrawInstancedIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
  6567. This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
  6568. }
  6569. static FORCEINLINE void ID3D11DeviceContext_Dispatch(ID3D11DeviceContext* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
  6570. This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
  6571. }
  6572. static FORCEINLINE void ID3D11DeviceContext_DispatchIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
  6573. This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
  6574. }
  6575. static FORCEINLINE void ID3D11DeviceContext_RSSetState(ID3D11DeviceContext* This,ID3D11RasterizerState *pRasterizerState) {
  6576. This->lpVtbl->RSSetState(This,pRasterizerState);
  6577. }
  6578. static FORCEINLINE void ID3D11DeviceContext_RSSetViewports(ID3D11DeviceContext* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
  6579. This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
  6580. }
  6581. static FORCEINLINE void ID3D11DeviceContext_RSSetScissorRects(ID3D11DeviceContext* This,UINT NumRects,const D3D11_RECT *pRects) {
  6582. This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
  6583. }
  6584. static FORCEINLINE void ID3D11DeviceContext_CopySubresourceRegion(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
  6585. This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
  6586. }
  6587. static FORCEINLINE void ID3D11DeviceContext_CopyResource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
  6588. This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
  6589. }
  6590. static FORCEINLINE void ID3D11DeviceContext_UpdateSubresource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
  6591. This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
  6592. }
  6593. static FORCEINLINE void ID3D11DeviceContext_CopyStructureCount(ID3D11DeviceContext* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
  6594. This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
  6595. }
  6596. static FORCEINLINE void ID3D11DeviceContext_ClearRenderTargetView(ID3D11DeviceContext* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
  6597. This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
  6598. }
  6599. static FORCEINLINE void ID3D11DeviceContext_ClearUnorderedAccessViewUint(ID3D11DeviceContext* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
  6600. This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
  6601. }
  6602. static FORCEINLINE void ID3D11DeviceContext_ClearUnorderedAccessViewFloat(ID3D11DeviceContext* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
  6603. This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
  6604. }
  6605. static FORCEINLINE void ID3D11DeviceContext_ClearDepthStencilView(ID3D11DeviceContext* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
  6606. This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
  6607. }
  6608. static FORCEINLINE void ID3D11DeviceContext_GenerateMips(ID3D11DeviceContext* This,ID3D11ShaderResourceView *pShaderResourceView) {
  6609. This->lpVtbl->GenerateMips(This,pShaderResourceView);
  6610. }
  6611. static FORCEINLINE void ID3D11DeviceContext_SetResourceMinLOD(ID3D11DeviceContext* This,ID3D11Resource *pResource,FLOAT MinLOD) {
  6612. This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
  6613. }
  6614. static FORCEINLINE FLOAT ID3D11DeviceContext_GetResourceMinLOD(ID3D11DeviceContext* This,ID3D11Resource *pResource) {
  6615. return This->lpVtbl->GetResourceMinLOD(This,pResource);
  6616. }
  6617. static FORCEINLINE void ID3D11DeviceContext_ResolveSubresource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
  6618. This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
  6619. }
  6620. static FORCEINLINE void ID3D11DeviceContext_ExecuteCommandList(ID3D11DeviceContext* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
  6621. This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
  6622. }
  6623. static FORCEINLINE void ID3D11DeviceContext_HSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
  6624. This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6625. }
  6626. static FORCEINLINE void ID3D11DeviceContext_HSSetShader(ID3D11DeviceContext* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
  6627. This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
  6628. }
  6629. static FORCEINLINE void ID3D11DeviceContext_HSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
  6630. This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6631. }
  6632. static FORCEINLINE void ID3D11DeviceContext_HSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
  6633. This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6634. }
  6635. static FORCEINLINE void ID3D11DeviceContext_DSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
  6636. This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6637. }
  6638. static FORCEINLINE void ID3D11DeviceContext_DSSetShader(ID3D11DeviceContext* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
  6639. This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
  6640. }
  6641. static FORCEINLINE void ID3D11DeviceContext_DSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
  6642. This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6643. }
  6644. static FORCEINLINE void ID3D11DeviceContext_DSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
  6645. This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6646. }
  6647. static FORCEINLINE void ID3D11DeviceContext_CSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
  6648. This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6649. }
  6650. static FORCEINLINE void ID3D11DeviceContext_CSSetUnorderedAccessViews(ID3D11DeviceContext* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
  6651. This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
  6652. }
  6653. static FORCEINLINE void ID3D11DeviceContext_CSSetShader(ID3D11DeviceContext* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
  6654. This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
  6655. }
  6656. static FORCEINLINE void ID3D11DeviceContext_CSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
  6657. This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6658. }
  6659. static FORCEINLINE void ID3D11DeviceContext_CSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
  6660. This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6661. }
  6662. static FORCEINLINE void ID3D11DeviceContext_VSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
  6663. This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6664. }
  6665. static FORCEINLINE void ID3D11DeviceContext_PSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
  6666. This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6667. }
  6668. static FORCEINLINE void ID3D11DeviceContext_PSGetShader(ID3D11DeviceContext* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
  6669. This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
  6670. }
  6671. static FORCEINLINE void ID3D11DeviceContext_PSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
  6672. This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6673. }
  6674. static FORCEINLINE void ID3D11DeviceContext_VSGetShader(ID3D11DeviceContext* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
  6675. This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
  6676. }
  6677. static FORCEINLINE void ID3D11DeviceContext_PSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
  6678. This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6679. }
  6680. static FORCEINLINE void ID3D11DeviceContext_IAGetInputLayout(ID3D11DeviceContext* This,ID3D11InputLayout **ppInputLayout) {
  6681. This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
  6682. }
  6683. static FORCEINLINE void ID3D11DeviceContext_IAGetVertexBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
  6684. This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
  6685. }
  6686. static FORCEINLINE void ID3D11DeviceContext_IAGetIndexBuffer(ID3D11DeviceContext* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
  6687. This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
  6688. }
  6689. static FORCEINLINE void ID3D11DeviceContext_GSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
  6690. This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6691. }
  6692. static FORCEINLINE void ID3D11DeviceContext_GSGetShader(ID3D11DeviceContext* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
  6693. This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
  6694. }
  6695. static FORCEINLINE void ID3D11DeviceContext_IAGetPrimitiveTopology(ID3D11DeviceContext* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
  6696. This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
  6697. }
  6698. static FORCEINLINE void ID3D11DeviceContext_VSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
  6699. This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6700. }
  6701. static FORCEINLINE void ID3D11DeviceContext_VSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
  6702. This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6703. }
  6704. static FORCEINLINE void ID3D11DeviceContext_GetPredication(ID3D11DeviceContext* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
  6705. This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
  6706. }
  6707. static FORCEINLINE void ID3D11DeviceContext_GSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
  6708. This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6709. }
  6710. static FORCEINLINE void ID3D11DeviceContext_GSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
  6711. This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6712. }
  6713. static FORCEINLINE void ID3D11DeviceContext_OMGetRenderTargets(ID3D11DeviceContext* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
  6714. This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
  6715. }
  6716. static FORCEINLINE void ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
  6717. This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
  6718. }
  6719. static FORCEINLINE void ID3D11DeviceContext_OMGetBlendState(ID3D11DeviceContext* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
  6720. This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
  6721. }
  6722. static FORCEINLINE void ID3D11DeviceContext_OMGetDepthStencilState(ID3D11DeviceContext* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
  6723. This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
  6724. }
  6725. static FORCEINLINE void ID3D11DeviceContext_SOGetTargets(ID3D11DeviceContext* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
  6726. This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
  6727. }
  6728. static FORCEINLINE void ID3D11DeviceContext_RSGetState(ID3D11DeviceContext* This,ID3D11RasterizerState **ppRasterizerState) {
  6729. This->lpVtbl->RSGetState(This,ppRasterizerState);
  6730. }
  6731. static FORCEINLINE void ID3D11DeviceContext_RSGetViewports(ID3D11DeviceContext* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
  6732. This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
  6733. }
  6734. static FORCEINLINE void ID3D11DeviceContext_RSGetScissorRects(ID3D11DeviceContext* This,UINT *pNumRects,D3D11_RECT *pRects) {
  6735. This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
  6736. }
  6737. static FORCEINLINE void ID3D11DeviceContext_HSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
  6738. This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6739. }
  6740. static FORCEINLINE void ID3D11DeviceContext_HSGetShader(ID3D11DeviceContext* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
  6741. This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
  6742. }
  6743. static FORCEINLINE void ID3D11DeviceContext_HSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
  6744. This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6745. }
  6746. static FORCEINLINE void ID3D11DeviceContext_HSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
  6747. This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6748. }
  6749. static FORCEINLINE void ID3D11DeviceContext_DSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
  6750. This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6751. }
  6752. static FORCEINLINE void ID3D11DeviceContext_DSGetShader(ID3D11DeviceContext* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
  6753. This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
  6754. }
  6755. static FORCEINLINE void ID3D11DeviceContext_DSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
  6756. This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6757. }
  6758. static FORCEINLINE void ID3D11DeviceContext_DSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
  6759. This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6760. }
  6761. static FORCEINLINE void ID3D11DeviceContext_CSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
  6762. This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
  6763. }
  6764. static FORCEINLINE void ID3D11DeviceContext_CSGetUnorderedAccessViews(ID3D11DeviceContext* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
  6765. This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
  6766. }
  6767. static FORCEINLINE void ID3D11DeviceContext_CSGetShader(ID3D11DeviceContext* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
  6768. This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
  6769. }
  6770. static FORCEINLINE void ID3D11DeviceContext_CSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
  6771. This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
  6772. }
  6773. static FORCEINLINE void ID3D11DeviceContext_CSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
  6774. This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
  6775. }
  6776. static FORCEINLINE void ID3D11DeviceContext_ClearState(ID3D11DeviceContext* This) {
  6777. This->lpVtbl->ClearState(This);
  6778. }
  6779. static FORCEINLINE void ID3D11DeviceContext_Flush(ID3D11DeviceContext* This) {
  6780. This->lpVtbl->Flush(This);
  6781. }
  6782. static FORCEINLINE D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext_GetType(ID3D11DeviceContext* This) {
  6783. return This->lpVtbl->GetType(This);
  6784. }
  6785. static FORCEINLINE UINT ID3D11DeviceContext_GetContextFlags(ID3D11DeviceContext* This) {
  6786. return This->lpVtbl->GetContextFlags(This);
  6787. }
  6788. static FORCEINLINE HRESULT ID3D11DeviceContext_FinishCommandList(ID3D11DeviceContext* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
  6789. return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
  6790. }
  6791. #endif
  6792. #endif
  6793. #endif
  6794. #endif /* __ID3D11DeviceContext_INTERFACE_DEFINED__ */
  6795. /*****************************************************************************
  6796. * ID3D11AuthenticatedChannel interface
  6797. */
  6798. #ifndef __ID3D11AuthenticatedChannel_INTERFACE_DEFINED__
  6799. #define __ID3D11AuthenticatedChannel_INTERFACE_DEFINED__
  6800. DEFINE_GUID(IID_ID3D11AuthenticatedChannel, 0x3015a308, 0xdcbd, 0x47aa, 0xa7,0x47, 0x19,0x24,0x86,0xd1,0x4d,0x4a);
  6801. #if defined(__cplusplus) && !defined(CINTERFACE)
  6802. MIDL_INTERFACE("3015a308-dcbd-47aa-a747-192486d14d4a")
  6803. ID3D11AuthenticatedChannel : public ID3D11DeviceChild
  6804. {
  6805. virtual HRESULT STDMETHODCALLTYPE GetCertificateSize(
  6806. UINT *pCertificateSize) = 0;
  6807. virtual HRESULT STDMETHODCALLTYPE GetCertificate(
  6808. UINT CertificateSize,
  6809. BYTE *pCertificate) = 0;
  6810. virtual void STDMETHODCALLTYPE GetChannelHandle(
  6811. HANDLE *pChannelHandle) = 0;
  6812. };
  6813. #ifdef __CRT_UUID_DECL
  6814. __CRT_UUID_DECL(ID3D11AuthenticatedChannel, 0x3015a308, 0xdcbd, 0x47aa, 0xa7,0x47, 0x19,0x24,0x86,0xd1,0x4d,0x4a)
  6815. #endif
  6816. #else
  6817. typedef struct ID3D11AuthenticatedChannelVtbl {
  6818. BEGIN_INTERFACE
  6819. /*** IUnknown methods ***/
  6820. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6821. ID3D11AuthenticatedChannel *This,
  6822. REFIID riid,
  6823. void **ppvObject);
  6824. ULONG (STDMETHODCALLTYPE *AddRef)(
  6825. ID3D11AuthenticatedChannel *This);
  6826. ULONG (STDMETHODCALLTYPE *Release)(
  6827. ID3D11AuthenticatedChannel *This);
  6828. /*** ID3D11DeviceChild methods ***/
  6829. void (STDMETHODCALLTYPE *GetDevice)(
  6830. ID3D11AuthenticatedChannel *This,
  6831. ID3D11Device **ppDevice);
  6832. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  6833. ID3D11AuthenticatedChannel *This,
  6834. REFGUID guid,
  6835. UINT *pDataSize,
  6836. void *pData);
  6837. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  6838. ID3D11AuthenticatedChannel *This,
  6839. REFGUID guid,
  6840. UINT DataSize,
  6841. const void *pData);
  6842. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  6843. ID3D11AuthenticatedChannel *This,
  6844. REFGUID guid,
  6845. const IUnknown *pData);
  6846. /*** ID3D11AuthenticatedChannel methods ***/
  6847. HRESULT (STDMETHODCALLTYPE *GetCertificateSize)(
  6848. ID3D11AuthenticatedChannel *This,
  6849. UINT *pCertificateSize);
  6850. HRESULT (STDMETHODCALLTYPE *GetCertificate)(
  6851. ID3D11AuthenticatedChannel *This,
  6852. UINT CertificateSize,
  6853. BYTE *pCertificate);
  6854. void (STDMETHODCALLTYPE *GetChannelHandle)(
  6855. ID3D11AuthenticatedChannel *This,
  6856. HANDLE *pChannelHandle);
  6857. END_INTERFACE
  6858. } ID3D11AuthenticatedChannelVtbl;
  6859. interface ID3D11AuthenticatedChannel {
  6860. CONST_VTBL ID3D11AuthenticatedChannelVtbl* lpVtbl;
  6861. };
  6862. #ifdef COBJMACROS
  6863. #ifndef WIDL_C_INLINE_WRAPPERS
  6864. /*** IUnknown methods ***/
  6865. #define ID3D11AuthenticatedChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6866. #define ID3D11AuthenticatedChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
  6867. #define ID3D11AuthenticatedChannel_Release(This) (This)->lpVtbl->Release(This)
  6868. /*** ID3D11DeviceChild methods ***/
  6869. #define ID3D11AuthenticatedChannel_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  6870. #define ID3D11AuthenticatedChannel_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  6871. #define ID3D11AuthenticatedChannel_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  6872. #define ID3D11AuthenticatedChannel_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  6873. /*** ID3D11AuthenticatedChannel methods ***/
  6874. #define ID3D11AuthenticatedChannel_GetCertificateSize(This,pCertificateSize) (This)->lpVtbl->GetCertificateSize(This,pCertificateSize)
  6875. #define ID3D11AuthenticatedChannel_GetCertificate(This,CertificateSize,pCertificate) (This)->lpVtbl->GetCertificate(This,CertificateSize,pCertificate)
  6876. #define ID3D11AuthenticatedChannel_GetChannelHandle(This,pChannelHandle) (This)->lpVtbl->GetChannelHandle(This,pChannelHandle)
  6877. #else
  6878. /*** IUnknown methods ***/
  6879. static FORCEINLINE HRESULT ID3D11AuthenticatedChannel_QueryInterface(ID3D11AuthenticatedChannel* This,REFIID riid,void **ppvObject) {
  6880. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6881. }
  6882. static FORCEINLINE ULONG ID3D11AuthenticatedChannel_AddRef(ID3D11AuthenticatedChannel* This) {
  6883. return This->lpVtbl->AddRef(This);
  6884. }
  6885. static FORCEINLINE ULONG ID3D11AuthenticatedChannel_Release(ID3D11AuthenticatedChannel* This) {
  6886. return This->lpVtbl->Release(This);
  6887. }
  6888. /*** ID3D11DeviceChild methods ***/
  6889. static FORCEINLINE void ID3D11AuthenticatedChannel_GetDevice(ID3D11AuthenticatedChannel* This,ID3D11Device **ppDevice) {
  6890. This->lpVtbl->GetDevice(This,ppDevice);
  6891. }
  6892. static FORCEINLINE HRESULT ID3D11AuthenticatedChannel_GetPrivateData(ID3D11AuthenticatedChannel* This,REFGUID guid,UINT *pDataSize,void *pData) {
  6893. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  6894. }
  6895. static FORCEINLINE HRESULT ID3D11AuthenticatedChannel_SetPrivateData(ID3D11AuthenticatedChannel* This,REFGUID guid,UINT DataSize,const void *pData) {
  6896. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  6897. }
  6898. static FORCEINLINE HRESULT ID3D11AuthenticatedChannel_SetPrivateDataInterface(ID3D11AuthenticatedChannel* This,REFGUID guid,const IUnknown *pData) {
  6899. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  6900. }
  6901. /*** ID3D11AuthenticatedChannel methods ***/
  6902. static FORCEINLINE HRESULT ID3D11AuthenticatedChannel_GetCertificateSize(ID3D11AuthenticatedChannel* This,UINT *pCertificateSize) {
  6903. return This->lpVtbl->GetCertificateSize(This,pCertificateSize);
  6904. }
  6905. static FORCEINLINE HRESULT ID3D11AuthenticatedChannel_GetCertificate(ID3D11AuthenticatedChannel* This,UINT CertificateSize,BYTE *pCertificate) {
  6906. return This->lpVtbl->GetCertificate(This,CertificateSize,pCertificate);
  6907. }
  6908. static FORCEINLINE void ID3D11AuthenticatedChannel_GetChannelHandle(ID3D11AuthenticatedChannel* This,HANDLE *pChannelHandle) {
  6909. This->lpVtbl->GetChannelHandle(This,pChannelHandle);
  6910. }
  6911. #endif
  6912. #endif
  6913. #endif
  6914. #endif /* __ID3D11AuthenticatedChannel_INTERFACE_DEFINED__ */
  6915. /*****************************************************************************
  6916. * ID3D11CryptoSession interface
  6917. */
  6918. #ifndef __ID3D11CryptoSession_INTERFACE_DEFINED__
  6919. #define __ID3D11CryptoSession_INTERFACE_DEFINED__
  6920. DEFINE_GUID(IID_ID3D11CryptoSession, 0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3,0x9d, 0xd5,0xc8,0x65,0x84,0x57,0x20);
  6921. #if defined(__cplusplus) && !defined(CINTERFACE)
  6922. MIDL_INTERFACE("9b32f9ad-bdcc-40a6-a39d-d5c865845720")
  6923. ID3D11CryptoSession : public ID3D11DeviceChild
  6924. {
  6925. virtual void STDMETHODCALLTYPE GetCryptoType(
  6926. GUID *pCryptoType) = 0;
  6927. virtual void STDMETHODCALLTYPE GetDecoderProfile(
  6928. GUID *pDecoderProfile) = 0;
  6929. virtual HRESULT STDMETHODCALLTYPE GetCertificateSize(
  6930. UINT *pCertificateSize) = 0;
  6931. virtual HRESULT STDMETHODCALLTYPE GetCertificate(
  6932. UINT CertificateSize,
  6933. BYTE *pCertificate) = 0;
  6934. virtual void STDMETHODCALLTYPE GetCryptoSessionHandle(
  6935. HANDLE *pCryptoSessionHandle) = 0;
  6936. };
  6937. #ifdef __CRT_UUID_DECL
  6938. __CRT_UUID_DECL(ID3D11CryptoSession, 0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3,0x9d, 0xd5,0xc8,0x65,0x84,0x57,0x20)
  6939. #endif
  6940. #else
  6941. typedef struct ID3D11CryptoSessionVtbl {
  6942. BEGIN_INTERFACE
  6943. /*** IUnknown methods ***/
  6944. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6945. ID3D11CryptoSession *This,
  6946. REFIID riid,
  6947. void **ppvObject);
  6948. ULONG (STDMETHODCALLTYPE *AddRef)(
  6949. ID3D11CryptoSession *This);
  6950. ULONG (STDMETHODCALLTYPE *Release)(
  6951. ID3D11CryptoSession *This);
  6952. /*** ID3D11DeviceChild methods ***/
  6953. void (STDMETHODCALLTYPE *GetDevice)(
  6954. ID3D11CryptoSession *This,
  6955. ID3D11Device **ppDevice);
  6956. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  6957. ID3D11CryptoSession *This,
  6958. REFGUID guid,
  6959. UINT *pDataSize,
  6960. void *pData);
  6961. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  6962. ID3D11CryptoSession *This,
  6963. REFGUID guid,
  6964. UINT DataSize,
  6965. const void *pData);
  6966. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  6967. ID3D11CryptoSession *This,
  6968. REFGUID guid,
  6969. const IUnknown *pData);
  6970. /*** ID3D11CryptoSession methods ***/
  6971. void (STDMETHODCALLTYPE *GetCryptoType)(
  6972. ID3D11CryptoSession *This,
  6973. GUID *pCryptoType);
  6974. void (STDMETHODCALLTYPE *GetDecoderProfile)(
  6975. ID3D11CryptoSession *This,
  6976. GUID *pDecoderProfile);
  6977. HRESULT (STDMETHODCALLTYPE *GetCertificateSize)(
  6978. ID3D11CryptoSession *This,
  6979. UINT *pCertificateSize);
  6980. HRESULT (STDMETHODCALLTYPE *GetCertificate)(
  6981. ID3D11CryptoSession *This,
  6982. UINT CertificateSize,
  6983. BYTE *pCertificate);
  6984. void (STDMETHODCALLTYPE *GetCryptoSessionHandle)(
  6985. ID3D11CryptoSession *This,
  6986. HANDLE *pCryptoSessionHandle);
  6987. END_INTERFACE
  6988. } ID3D11CryptoSessionVtbl;
  6989. interface ID3D11CryptoSession {
  6990. CONST_VTBL ID3D11CryptoSessionVtbl* lpVtbl;
  6991. };
  6992. #ifdef COBJMACROS
  6993. #ifndef WIDL_C_INLINE_WRAPPERS
  6994. /*** IUnknown methods ***/
  6995. #define ID3D11CryptoSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6996. #define ID3D11CryptoSession_AddRef(This) (This)->lpVtbl->AddRef(This)
  6997. #define ID3D11CryptoSession_Release(This) (This)->lpVtbl->Release(This)
  6998. /*** ID3D11DeviceChild methods ***/
  6999. #define ID3D11CryptoSession_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7000. #define ID3D11CryptoSession_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7001. #define ID3D11CryptoSession_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7002. #define ID3D11CryptoSession_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7003. /*** ID3D11CryptoSession methods ***/
  7004. #define ID3D11CryptoSession_GetCryptoType(This,pCryptoType) (This)->lpVtbl->GetCryptoType(This,pCryptoType)
  7005. #define ID3D11CryptoSession_GetDecoderProfile(This,pDecoderProfile) (This)->lpVtbl->GetDecoderProfile(This,pDecoderProfile)
  7006. #define ID3D11CryptoSession_GetCertificateSize(This,pCertificateSize) (This)->lpVtbl->GetCertificateSize(This,pCertificateSize)
  7007. #define ID3D11CryptoSession_GetCertificate(This,CertificateSize,pCertificate) (This)->lpVtbl->GetCertificate(This,CertificateSize,pCertificate)
  7008. #define ID3D11CryptoSession_GetCryptoSessionHandle(This,pCryptoSessionHandle) (This)->lpVtbl->GetCryptoSessionHandle(This,pCryptoSessionHandle)
  7009. #else
  7010. /*** IUnknown methods ***/
  7011. static FORCEINLINE HRESULT ID3D11CryptoSession_QueryInterface(ID3D11CryptoSession* This,REFIID riid,void **ppvObject) {
  7012. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7013. }
  7014. static FORCEINLINE ULONG ID3D11CryptoSession_AddRef(ID3D11CryptoSession* This) {
  7015. return This->lpVtbl->AddRef(This);
  7016. }
  7017. static FORCEINLINE ULONG ID3D11CryptoSession_Release(ID3D11CryptoSession* This) {
  7018. return This->lpVtbl->Release(This);
  7019. }
  7020. /*** ID3D11DeviceChild methods ***/
  7021. static FORCEINLINE void ID3D11CryptoSession_GetDevice(ID3D11CryptoSession* This,ID3D11Device **ppDevice) {
  7022. This->lpVtbl->GetDevice(This,ppDevice);
  7023. }
  7024. static FORCEINLINE HRESULT ID3D11CryptoSession_GetPrivateData(ID3D11CryptoSession* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7025. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7026. }
  7027. static FORCEINLINE HRESULT ID3D11CryptoSession_SetPrivateData(ID3D11CryptoSession* This,REFGUID guid,UINT DataSize,const void *pData) {
  7028. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7029. }
  7030. static FORCEINLINE HRESULT ID3D11CryptoSession_SetPrivateDataInterface(ID3D11CryptoSession* This,REFGUID guid,const IUnknown *pData) {
  7031. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7032. }
  7033. /*** ID3D11CryptoSession methods ***/
  7034. static FORCEINLINE void ID3D11CryptoSession_GetCryptoType(ID3D11CryptoSession* This,GUID *pCryptoType) {
  7035. This->lpVtbl->GetCryptoType(This,pCryptoType);
  7036. }
  7037. static FORCEINLINE void ID3D11CryptoSession_GetDecoderProfile(ID3D11CryptoSession* This,GUID *pDecoderProfile) {
  7038. This->lpVtbl->GetDecoderProfile(This,pDecoderProfile);
  7039. }
  7040. static FORCEINLINE HRESULT ID3D11CryptoSession_GetCertificateSize(ID3D11CryptoSession* This,UINT *pCertificateSize) {
  7041. return This->lpVtbl->GetCertificateSize(This,pCertificateSize);
  7042. }
  7043. static FORCEINLINE HRESULT ID3D11CryptoSession_GetCertificate(ID3D11CryptoSession* This,UINT CertificateSize,BYTE *pCertificate) {
  7044. return This->lpVtbl->GetCertificate(This,CertificateSize,pCertificate);
  7045. }
  7046. static FORCEINLINE void ID3D11CryptoSession_GetCryptoSessionHandle(ID3D11CryptoSession* This,HANDLE *pCryptoSessionHandle) {
  7047. This->lpVtbl->GetCryptoSessionHandle(This,pCryptoSessionHandle);
  7048. }
  7049. #endif
  7050. #endif
  7051. #endif
  7052. #endif /* __ID3D11CryptoSession_INTERFACE_DEFINED__ */
  7053. /*****************************************************************************
  7054. * ID3D11VideoDecoder interface
  7055. */
  7056. #ifndef __ID3D11VideoDecoder_INTERFACE_DEFINED__
  7057. #define __ID3D11VideoDecoder_INTERFACE_DEFINED__
  7058. DEFINE_GUID(IID_ID3D11VideoDecoder, 0x3c9c5b51, 0x995d, 0x48d1, 0x9b,0x8d, 0xfa,0x5c,0xae,0xde,0xd6,0x5c);
  7059. #if defined(__cplusplus) && !defined(CINTERFACE)
  7060. MIDL_INTERFACE("3c9c5b51-995d-48d1-9b8d-fa5caeded65c")
  7061. ID3D11VideoDecoder : public ID3D11DeviceChild
  7062. {
  7063. virtual HRESULT STDMETHODCALLTYPE GetCreationParameters(
  7064. D3D11_VIDEO_DECODER_DESC *pVideoDesc,
  7065. D3D11_VIDEO_DECODER_CONFIG *pConfig) = 0;
  7066. virtual HRESULT STDMETHODCALLTYPE GetDriverHandle(
  7067. HANDLE *pDriverHandle) = 0;
  7068. };
  7069. #ifdef __CRT_UUID_DECL
  7070. __CRT_UUID_DECL(ID3D11VideoDecoder, 0x3c9c5b51, 0x995d, 0x48d1, 0x9b,0x8d, 0xfa,0x5c,0xae,0xde,0xd6,0x5c)
  7071. #endif
  7072. #else
  7073. typedef struct ID3D11VideoDecoderVtbl {
  7074. BEGIN_INTERFACE
  7075. /*** IUnknown methods ***/
  7076. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7077. ID3D11VideoDecoder *This,
  7078. REFIID riid,
  7079. void **ppvObject);
  7080. ULONG (STDMETHODCALLTYPE *AddRef)(
  7081. ID3D11VideoDecoder *This);
  7082. ULONG (STDMETHODCALLTYPE *Release)(
  7083. ID3D11VideoDecoder *This);
  7084. /*** ID3D11DeviceChild methods ***/
  7085. void (STDMETHODCALLTYPE *GetDevice)(
  7086. ID3D11VideoDecoder *This,
  7087. ID3D11Device **ppDevice);
  7088. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  7089. ID3D11VideoDecoder *This,
  7090. REFGUID guid,
  7091. UINT *pDataSize,
  7092. void *pData);
  7093. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7094. ID3D11VideoDecoder *This,
  7095. REFGUID guid,
  7096. UINT DataSize,
  7097. const void *pData);
  7098. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7099. ID3D11VideoDecoder *This,
  7100. REFGUID guid,
  7101. const IUnknown *pData);
  7102. /*** ID3D11VideoDecoder methods ***/
  7103. HRESULT (STDMETHODCALLTYPE *GetCreationParameters)(
  7104. ID3D11VideoDecoder *This,
  7105. D3D11_VIDEO_DECODER_DESC *pVideoDesc,
  7106. D3D11_VIDEO_DECODER_CONFIG *pConfig);
  7107. HRESULT (STDMETHODCALLTYPE *GetDriverHandle)(
  7108. ID3D11VideoDecoder *This,
  7109. HANDLE *pDriverHandle);
  7110. END_INTERFACE
  7111. } ID3D11VideoDecoderVtbl;
  7112. interface ID3D11VideoDecoder {
  7113. CONST_VTBL ID3D11VideoDecoderVtbl* lpVtbl;
  7114. };
  7115. #ifdef COBJMACROS
  7116. #ifndef WIDL_C_INLINE_WRAPPERS
  7117. /*** IUnknown methods ***/
  7118. #define ID3D11VideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7119. #define ID3D11VideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
  7120. #define ID3D11VideoDecoder_Release(This) (This)->lpVtbl->Release(This)
  7121. /*** ID3D11DeviceChild methods ***/
  7122. #define ID3D11VideoDecoder_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7123. #define ID3D11VideoDecoder_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7124. #define ID3D11VideoDecoder_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7125. #define ID3D11VideoDecoder_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7126. /*** ID3D11VideoDecoder methods ***/
  7127. #define ID3D11VideoDecoder_GetCreationParameters(This,pVideoDesc,pConfig) (This)->lpVtbl->GetCreationParameters(This,pVideoDesc,pConfig)
  7128. #define ID3D11VideoDecoder_GetDriverHandle(This,pDriverHandle) (This)->lpVtbl->GetDriverHandle(This,pDriverHandle)
  7129. #else
  7130. /*** IUnknown methods ***/
  7131. static FORCEINLINE HRESULT ID3D11VideoDecoder_QueryInterface(ID3D11VideoDecoder* This,REFIID riid,void **ppvObject) {
  7132. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7133. }
  7134. static FORCEINLINE ULONG ID3D11VideoDecoder_AddRef(ID3D11VideoDecoder* This) {
  7135. return This->lpVtbl->AddRef(This);
  7136. }
  7137. static FORCEINLINE ULONG ID3D11VideoDecoder_Release(ID3D11VideoDecoder* This) {
  7138. return This->lpVtbl->Release(This);
  7139. }
  7140. /*** ID3D11DeviceChild methods ***/
  7141. static FORCEINLINE void ID3D11VideoDecoder_GetDevice(ID3D11VideoDecoder* This,ID3D11Device **ppDevice) {
  7142. This->lpVtbl->GetDevice(This,ppDevice);
  7143. }
  7144. static FORCEINLINE HRESULT ID3D11VideoDecoder_GetPrivateData(ID3D11VideoDecoder* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7145. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7146. }
  7147. static FORCEINLINE HRESULT ID3D11VideoDecoder_SetPrivateData(ID3D11VideoDecoder* This,REFGUID guid,UINT DataSize,const void *pData) {
  7148. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7149. }
  7150. static FORCEINLINE HRESULT ID3D11VideoDecoder_SetPrivateDataInterface(ID3D11VideoDecoder* This,REFGUID guid,const IUnknown *pData) {
  7151. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7152. }
  7153. /*** ID3D11VideoDecoder methods ***/
  7154. static FORCEINLINE HRESULT ID3D11VideoDecoder_GetCreationParameters(ID3D11VideoDecoder* This,D3D11_VIDEO_DECODER_DESC *pVideoDesc,D3D11_VIDEO_DECODER_CONFIG *pConfig) {
  7155. return This->lpVtbl->GetCreationParameters(This,pVideoDesc,pConfig);
  7156. }
  7157. static FORCEINLINE HRESULT ID3D11VideoDecoder_GetDriverHandle(ID3D11VideoDecoder* This,HANDLE *pDriverHandle) {
  7158. return This->lpVtbl->GetDriverHandle(This,pDriverHandle);
  7159. }
  7160. #endif
  7161. #endif
  7162. #endif
  7163. #endif /* __ID3D11VideoDecoder_INTERFACE_DEFINED__ */
  7164. /*****************************************************************************
  7165. * ID3D11VideoProcessorEnumerator interface
  7166. */
  7167. #ifndef __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__
  7168. #define __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__
  7169. DEFINE_GUID(IID_ID3D11VideoProcessorEnumerator, 0x31627037, 0x53ab, 0x4200, 0x90,0x61, 0x05,0xfa,0xa9,0xab,0x45,0xf9);
  7170. #if defined(__cplusplus) && !defined(CINTERFACE)
  7171. MIDL_INTERFACE("31627037-53ab-4200-9061-05faa9ab45f9")
  7172. ID3D11VideoProcessorEnumerator : public ID3D11DeviceChild
  7173. {
  7174. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorContentDesc(
  7175. D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc) = 0;
  7176. virtual HRESULT STDMETHODCALLTYPE CheckVideoProcessorFormat(
  7177. DXGI_FORMAT Format,
  7178. UINT *pFlags) = 0;
  7179. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
  7180. D3D11_VIDEO_PROCESSOR_CAPS *pCaps) = 0;
  7181. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorRateConversionCaps(
  7182. UINT TypeIndex,
  7183. D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) = 0;
  7184. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCustomRate(
  7185. UINT TypeIndex,
  7186. UINT CustomRateIndex,
  7187. D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) = 0;
  7188. virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorFilterRange(
  7189. D3D11_VIDEO_PROCESSOR_FILTER Filter,
  7190. D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange) = 0;
  7191. };
  7192. #ifdef __CRT_UUID_DECL
  7193. __CRT_UUID_DECL(ID3D11VideoProcessorEnumerator, 0x31627037, 0x53ab, 0x4200, 0x90,0x61, 0x05,0xfa,0xa9,0xab,0x45,0xf9)
  7194. #endif
  7195. #else
  7196. typedef struct ID3D11VideoProcessorEnumeratorVtbl {
  7197. BEGIN_INTERFACE
  7198. /*** IUnknown methods ***/
  7199. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7200. ID3D11VideoProcessorEnumerator *This,
  7201. REFIID riid,
  7202. void **ppvObject);
  7203. ULONG (STDMETHODCALLTYPE *AddRef)(
  7204. ID3D11VideoProcessorEnumerator *This);
  7205. ULONG (STDMETHODCALLTYPE *Release)(
  7206. ID3D11VideoProcessorEnumerator *This);
  7207. /*** ID3D11DeviceChild methods ***/
  7208. void (STDMETHODCALLTYPE *GetDevice)(
  7209. ID3D11VideoProcessorEnumerator *This,
  7210. ID3D11Device **ppDevice);
  7211. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  7212. ID3D11VideoProcessorEnumerator *This,
  7213. REFGUID guid,
  7214. UINT *pDataSize,
  7215. void *pData);
  7216. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7217. ID3D11VideoProcessorEnumerator *This,
  7218. REFGUID guid,
  7219. UINT DataSize,
  7220. const void *pData);
  7221. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7222. ID3D11VideoProcessorEnumerator *This,
  7223. REFGUID guid,
  7224. const IUnknown *pData);
  7225. /*** ID3D11VideoProcessorEnumerator methods ***/
  7226. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorContentDesc)(
  7227. ID3D11VideoProcessorEnumerator *This,
  7228. D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc);
  7229. HRESULT (STDMETHODCALLTYPE *CheckVideoProcessorFormat)(
  7230. ID3D11VideoProcessorEnumerator *This,
  7231. DXGI_FORMAT Format,
  7232. UINT *pFlags);
  7233. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
  7234. ID3D11VideoProcessorEnumerator *This,
  7235. D3D11_VIDEO_PROCESSOR_CAPS *pCaps);
  7236. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorRateConversionCaps)(
  7237. ID3D11VideoProcessorEnumerator *This,
  7238. UINT TypeIndex,
  7239. D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
  7240. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCustomRate)(
  7241. ID3D11VideoProcessorEnumerator *This,
  7242. UINT TypeIndex,
  7243. UINT CustomRateIndex,
  7244. D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate);
  7245. HRESULT (STDMETHODCALLTYPE *GetVideoProcessorFilterRange)(
  7246. ID3D11VideoProcessorEnumerator *This,
  7247. D3D11_VIDEO_PROCESSOR_FILTER Filter,
  7248. D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange);
  7249. END_INTERFACE
  7250. } ID3D11VideoProcessorEnumeratorVtbl;
  7251. interface ID3D11VideoProcessorEnumerator {
  7252. CONST_VTBL ID3D11VideoProcessorEnumeratorVtbl* lpVtbl;
  7253. };
  7254. #ifdef COBJMACROS
  7255. #ifndef WIDL_C_INLINE_WRAPPERS
  7256. /*** IUnknown methods ***/
  7257. #define ID3D11VideoProcessorEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7258. #define ID3D11VideoProcessorEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
  7259. #define ID3D11VideoProcessorEnumerator_Release(This) (This)->lpVtbl->Release(This)
  7260. /*** ID3D11DeviceChild methods ***/
  7261. #define ID3D11VideoProcessorEnumerator_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7262. #define ID3D11VideoProcessorEnumerator_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7263. #define ID3D11VideoProcessorEnumerator_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7264. #define ID3D11VideoProcessorEnumerator_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7265. /*** ID3D11VideoProcessorEnumerator methods ***/
  7266. #define ID3D11VideoProcessorEnumerator_GetVideoProcessorContentDesc(This,pContentDesc) (This)->lpVtbl->GetVideoProcessorContentDesc(This,pContentDesc)
  7267. #define ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat(This,Format,pFlags) (This)->lpVtbl->CheckVideoProcessorFormat(This,Format,pFlags)
  7268. #define ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps(This,pCaps) (This)->lpVtbl->GetVideoProcessorCaps(This,pCaps)
  7269. #define ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps) (This)->lpVtbl->GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps)
  7270. #define ID3D11VideoProcessorEnumerator_GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate) (This)->lpVtbl->GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate)
  7271. #define ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange(This,Filter,pRange) (This)->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange)
  7272. #else
  7273. /*** IUnknown methods ***/
  7274. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_QueryInterface(ID3D11VideoProcessorEnumerator* This,REFIID riid,void **ppvObject) {
  7275. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7276. }
  7277. static FORCEINLINE ULONG ID3D11VideoProcessorEnumerator_AddRef(ID3D11VideoProcessorEnumerator* This) {
  7278. return This->lpVtbl->AddRef(This);
  7279. }
  7280. static FORCEINLINE ULONG ID3D11VideoProcessorEnumerator_Release(ID3D11VideoProcessorEnumerator* This) {
  7281. return This->lpVtbl->Release(This);
  7282. }
  7283. /*** ID3D11DeviceChild methods ***/
  7284. static FORCEINLINE void ID3D11VideoProcessorEnumerator_GetDevice(ID3D11VideoProcessorEnumerator* This,ID3D11Device **ppDevice) {
  7285. This->lpVtbl->GetDevice(This,ppDevice);
  7286. }
  7287. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_GetPrivateData(ID3D11VideoProcessorEnumerator* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7288. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7289. }
  7290. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_SetPrivateData(ID3D11VideoProcessorEnumerator* This,REFGUID guid,UINT DataSize,const void *pData) {
  7291. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7292. }
  7293. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_SetPrivateDataInterface(ID3D11VideoProcessorEnumerator* This,REFGUID guid,const IUnknown *pData) {
  7294. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7295. }
  7296. /*** ID3D11VideoProcessorEnumerator methods ***/
  7297. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorContentDesc(ID3D11VideoProcessorEnumerator* This,D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc) {
  7298. return This->lpVtbl->GetVideoProcessorContentDesc(This,pContentDesc);
  7299. }
  7300. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat(ID3D11VideoProcessorEnumerator* This,DXGI_FORMAT Format,UINT *pFlags) {
  7301. return This->lpVtbl->CheckVideoProcessorFormat(This,Format,pFlags);
  7302. }
  7303. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps(ID3D11VideoProcessorEnumerator* This,D3D11_VIDEO_PROCESSOR_CAPS *pCaps) {
  7304. return This->lpVtbl->GetVideoProcessorCaps(This,pCaps);
  7305. }
  7306. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps(ID3D11VideoProcessorEnumerator* This,UINT TypeIndex,D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) {
  7307. return This->lpVtbl->GetVideoProcessorRateConversionCaps(This,TypeIndex,pCaps);
  7308. }
  7309. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorCustomRate(ID3D11VideoProcessorEnumerator* This,UINT TypeIndex,UINT CustomRateIndex,D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) {
  7310. return This->lpVtbl->GetVideoProcessorCustomRate(This,TypeIndex,CustomRateIndex,pRate);
  7311. }
  7312. static FORCEINLINE HRESULT ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange(ID3D11VideoProcessorEnumerator* This,D3D11_VIDEO_PROCESSOR_FILTER Filter,D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange) {
  7313. return This->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange);
  7314. }
  7315. #endif
  7316. #endif
  7317. #endif
  7318. #endif /* __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__ */
  7319. /*****************************************************************************
  7320. * ID3D11VideoProcessor interface
  7321. */
  7322. #ifndef __ID3D11VideoProcessor_INTERFACE_DEFINED__
  7323. #define __ID3D11VideoProcessor_INTERFACE_DEFINED__
  7324. DEFINE_GUID(IID_ID3D11VideoProcessor, 0x1d7b0652, 0x185f, 0x41c6, 0x85,0xce, 0x0c,0x5b,0xe3,0xd4,0xae,0x6c);
  7325. #if defined(__cplusplus) && !defined(CINTERFACE)
  7326. MIDL_INTERFACE("1d7b0652-185f-41c6-85ce-0c5be3d4ae6c")
  7327. ID3D11VideoProcessor : public ID3D11DeviceChild
  7328. {
  7329. virtual void STDMETHODCALLTYPE GetContentDesc(
  7330. D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc) = 0;
  7331. virtual void STDMETHODCALLTYPE GetRateConversionCaps(
  7332. D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) = 0;
  7333. };
  7334. #ifdef __CRT_UUID_DECL
  7335. __CRT_UUID_DECL(ID3D11VideoProcessor, 0x1d7b0652, 0x185f, 0x41c6, 0x85,0xce, 0x0c,0x5b,0xe3,0xd4,0xae,0x6c)
  7336. #endif
  7337. #else
  7338. typedef struct ID3D11VideoProcessorVtbl {
  7339. BEGIN_INTERFACE
  7340. /*** IUnknown methods ***/
  7341. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7342. ID3D11VideoProcessor *This,
  7343. REFIID riid,
  7344. void **ppvObject);
  7345. ULONG (STDMETHODCALLTYPE *AddRef)(
  7346. ID3D11VideoProcessor *This);
  7347. ULONG (STDMETHODCALLTYPE *Release)(
  7348. ID3D11VideoProcessor *This);
  7349. /*** ID3D11DeviceChild methods ***/
  7350. void (STDMETHODCALLTYPE *GetDevice)(
  7351. ID3D11VideoProcessor *This,
  7352. ID3D11Device **ppDevice);
  7353. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  7354. ID3D11VideoProcessor *This,
  7355. REFGUID guid,
  7356. UINT *pDataSize,
  7357. void *pData);
  7358. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7359. ID3D11VideoProcessor *This,
  7360. REFGUID guid,
  7361. UINT DataSize,
  7362. const void *pData);
  7363. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7364. ID3D11VideoProcessor *This,
  7365. REFGUID guid,
  7366. const IUnknown *pData);
  7367. /*** ID3D11VideoProcessor methods ***/
  7368. void (STDMETHODCALLTYPE *GetContentDesc)(
  7369. ID3D11VideoProcessor *This,
  7370. D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc);
  7371. void (STDMETHODCALLTYPE *GetRateConversionCaps)(
  7372. ID3D11VideoProcessor *This,
  7373. D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
  7374. END_INTERFACE
  7375. } ID3D11VideoProcessorVtbl;
  7376. interface ID3D11VideoProcessor {
  7377. CONST_VTBL ID3D11VideoProcessorVtbl* lpVtbl;
  7378. };
  7379. #ifdef COBJMACROS
  7380. #ifndef WIDL_C_INLINE_WRAPPERS
  7381. /*** IUnknown methods ***/
  7382. #define ID3D11VideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7383. #define ID3D11VideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
  7384. #define ID3D11VideoProcessor_Release(This) (This)->lpVtbl->Release(This)
  7385. /*** ID3D11DeviceChild methods ***/
  7386. #define ID3D11VideoProcessor_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7387. #define ID3D11VideoProcessor_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7388. #define ID3D11VideoProcessor_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7389. #define ID3D11VideoProcessor_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7390. /*** ID3D11VideoProcessor methods ***/
  7391. #define ID3D11VideoProcessor_GetContentDesc(This,pDesc) (This)->lpVtbl->GetContentDesc(This,pDesc)
  7392. #define ID3D11VideoProcessor_GetRateConversionCaps(This,pCaps) (This)->lpVtbl->GetRateConversionCaps(This,pCaps)
  7393. #else
  7394. /*** IUnknown methods ***/
  7395. static FORCEINLINE HRESULT ID3D11VideoProcessor_QueryInterface(ID3D11VideoProcessor* This,REFIID riid,void **ppvObject) {
  7396. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7397. }
  7398. static FORCEINLINE ULONG ID3D11VideoProcessor_AddRef(ID3D11VideoProcessor* This) {
  7399. return This->lpVtbl->AddRef(This);
  7400. }
  7401. static FORCEINLINE ULONG ID3D11VideoProcessor_Release(ID3D11VideoProcessor* This) {
  7402. return This->lpVtbl->Release(This);
  7403. }
  7404. /*** ID3D11DeviceChild methods ***/
  7405. static FORCEINLINE void ID3D11VideoProcessor_GetDevice(ID3D11VideoProcessor* This,ID3D11Device **ppDevice) {
  7406. This->lpVtbl->GetDevice(This,ppDevice);
  7407. }
  7408. static FORCEINLINE HRESULT ID3D11VideoProcessor_GetPrivateData(ID3D11VideoProcessor* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7409. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7410. }
  7411. static FORCEINLINE HRESULT ID3D11VideoProcessor_SetPrivateData(ID3D11VideoProcessor* This,REFGUID guid,UINT DataSize,const void *pData) {
  7412. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7413. }
  7414. static FORCEINLINE HRESULT ID3D11VideoProcessor_SetPrivateDataInterface(ID3D11VideoProcessor* This,REFGUID guid,const IUnknown *pData) {
  7415. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7416. }
  7417. /*** ID3D11VideoProcessor methods ***/
  7418. static FORCEINLINE void ID3D11VideoProcessor_GetContentDesc(ID3D11VideoProcessor* This,D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc) {
  7419. This->lpVtbl->GetContentDesc(This,pDesc);
  7420. }
  7421. static FORCEINLINE void ID3D11VideoProcessor_GetRateConversionCaps(ID3D11VideoProcessor* This,D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps) {
  7422. This->lpVtbl->GetRateConversionCaps(This,pCaps);
  7423. }
  7424. #endif
  7425. #endif
  7426. #endif
  7427. #endif /* __ID3D11VideoProcessor_INTERFACE_DEFINED__ */
  7428. /*****************************************************************************
  7429. * ID3D11VideoDecoderOutputView interface
  7430. */
  7431. #ifndef __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__
  7432. #define __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__
  7433. DEFINE_GUID(IID_ID3D11VideoDecoderOutputView, 0xc2931aea, 0x2a85, 0x4f20, 0x86,0x0f, 0xfb,0xa1,0xfd,0x25,0x6e,0x18);
  7434. #if defined(__cplusplus) && !defined(CINTERFACE)
  7435. MIDL_INTERFACE("c2931aea-2a85-4f20-860f-fba1fd256e18")
  7436. ID3D11VideoDecoderOutputView : public ID3D11View
  7437. {
  7438. virtual void STDMETHODCALLTYPE GetDesc(
  7439. D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc) = 0;
  7440. };
  7441. #ifdef __CRT_UUID_DECL
  7442. __CRT_UUID_DECL(ID3D11VideoDecoderOutputView, 0xc2931aea, 0x2a85, 0x4f20, 0x86,0x0f, 0xfb,0xa1,0xfd,0x25,0x6e,0x18)
  7443. #endif
  7444. #else
  7445. typedef struct ID3D11VideoDecoderOutputViewVtbl {
  7446. BEGIN_INTERFACE
  7447. /*** IUnknown methods ***/
  7448. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7449. ID3D11VideoDecoderOutputView *This,
  7450. REFIID riid,
  7451. void **ppvObject);
  7452. ULONG (STDMETHODCALLTYPE *AddRef)(
  7453. ID3D11VideoDecoderOutputView *This);
  7454. ULONG (STDMETHODCALLTYPE *Release)(
  7455. ID3D11VideoDecoderOutputView *This);
  7456. /*** ID3D11DeviceChild methods ***/
  7457. void (STDMETHODCALLTYPE *GetDevice)(
  7458. ID3D11VideoDecoderOutputView *This,
  7459. ID3D11Device **ppDevice);
  7460. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  7461. ID3D11VideoDecoderOutputView *This,
  7462. REFGUID guid,
  7463. UINT *pDataSize,
  7464. void *pData);
  7465. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7466. ID3D11VideoDecoderOutputView *This,
  7467. REFGUID guid,
  7468. UINT DataSize,
  7469. const void *pData);
  7470. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7471. ID3D11VideoDecoderOutputView *This,
  7472. REFGUID guid,
  7473. const IUnknown *pData);
  7474. /*** ID3D11View methods ***/
  7475. void (STDMETHODCALLTYPE *GetResource)(
  7476. ID3D11VideoDecoderOutputView *This,
  7477. ID3D11Resource **ppResource);
  7478. /*** ID3D11VideoDecoderOutputView methods ***/
  7479. void (STDMETHODCALLTYPE *GetDesc)(
  7480. ID3D11VideoDecoderOutputView *This,
  7481. D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
  7482. END_INTERFACE
  7483. } ID3D11VideoDecoderOutputViewVtbl;
  7484. interface ID3D11VideoDecoderOutputView {
  7485. CONST_VTBL ID3D11VideoDecoderOutputViewVtbl* lpVtbl;
  7486. };
  7487. #ifdef COBJMACROS
  7488. #ifndef WIDL_C_INLINE_WRAPPERS
  7489. /*** IUnknown methods ***/
  7490. #define ID3D11VideoDecoderOutputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7491. #define ID3D11VideoDecoderOutputView_AddRef(This) (This)->lpVtbl->AddRef(This)
  7492. #define ID3D11VideoDecoderOutputView_Release(This) (This)->lpVtbl->Release(This)
  7493. /*** ID3D11DeviceChild methods ***/
  7494. #define ID3D11VideoDecoderOutputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7495. #define ID3D11VideoDecoderOutputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7496. #define ID3D11VideoDecoderOutputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7497. #define ID3D11VideoDecoderOutputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7498. /*** ID3D11View methods ***/
  7499. #define ID3D11VideoDecoderOutputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  7500. /*** ID3D11VideoDecoderOutputView methods ***/
  7501. #define ID3D11VideoDecoderOutputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  7502. #else
  7503. /*** IUnknown methods ***/
  7504. static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_QueryInterface(ID3D11VideoDecoderOutputView* This,REFIID riid,void **ppvObject) {
  7505. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7506. }
  7507. static FORCEINLINE ULONG ID3D11VideoDecoderOutputView_AddRef(ID3D11VideoDecoderOutputView* This) {
  7508. return This->lpVtbl->AddRef(This);
  7509. }
  7510. static FORCEINLINE ULONG ID3D11VideoDecoderOutputView_Release(ID3D11VideoDecoderOutputView* This) {
  7511. return This->lpVtbl->Release(This);
  7512. }
  7513. /*** ID3D11DeviceChild methods ***/
  7514. static FORCEINLINE void ID3D11VideoDecoderOutputView_GetDevice(ID3D11VideoDecoderOutputView* This,ID3D11Device **ppDevice) {
  7515. This->lpVtbl->GetDevice(This,ppDevice);
  7516. }
  7517. static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_GetPrivateData(ID3D11VideoDecoderOutputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7518. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7519. }
  7520. static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_SetPrivateData(ID3D11VideoDecoderOutputView* This,REFGUID guid,UINT DataSize,const void *pData) {
  7521. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7522. }
  7523. static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_SetPrivateDataInterface(ID3D11VideoDecoderOutputView* This,REFGUID guid,const IUnknown *pData) {
  7524. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7525. }
  7526. /*** ID3D11View methods ***/
  7527. static FORCEINLINE void ID3D11VideoDecoderOutputView_GetResource(ID3D11VideoDecoderOutputView* This,ID3D11Resource **ppResource) {
  7528. This->lpVtbl->GetResource(This,ppResource);
  7529. }
  7530. /*** ID3D11VideoDecoderOutputView methods ***/
  7531. static FORCEINLINE void ID3D11VideoDecoderOutputView_GetDesc(ID3D11VideoDecoderOutputView* This,D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc) {
  7532. This->lpVtbl->GetDesc(This,pDesc);
  7533. }
  7534. #endif
  7535. #endif
  7536. #endif
  7537. #endif /* __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__ */
  7538. /*****************************************************************************
  7539. * ID3D11VideoProcessorInputView interface
  7540. */
  7541. #ifndef __ID3D11VideoProcessorInputView_INTERFACE_DEFINED__
  7542. #define __ID3D11VideoProcessorInputView_INTERFACE_DEFINED__
  7543. DEFINE_GUID(IID_ID3D11VideoProcessorInputView, 0x11ec5a5f, 0x51dc, 0x4945, 0xab,0x34, 0x6e,0x8c,0x21,0x30,0x0e,0xa5);
  7544. #if defined(__cplusplus) && !defined(CINTERFACE)
  7545. MIDL_INTERFACE("11ec5a5f-51dc-4945-ab34-6e8c21300ea5")
  7546. ID3D11VideoProcessorInputView : public ID3D11View
  7547. {
  7548. virtual void STDMETHODCALLTYPE GetDesc(
  7549. D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc) = 0;
  7550. };
  7551. #ifdef __CRT_UUID_DECL
  7552. __CRT_UUID_DECL(ID3D11VideoProcessorInputView, 0x11ec5a5f, 0x51dc, 0x4945, 0xab,0x34, 0x6e,0x8c,0x21,0x30,0x0e,0xa5)
  7553. #endif
  7554. #else
  7555. typedef struct ID3D11VideoProcessorInputViewVtbl {
  7556. BEGIN_INTERFACE
  7557. /*** IUnknown methods ***/
  7558. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7559. ID3D11VideoProcessorInputView *This,
  7560. REFIID riid,
  7561. void **ppvObject);
  7562. ULONG (STDMETHODCALLTYPE *AddRef)(
  7563. ID3D11VideoProcessorInputView *This);
  7564. ULONG (STDMETHODCALLTYPE *Release)(
  7565. ID3D11VideoProcessorInputView *This);
  7566. /*** ID3D11DeviceChild methods ***/
  7567. void (STDMETHODCALLTYPE *GetDevice)(
  7568. ID3D11VideoProcessorInputView *This,
  7569. ID3D11Device **ppDevice);
  7570. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  7571. ID3D11VideoProcessorInputView *This,
  7572. REFGUID guid,
  7573. UINT *pDataSize,
  7574. void *pData);
  7575. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7576. ID3D11VideoProcessorInputView *This,
  7577. REFGUID guid,
  7578. UINT DataSize,
  7579. const void *pData);
  7580. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7581. ID3D11VideoProcessorInputView *This,
  7582. REFGUID guid,
  7583. const IUnknown *pData);
  7584. /*** ID3D11View methods ***/
  7585. void (STDMETHODCALLTYPE *GetResource)(
  7586. ID3D11VideoProcessorInputView *This,
  7587. ID3D11Resource **ppResource);
  7588. /*** ID3D11VideoProcessorInputView methods ***/
  7589. void (STDMETHODCALLTYPE *GetDesc)(
  7590. ID3D11VideoProcessorInputView *This,
  7591. D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc);
  7592. END_INTERFACE
  7593. } ID3D11VideoProcessorInputViewVtbl;
  7594. interface ID3D11VideoProcessorInputView {
  7595. CONST_VTBL ID3D11VideoProcessorInputViewVtbl* lpVtbl;
  7596. };
  7597. #ifdef COBJMACROS
  7598. #ifndef WIDL_C_INLINE_WRAPPERS
  7599. /*** IUnknown methods ***/
  7600. #define ID3D11VideoProcessorInputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7601. #define ID3D11VideoProcessorInputView_AddRef(This) (This)->lpVtbl->AddRef(This)
  7602. #define ID3D11VideoProcessorInputView_Release(This) (This)->lpVtbl->Release(This)
  7603. /*** ID3D11DeviceChild methods ***/
  7604. #define ID3D11VideoProcessorInputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7605. #define ID3D11VideoProcessorInputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7606. #define ID3D11VideoProcessorInputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7607. #define ID3D11VideoProcessorInputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7608. /*** ID3D11View methods ***/
  7609. #define ID3D11VideoProcessorInputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  7610. /*** ID3D11VideoProcessorInputView methods ***/
  7611. #define ID3D11VideoProcessorInputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  7612. #else
  7613. /*** IUnknown methods ***/
  7614. static FORCEINLINE HRESULT ID3D11VideoProcessorInputView_QueryInterface(ID3D11VideoProcessorInputView* This,REFIID riid,void **ppvObject) {
  7615. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7616. }
  7617. static FORCEINLINE ULONG ID3D11VideoProcessorInputView_AddRef(ID3D11VideoProcessorInputView* This) {
  7618. return This->lpVtbl->AddRef(This);
  7619. }
  7620. static FORCEINLINE ULONG ID3D11VideoProcessorInputView_Release(ID3D11VideoProcessorInputView* This) {
  7621. return This->lpVtbl->Release(This);
  7622. }
  7623. /*** ID3D11DeviceChild methods ***/
  7624. static FORCEINLINE void ID3D11VideoProcessorInputView_GetDevice(ID3D11VideoProcessorInputView* This,ID3D11Device **ppDevice) {
  7625. This->lpVtbl->GetDevice(This,ppDevice);
  7626. }
  7627. static FORCEINLINE HRESULT ID3D11VideoProcessorInputView_GetPrivateData(ID3D11VideoProcessorInputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7628. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7629. }
  7630. static FORCEINLINE HRESULT ID3D11VideoProcessorInputView_SetPrivateData(ID3D11VideoProcessorInputView* This,REFGUID guid,UINT DataSize,const void *pData) {
  7631. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7632. }
  7633. static FORCEINLINE HRESULT ID3D11VideoProcessorInputView_SetPrivateDataInterface(ID3D11VideoProcessorInputView* This,REFGUID guid,const IUnknown *pData) {
  7634. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7635. }
  7636. /*** ID3D11View methods ***/
  7637. static FORCEINLINE void ID3D11VideoProcessorInputView_GetResource(ID3D11VideoProcessorInputView* This,ID3D11Resource **ppResource) {
  7638. This->lpVtbl->GetResource(This,ppResource);
  7639. }
  7640. /*** ID3D11VideoProcessorInputView methods ***/
  7641. static FORCEINLINE void ID3D11VideoProcessorInputView_GetDesc(ID3D11VideoProcessorInputView* This,D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc) {
  7642. This->lpVtbl->GetDesc(This,pDesc);
  7643. }
  7644. #endif
  7645. #endif
  7646. #endif
  7647. #endif /* __ID3D11VideoProcessorInputView_INTERFACE_DEFINED__ */
  7648. /*****************************************************************************
  7649. * ID3D11VideoProcessorOutputView interface
  7650. */
  7651. #ifndef __ID3D11VideoProcessorOutputView_INTERFACE_DEFINED__
  7652. #define __ID3D11VideoProcessorOutputView_INTERFACE_DEFINED__
  7653. DEFINE_GUID(IID_ID3D11VideoProcessorOutputView, 0xa048285e, 0x25a9, 0x4527, 0xbd,0x93, 0xd6,0x8b,0x68,0xc4,0x42,0x54);
  7654. #if defined(__cplusplus) && !defined(CINTERFACE)
  7655. MIDL_INTERFACE("a048285e-25a9-4527-bd93-d68b68c44254")
  7656. ID3D11VideoProcessorOutputView : public ID3D11View
  7657. {
  7658. virtual void STDMETHODCALLTYPE GetDesc(
  7659. D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc) = 0;
  7660. };
  7661. #ifdef __CRT_UUID_DECL
  7662. __CRT_UUID_DECL(ID3D11VideoProcessorOutputView, 0xa048285e, 0x25a9, 0x4527, 0xbd,0x93, 0xd6,0x8b,0x68,0xc4,0x42,0x54)
  7663. #endif
  7664. #else
  7665. typedef struct ID3D11VideoProcessorOutputViewVtbl {
  7666. BEGIN_INTERFACE
  7667. /*** IUnknown methods ***/
  7668. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7669. ID3D11VideoProcessorOutputView *This,
  7670. REFIID riid,
  7671. void **ppvObject);
  7672. ULONG (STDMETHODCALLTYPE *AddRef)(
  7673. ID3D11VideoProcessorOutputView *This);
  7674. ULONG (STDMETHODCALLTYPE *Release)(
  7675. ID3D11VideoProcessorOutputView *This);
  7676. /*** ID3D11DeviceChild methods ***/
  7677. void (STDMETHODCALLTYPE *GetDevice)(
  7678. ID3D11VideoProcessorOutputView *This,
  7679. ID3D11Device **ppDevice);
  7680. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  7681. ID3D11VideoProcessorOutputView *This,
  7682. REFGUID guid,
  7683. UINT *pDataSize,
  7684. void *pData);
  7685. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7686. ID3D11VideoProcessorOutputView *This,
  7687. REFGUID guid,
  7688. UINT DataSize,
  7689. const void *pData);
  7690. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7691. ID3D11VideoProcessorOutputView *This,
  7692. REFGUID guid,
  7693. const IUnknown *pData);
  7694. /*** ID3D11View methods ***/
  7695. void (STDMETHODCALLTYPE *GetResource)(
  7696. ID3D11VideoProcessorOutputView *This,
  7697. ID3D11Resource **ppResource);
  7698. /*** ID3D11VideoProcessorOutputView methods ***/
  7699. void (STDMETHODCALLTYPE *GetDesc)(
  7700. ID3D11VideoProcessorOutputView *This,
  7701. D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc);
  7702. END_INTERFACE
  7703. } ID3D11VideoProcessorOutputViewVtbl;
  7704. interface ID3D11VideoProcessorOutputView {
  7705. CONST_VTBL ID3D11VideoProcessorOutputViewVtbl* lpVtbl;
  7706. };
  7707. #ifdef COBJMACROS
  7708. #ifndef WIDL_C_INLINE_WRAPPERS
  7709. /*** IUnknown methods ***/
  7710. #define ID3D11VideoProcessorOutputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7711. #define ID3D11VideoProcessorOutputView_AddRef(This) (This)->lpVtbl->AddRef(This)
  7712. #define ID3D11VideoProcessorOutputView_Release(This) (This)->lpVtbl->Release(This)
  7713. /*** ID3D11DeviceChild methods ***/
  7714. #define ID3D11VideoProcessorOutputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  7715. #define ID3D11VideoProcessorOutputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  7716. #define ID3D11VideoProcessorOutputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7717. #define ID3D11VideoProcessorOutputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7718. /*** ID3D11View methods ***/
  7719. #define ID3D11VideoProcessorOutputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
  7720. /*** ID3D11VideoProcessorOutputView methods ***/
  7721. #define ID3D11VideoProcessorOutputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
  7722. #else
  7723. /*** IUnknown methods ***/
  7724. static FORCEINLINE HRESULT ID3D11VideoProcessorOutputView_QueryInterface(ID3D11VideoProcessorOutputView* This,REFIID riid,void **ppvObject) {
  7725. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7726. }
  7727. static FORCEINLINE ULONG ID3D11VideoProcessorOutputView_AddRef(ID3D11VideoProcessorOutputView* This) {
  7728. return This->lpVtbl->AddRef(This);
  7729. }
  7730. static FORCEINLINE ULONG ID3D11VideoProcessorOutputView_Release(ID3D11VideoProcessorOutputView* This) {
  7731. return This->lpVtbl->Release(This);
  7732. }
  7733. /*** ID3D11DeviceChild methods ***/
  7734. static FORCEINLINE void ID3D11VideoProcessorOutputView_GetDevice(ID3D11VideoProcessorOutputView* This,ID3D11Device **ppDevice) {
  7735. This->lpVtbl->GetDevice(This,ppDevice);
  7736. }
  7737. static FORCEINLINE HRESULT ID3D11VideoProcessorOutputView_GetPrivateData(ID3D11VideoProcessorOutputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
  7738. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  7739. }
  7740. static FORCEINLINE HRESULT ID3D11VideoProcessorOutputView_SetPrivateData(ID3D11VideoProcessorOutputView* This,REFGUID guid,UINT DataSize,const void *pData) {
  7741. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  7742. }
  7743. static FORCEINLINE HRESULT ID3D11VideoProcessorOutputView_SetPrivateDataInterface(ID3D11VideoProcessorOutputView* This,REFGUID guid,const IUnknown *pData) {
  7744. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  7745. }
  7746. /*** ID3D11View methods ***/
  7747. static FORCEINLINE void ID3D11VideoProcessorOutputView_GetResource(ID3D11VideoProcessorOutputView* This,ID3D11Resource **ppResource) {
  7748. This->lpVtbl->GetResource(This,ppResource);
  7749. }
  7750. /*** ID3D11VideoProcessorOutputView methods ***/
  7751. static FORCEINLINE void ID3D11VideoProcessorOutputView_GetDesc(ID3D11VideoProcessorOutputView* This,D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc) {
  7752. This->lpVtbl->GetDesc(This,pDesc);
  7753. }
  7754. #endif
  7755. #endif
  7756. #endif
  7757. #endif /* __ID3D11VideoProcessorOutputView_INTERFACE_DEFINED__ */
  7758. /*****************************************************************************
  7759. * ID3D11VideoDevice interface
  7760. */
  7761. #ifndef __ID3D11VideoDevice_INTERFACE_DEFINED__
  7762. #define __ID3D11VideoDevice_INTERFACE_DEFINED__
  7763. DEFINE_GUID(IID_ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33);
  7764. #if defined(__cplusplus) && !defined(CINTERFACE)
  7765. MIDL_INTERFACE("10ec4d5b-975a-4689-b9e4-d0aac30fe333")
  7766. ID3D11VideoDevice : public IUnknown
  7767. {
  7768. virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder(
  7769. const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
  7770. const D3D11_VIDEO_DECODER_CONFIG *pConfig,
  7771. ID3D11VideoDecoder **ppDecoder) = 0;
  7772. virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
  7773. ID3D11VideoProcessorEnumerator *pEnum,
  7774. UINT RateConversionIndex,
  7775. ID3D11VideoProcessor **ppVideoProcessor) = 0;
  7776. virtual HRESULT STDMETHODCALLTYPE CreateAuthenticatedChannel(
  7777. D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
  7778. ID3D11AuthenticatedChannel **ppAuthenticatedChannel) = 0;
  7779. virtual HRESULT STDMETHODCALLTYPE CreateCryptoSession(
  7780. const GUID *pCryptoType,
  7781. const GUID *pDecoderProfile,
  7782. const GUID *pKeyExchangeType,
  7783. ID3D11CryptoSession **ppCryptoSession) = 0;
  7784. virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderOutputView(
  7785. ID3D11Resource *pResource,
  7786. const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
  7787. ID3D11VideoDecoderOutputView **ppVDOVView) = 0;
  7788. virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorInputView(
  7789. ID3D11Resource *pResource,
  7790. ID3D11VideoProcessorEnumerator *pEnum,
  7791. const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
  7792. ID3D11VideoProcessorInputView **ppVPIView) = 0;
  7793. virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorOutputView(
  7794. ID3D11Resource *pResource,
  7795. ID3D11VideoProcessorEnumerator *pEnum,
  7796. const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
  7797. ID3D11VideoProcessorOutputView **ppVPOView) = 0;
  7798. virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorEnumerator(
  7799. const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
  7800. ID3D11VideoProcessorEnumerator **ppEnum) = 0;
  7801. virtual UINT STDMETHODCALLTYPE GetVideoDecoderProfileCount(
  7802. ) = 0;
  7803. virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderProfile(
  7804. UINT Index,
  7805. GUID *pDecoderProfile) = 0;
  7806. virtual HRESULT STDMETHODCALLTYPE CheckVideoDecoderFormat(
  7807. const GUID *pDecoderProfile,
  7808. DXGI_FORMAT Format,
  7809. WINBOOL *pSupported) = 0;
  7810. virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderConfigCount(
  7811. const D3D11_VIDEO_DECODER_DESC *pDesc,
  7812. UINT *pCount) = 0;
  7813. virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderConfig(
  7814. const D3D11_VIDEO_DECODER_DESC *pDesc,
  7815. UINT Index,
  7816. D3D11_VIDEO_DECODER_CONFIG *pConfig) = 0;
  7817. virtual HRESULT STDMETHODCALLTYPE GetContentProtectionCaps(
  7818. const GUID *pCryptoType,
  7819. const GUID *pDecoderProfile,
  7820. D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps) = 0;
  7821. virtual HRESULT STDMETHODCALLTYPE CheckCryptoKeyExchange(
  7822. const GUID *pCryptoType,
  7823. const GUID *pDecoderProfile,
  7824. UINT Index,
  7825. GUID *pKeyExchangeType) = 0;
  7826. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  7827. REFGUID guid,
  7828. UINT DataSize,
  7829. const void *pData) = 0;
  7830. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  7831. REFGUID guid,
  7832. const IUnknown *pData) = 0;
  7833. };
  7834. #ifdef __CRT_UUID_DECL
  7835. __CRT_UUID_DECL(ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33)
  7836. #endif
  7837. #else
  7838. typedef struct ID3D11VideoDeviceVtbl {
  7839. BEGIN_INTERFACE
  7840. /*** IUnknown methods ***/
  7841. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7842. ID3D11VideoDevice *This,
  7843. REFIID riid,
  7844. void **ppvObject);
  7845. ULONG (STDMETHODCALLTYPE *AddRef)(
  7846. ID3D11VideoDevice *This);
  7847. ULONG (STDMETHODCALLTYPE *Release)(
  7848. ID3D11VideoDevice *This);
  7849. /*** ID3D11VideoDevice methods ***/
  7850. HRESULT (STDMETHODCALLTYPE *CreateVideoDecoder)(
  7851. ID3D11VideoDevice *This,
  7852. const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
  7853. const D3D11_VIDEO_DECODER_CONFIG *pConfig,
  7854. ID3D11VideoDecoder **ppDecoder);
  7855. HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)(
  7856. ID3D11VideoDevice *This,
  7857. ID3D11VideoProcessorEnumerator *pEnum,
  7858. UINT RateConversionIndex,
  7859. ID3D11VideoProcessor **ppVideoProcessor);
  7860. HRESULT (STDMETHODCALLTYPE *CreateAuthenticatedChannel)(
  7861. ID3D11VideoDevice *This,
  7862. D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
  7863. ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
  7864. HRESULT (STDMETHODCALLTYPE *CreateCryptoSession)(
  7865. ID3D11VideoDevice *This,
  7866. const GUID *pCryptoType,
  7867. const GUID *pDecoderProfile,
  7868. const GUID *pKeyExchangeType,
  7869. ID3D11CryptoSession **ppCryptoSession);
  7870. HRESULT (STDMETHODCALLTYPE *CreateVideoDecoderOutputView)(
  7871. ID3D11VideoDevice *This,
  7872. ID3D11Resource *pResource,
  7873. const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
  7874. ID3D11VideoDecoderOutputView **ppVDOVView);
  7875. HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorInputView)(
  7876. ID3D11VideoDevice *This,
  7877. ID3D11Resource *pResource,
  7878. ID3D11VideoProcessorEnumerator *pEnum,
  7879. const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
  7880. ID3D11VideoProcessorInputView **ppVPIView);
  7881. HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorOutputView)(
  7882. ID3D11VideoDevice *This,
  7883. ID3D11Resource *pResource,
  7884. ID3D11VideoProcessorEnumerator *pEnum,
  7885. const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
  7886. ID3D11VideoProcessorOutputView **ppVPOView);
  7887. HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorEnumerator)(
  7888. ID3D11VideoDevice *This,
  7889. const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
  7890. ID3D11VideoProcessorEnumerator **ppEnum);
  7891. UINT (STDMETHODCALLTYPE *GetVideoDecoderProfileCount)(
  7892. ID3D11VideoDevice *This);
  7893. HRESULT (STDMETHODCALLTYPE *GetVideoDecoderProfile)(
  7894. ID3D11VideoDevice *This,
  7895. UINT Index,
  7896. GUID *pDecoderProfile);
  7897. HRESULT (STDMETHODCALLTYPE *CheckVideoDecoderFormat)(
  7898. ID3D11VideoDevice *This,
  7899. const GUID *pDecoderProfile,
  7900. DXGI_FORMAT Format,
  7901. WINBOOL *pSupported);
  7902. HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfigCount)(
  7903. ID3D11VideoDevice *This,
  7904. const D3D11_VIDEO_DECODER_DESC *pDesc,
  7905. UINT *pCount);
  7906. HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfig)(
  7907. ID3D11VideoDevice *This,
  7908. const D3D11_VIDEO_DECODER_DESC *pDesc,
  7909. UINT Index,
  7910. D3D11_VIDEO_DECODER_CONFIG *pConfig);
  7911. HRESULT (STDMETHODCALLTYPE *GetContentProtectionCaps)(
  7912. ID3D11VideoDevice *This,
  7913. const GUID *pCryptoType,
  7914. const GUID *pDecoderProfile,
  7915. D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps);
  7916. HRESULT (STDMETHODCALLTYPE *CheckCryptoKeyExchange)(
  7917. ID3D11VideoDevice *This,
  7918. const GUID *pCryptoType,
  7919. const GUID *pDecoderProfile,
  7920. UINT Index,
  7921. GUID *pKeyExchangeType);
  7922. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  7923. ID3D11VideoDevice *This,
  7924. REFGUID guid,
  7925. UINT DataSize,
  7926. const void *pData);
  7927. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  7928. ID3D11VideoDevice *This,
  7929. REFGUID guid,
  7930. const IUnknown *pData);
  7931. END_INTERFACE
  7932. } ID3D11VideoDeviceVtbl;
  7933. interface ID3D11VideoDevice {
  7934. CONST_VTBL ID3D11VideoDeviceVtbl* lpVtbl;
  7935. };
  7936. #ifdef COBJMACROS
  7937. #ifndef WIDL_C_INLINE_WRAPPERS
  7938. /*** IUnknown methods ***/
  7939. #define ID3D11VideoDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7940. #define ID3D11VideoDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
  7941. #define ID3D11VideoDevice_Release(This) (This)->lpVtbl->Release(This)
  7942. /*** ID3D11VideoDevice methods ***/
  7943. #define ID3D11VideoDevice_CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder) (This)->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder)
  7944. #define ID3D11VideoDevice_CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor) (This)->lpVtbl->CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor)
  7945. #define ID3D11VideoDevice_CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel) (This)->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel)
  7946. #define ID3D11VideoDevice_CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession) (This)->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession)
  7947. #define ID3D11VideoDevice_CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView) (This)->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView)
  7948. #define ID3D11VideoDevice_CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView) (This)->lpVtbl->CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView)
  7949. #define ID3D11VideoDevice_CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView) (This)->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView)
  7950. #define ID3D11VideoDevice_CreateVideoProcessorEnumerator(This,pDesc,ppEnum) (This)->lpVtbl->CreateVideoProcessorEnumerator(This,pDesc,ppEnum)
  7951. #define ID3D11VideoDevice_GetVideoDecoderProfileCount(This) (This)->lpVtbl->GetVideoDecoderProfileCount(This)
  7952. #define ID3D11VideoDevice_GetVideoDecoderProfile(This,Index,pDecoderProfile) (This)->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile)
  7953. #define ID3D11VideoDevice_CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported) (This)->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported)
  7954. #define ID3D11VideoDevice_GetVideoDecoderConfigCount(This,pDesc,pCount) (This)->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount)
  7955. #define ID3D11VideoDevice_GetVideoDecoderConfig(This,pDesc,Index,pConfig) (This)->lpVtbl->GetVideoDecoderConfig(This,pDesc,Index,pConfig)
  7956. #define ID3D11VideoDevice_GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps) (This)->lpVtbl->GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps)
  7957. #define ID3D11VideoDevice_CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType) (This)->lpVtbl->CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType)
  7958. #define ID3D11VideoDevice_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  7959. #define ID3D11VideoDevice_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  7960. #else
  7961. /*** IUnknown methods ***/
  7962. static FORCEINLINE HRESULT ID3D11VideoDevice_QueryInterface(ID3D11VideoDevice* This,REFIID riid,void **ppvObject) {
  7963. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7964. }
  7965. static FORCEINLINE ULONG ID3D11VideoDevice_AddRef(ID3D11VideoDevice* This) {
  7966. return This->lpVtbl->AddRef(This);
  7967. }
  7968. static FORCEINLINE ULONG ID3D11VideoDevice_Release(ID3D11VideoDevice* This) {
  7969. return This->lpVtbl->Release(This);
  7970. }
  7971. /*** ID3D11VideoDevice methods ***/
  7972. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoDecoder(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pVideoDesc,const D3D11_VIDEO_DECODER_CONFIG *pConfig,ID3D11VideoDecoder **ppDecoder) {
  7973. return This->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppDecoder);
  7974. }
  7975. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessor(ID3D11VideoDevice* This,ID3D11VideoProcessorEnumerator *pEnum,UINT RateConversionIndex,ID3D11VideoProcessor **ppVideoProcessor) {
  7976. return This->lpVtbl->CreateVideoProcessor(This,pEnum,RateConversionIndex,ppVideoProcessor);
  7977. }
  7978. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateAuthenticatedChannel(ID3D11VideoDevice* This,D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,ID3D11AuthenticatedChannel **ppAuthenticatedChannel) {
  7979. return This->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel);
  7980. }
  7981. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateCryptoSession(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,const GUID *pKeyExchangeType,ID3D11CryptoSession **ppCryptoSession) {
  7982. return This->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession);
  7983. }
  7984. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoDecoderOutputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoDecoderOutputView **ppVDOVView) {
  7985. return This->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVDOVView);
  7986. }
  7987. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessorInputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnum,const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,ID3D11VideoProcessorInputView **ppVPIView) {
  7988. return This->lpVtbl->CreateVideoProcessorInputView(This,pResource,pEnum,pDesc,ppVPIView);
  7989. }
  7990. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessorOutputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnum,const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoProcessorOutputView **ppVPOView) {
  7991. return This->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnum,pDesc,ppVPOView);
  7992. }
  7993. static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessorEnumerator(ID3D11VideoDevice* This,const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,ID3D11VideoProcessorEnumerator **ppEnum) {
  7994. return This->lpVtbl->CreateVideoProcessorEnumerator(This,pDesc,ppEnum);
  7995. }
  7996. static FORCEINLINE UINT ID3D11VideoDevice_GetVideoDecoderProfileCount(ID3D11VideoDevice* This) {
  7997. return This->lpVtbl->GetVideoDecoderProfileCount(This);
  7998. }
  7999. static FORCEINLINE HRESULT ID3D11VideoDevice_GetVideoDecoderProfile(ID3D11VideoDevice* This,UINT Index,GUID *pDecoderProfile) {
  8000. return This->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile);
  8001. }
  8002. static FORCEINLINE HRESULT ID3D11VideoDevice_CheckVideoDecoderFormat(ID3D11VideoDevice* This,const GUID *pDecoderProfile,DXGI_FORMAT Format,WINBOOL *pSupported) {
  8003. return This->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported);
  8004. }
  8005. static FORCEINLINE HRESULT ID3D11VideoDevice_GetVideoDecoderConfigCount(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT *pCount) {
  8006. return This->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount);
  8007. }
  8008. static FORCEINLINE HRESULT ID3D11VideoDevice_GetVideoDecoderConfig(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT Index,D3D11_VIDEO_DECODER_CONFIG *pConfig) {
  8009. return This->lpVtbl->GetVideoDecoderConfig(This,pDesc,Index,pConfig);
  8010. }
  8011. static FORCEINLINE HRESULT ID3D11VideoDevice_GetContentProtectionCaps(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps) {
  8012. return This->lpVtbl->GetContentProtectionCaps(This,pCryptoType,pDecoderProfile,pCaps);
  8013. }
  8014. static FORCEINLINE HRESULT ID3D11VideoDevice_CheckCryptoKeyExchange(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,UINT Index,GUID *pKeyExchangeType) {
  8015. return This->lpVtbl->CheckCryptoKeyExchange(This,pCryptoType,pDecoderProfile,Index,pKeyExchangeType);
  8016. }
  8017. static FORCEINLINE HRESULT ID3D11VideoDevice_SetPrivateData(ID3D11VideoDevice* This,REFGUID guid,UINT DataSize,const void *pData) {
  8018. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  8019. }
  8020. static FORCEINLINE HRESULT ID3D11VideoDevice_SetPrivateDataInterface(ID3D11VideoDevice* This,REFGUID guid,const IUnknown *pData) {
  8021. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  8022. }
  8023. #endif
  8024. #endif
  8025. #endif
  8026. #endif /* __ID3D11VideoDevice_INTERFACE_DEFINED__ */
  8027. /*****************************************************************************
  8028. * ID3D11VideoContext interface
  8029. */
  8030. #ifndef __ID3D11VideoContext_INTERFACE_DEFINED__
  8031. #define __ID3D11VideoContext_INTERFACE_DEFINED__
  8032. DEFINE_GUID(IID_ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4);
  8033. #if defined(__cplusplus) && !defined(CINTERFACE)
  8034. MIDL_INTERFACE("61f21c45-3c0e-4a74-9cea-67100d9ad5e4")
  8035. ID3D11VideoContext : public ID3D11DeviceChild
  8036. {
  8037. virtual HRESULT STDMETHODCALLTYPE GetDecoderBuffer(
  8038. ID3D11VideoDecoder *decoder,
  8039. D3D11_VIDEO_DECODER_BUFFER_TYPE type,
  8040. UINT *buffer_size,
  8041. void **buffer) = 0;
  8042. virtual HRESULT STDMETHODCALLTYPE ReleaseDecoderBuffer(
  8043. ID3D11VideoDecoder *decoder,
  8044. D3D11_VIDEO_DECODER_BUFFER_TYPE type) = 0;
  8045. virtual HRESULT STDMETHODCALLTYPE DecoderBeginFrame(
  8046. ID3D11VideoDecoder *decoder,
  8047. ID3D11VideoDecoderOutputView *view,
  8048. UINT key_size,
  8049. const void *key) = 0;
  8050. virtual HRESULT STDMETHODCALLTYPE DecoderEndFrame(
  8051. ID3D11VideoDecoder *decoder) = 0;
  8052. virtual HRESULT STDMETHODCALLTYPE SubmitDecoderBuffers(
  8053. ID3D11VideoDecoder *decoder,
  8054. UINT buffers_count,
  8055. const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) = 0;
  8056. virtual HRESULT STDMETHODCALLTYPE DecoderExtension(
  8057. ID3D11VideoDecoder *decoder,
  8058. const D3D11_VIDEO_DECODER_EXTENSION *extension) = 0;
  8059. virtual void STDMETHODCALLTYPE VideoProcessorSetOutputTargetRect(
  8060. ID3D11VideoProcessor *processor,
  8061. WINBOOL enable,
  8062. const RECT *rect) = 0;
  8063. virtual void STDMETHODCALLTYPE VideoProcessorSetOutputBackgroundColor(
  8064. ID3D11VideoProcessor *processor,
  8065. WINBOOL y_cb_cr,
  8066. const D3D11_VIDEO_COLOR *color) = 0;
  8067. virtual void STDMETHODCALLTYPE VideoProcessorSetOutputColorSpace(
  8068. ID3D11VideoProcessor *processor,
  8069. const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
  8070. virtual void STDMETHODCALLTYPE VideoProcessorSetOutputAlphaFillMode(
  8071. ID3D11VideoProcessor *processor,
  8072. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
  8073. UINT stream_idx) = 0;
  8074. virtual void STDMETHODCALLTYPE VideoProcessorSetOutputConstriction(
  8075. ID3D11VideoProcessor *processor,
  8076. WINBOOL enable,
  8077. SIZE size) = 0;
  8078. virtual void STDMETHODCALLTYPE VideoProcessorSetOutputStereoMode(
  8079. ID3D11VideoProcessor *processor,
  8080. WINBOOL enable) = 0;
  8081. virtual HRESULT STDMETHODCALLTYPE VideoProcessorSetOutputExtension(
  8082. ID3D11VideoProcessor *processor,
  8083. const GUID *guid,
  8084. UINT data_size,
  8085. void *data) = 0;
  8086. virtual void STDMETHODCALLTYPE VideoProcessorGetOutputTargetRect(
  8087. ID3D11VideoProcessor *processor,
  8088. WINBOOL *enabled,
  8089. RECT *rect) = 0;
  8090. virtual void STDMETHODCALLTYPE VideoProcessorGetOutputBackgroundColor(
  8091. ID3D11VideoProcessor *processor,
  8092. WINBOOL *y_cb_cr,
  8093. D3D11_VIDEO_COLOR *color) = 0;
  8094. virtual void STDMETHODCALLTYPE VideoProcessorGetOutputColorSpace(
  8095. ID3D11VideoProcessor *processor,
  8096. D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
  8097. virtual void STDMETHODCALLTYPE VideoProcessorGetOutputAlphaFillMode(
  8098. ID3D11VideoProcessor *processor,
  8099. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
  8100. UINT *stream_idx) = 0;
  8101. virtual void STDMETHODCALLTYPE VideoProcessorGetOutputConstriction(
  8102. ID3D11VideoProcessor *processor,
  8103. WINBOOL *enabled,
  8104. SIZE *size) = 0;
  8105. virtual void STDMETHODCALLTYPE VideoProcessorGetOutputStereoMode(
  8106. ID3D11VideoProcessor *processor,
  8107. WINBOOL *enabled) = 0;
  8108. virtual HRESULT STDMETHODCALLTYPE VideoProcessorGetOutputExtension(
  8109. ID3D11VideoProcessor *processor,
  8110. const GUID *guid,
  8111. UINT data_size,
  8112. void *data) = 0;
  8113. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamFrameFormat(
  8114. ID3D11VideoProcessor *processor,
  8115. UINT stream_idx,
  8116. D3D11_VIDEO_FRAME_FORMAT format) = 0;
  8117. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamColorSpace(
  8118. ID3D11VideoProcessor *processor,
  8119. UINT stream_idx,
  8120. const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
  8121. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamOutputRate(
  8122. ID3D11VideoProcessor *processor,
  8123. UINT stream_idx,
  8124. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
  8125. WINBOOL repeat,
  8126. const DXGI_RATIONAL *custom_rate) = 0;
  8127. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamSourceRect(
  8128. ID3D11VideoProcessor *processor,
  8129. UINT stream_idx,
  8130. WINBOOL enable,
  8131. const RECT *rect) = 0;
  8132. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamDestRect(
  8133. ID3D11VideoProcessor *processor,
  8134. UINT stream_idx,
  8135. WINBOOL enable,
  8136. const RECT *rect) = 0;
  8137. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamAlpha(
  8138. ID3D11VideoProcessor *processor,
  8139. UINT stream_idx,
  8140. WINBOOL enable,
  8141. float alpha) = 0;
  8142. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamPalette(
  8143. ID3D11VideoProcessor *processor,
  8144. UINT stream_idx,
  8145. UINT entry_count,
  8146. const UINT *entries) = 0;
  8147. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamPixelAspectRatio(
  8148. ID3D11VideoProcessor *processor,
  8149. UINT stream_idx,
  8150. WINBOOL enable,
  8151. const DXGI_RATIONAL *src_aspect_ratio,
  8152. const DXGI_RATIONAL *dst_aspect_ratio) = 0;
  8153. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamLumaKey(
  8154. ID3D11VideoProcessor *processor,
  8155. UINT stream_idx,
  8156. WINBOOL enable,
  8157. float lower,
  8158. float upper) = 0;
  8159. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamStereoFormat(
  8160. ID3D11VideoProcessor *processor,
  8161. UINT stream_idx,
  8162. WINBOOL enable,
  8163. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
  8164. WINBOOL left_view_frame0,
  8165. WINBOOL base_view_frame0,
  8166. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
  8167. int mono_offset) = 0;
  8168. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamAutoProcessingMode(
  8169. ID3D11VideoProcessor *processor,
  8170. UINT stream_idx,
  8171. WINBOOL enable) = 0;
  8172. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamFilter(
  8173. ID3D11VideoProcessor *processor,
  8174. UINT stream_idx,
  8175. D3D11_VIDEO_PROCESSOR_FILTER filter,
  8176. WINBOOL enable,
  8177. int level) = 0;
  8178. virtual HRESULT STDMETHODCALLTYPE VideoProcessorSetStreamExtension(
  8179. ID3D11VideoProcessor *processor,
  8180. UINT stream_idx,
  8181. const GUID *guid,
  8182. UINT data_size,
  8183. void *data) = 0;
  8184. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamFrameFormat(
  8185. ID3D11VideoProcessor *processor,
  8186. UINT stream_idx,
  8187. D3D11_VIDEO_FRAME_FORMAT *format) = 0;
  8188. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamColorSpace(
  8189. ID3D11VideoProcessor *processor,
  8190. UINT stream_idx,
  8191. D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) = 0;
  8192. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamOutputRate(
  8193. ID3D11VideoProcessor *processor,
  8194. UINT stream_idx,
  8195. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
  8196. WINBOOL *repeat,
  8197. DXGI_RATIONAL *custom_rate) = 0;
  8198. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamSourceRect(
  8199. ID3D11VideoProcessor *processor,
  8200. UINT stream_idx,
  8201. WINBOOL *enabled,
  8202. RECT *rect) = 0;
  8203. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamDestRect(
  8204. ID3D11VideoProcessor *processor,
  8205. UINT stream_idx,
  8206. WINBOOL *enabled,
  8207. RECT *rect) = 0;
  8208. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamAlpha(
  8209. ID3D11VideoProcessor *processor,
  8210. UINT stream_idx,
  8211. WINBOOL *enabled,
  8212. float *alpha) = 0;
  8213. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamPalette(
  8214. ID3D11VideoProcessor *processor,
  8215. UINT stream_idx,
  8216. UINT entry_count,
  8217. UINT *entries) = 0;
  8218. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamPixelAspectRatio(
  8219. ID3D11VideoProcessor *processor,
  8220. UINT stream_idx,
  8221. WINBOOL *enabled,
  8222. DXGI_RATIONAL *src_aspect_ratio,
  8223. DXGI_RATIONAL *dst_aspect_ratio) = 0;
  8224. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamLumaKey(
  8225. ID3D11VideoProcessor *processor,
  8226. UINT stream_idx,
  8227. WINBOOL *enabled,
  8228. float *lower,
  8229. float *upper) = 0;
  8230. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamStereoFormat(
  8231. ID3D11VideoProcessor *processor,
  8232. UINT stream_idx,
  8233. WINBOOL *enabled,
  8234. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
  8235. WINBOOL *left_view_frame0,
  8236. WINBOOL *base_view_frame0,
  8237. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
  8238. int *mono_offset) = 0;
  8239. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamAutoProcessingMode(
  8240. ID3D11VideoProcessor *processor,
  8241. UINT stream_idx,
  8242. WINBOOL *enabled) = 0;
  8243. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamFilter(
  8244. ID3D11VideoProcessor *processor,
  8245. UINT stream_idx,
  8246. D3D11_VIDEO_PROCESSOR_FILTER filter,
  8247. WINBOOL *enabled,
  8248. int *level) = 0;
  8249. virtual HRESULT STDMETHODCALLTYPE VideoProcessorGetStreamExtension(
  8250. ID3D11VideoProcessor *processor,
  8251. UINT stream_idx,
  8252. const GUID *guid,
  8253. UINT data_size,
  8254. void *data) = 0;
  8255. virtual HRESULT STDMETHODCALLTYPE VideoProcessorBlt(
  8256. ID3D11VideoProcessor *processor,
  8257. ID3D11VideoProcessorOutputView *view,
  8258. UINT frame_idx,
  8259. UINT stream_count,
  8260. const D3D11_VIDEO_PROCESSOR_STREAM *streams) = 0;
  8261. virtual HRESULT STDMETHODCALLTYPE NegotiateCryptoSessionKeyExchange(
  8262. ID3D11CryptoSession *session,
  8263. UINT data_size,
  8264. void *data) = 0;
  8265. virtual void STDMETHODCALLTYPE EncryptionBlt(
  8266. ID3D11CryptoSession *session,
  8267. ID3D11Texture2D *src_surface,
  8268. ID3D11Texture2D *dst_surface,
  8269. UINT iv_size,
  8270. void *iv) = 0;
  8271. virtual void STDMETHODCALLTYPE DecryptionBlt(
  8272. ID3D11CryptoSession *session,
  8273. ID3D11Texture2D *src_surface,
  8274. ID3D11Texture2D *dst_surface,
  8275. D3D11_ENCRYPTED_BLOCK_INFO *block_info,
  8276. UINT key_size,
  8277. const void *key,
  8278. UINT iv_size,
  8279. void *iv) = 0;
  8280. virtual void STDMETHODCALLTYPE StartSessionKeyRefresh(
  8281. ID3D11CryptoSession *session,
  8282. UINT random_number_size,
  8283. void *random_number) = 0;
  8284. virtual void STDMETHODCALLTYPE FinishSessionKeyRefresh(
  8285. ID3D11CryptoSession *session) = 0;
  8286. virtual HRESULT STDMETHODCALLTYPE GetEncryptionBltKey(
  8287. ID3D11CryptoSession *session,
  8288. UINT key_size,
  8289. void *key) = 0;
  8290. virtual HRESULT STDMETHODCALLTYPE NegotiateAuthenticatedChannelKeyExchange(
  8291. ID3D11AuthenticatedChannel *channel,
  8292. UINT data_size,
  8293. void *data) = 0;
  8294. virtual HRESULT STDMETHODCALLTYPE QueryAuthenticatedChannel(
  8295. ID3D11AuthenticatedChannel *channel,
  8296. UINT input_size,
  8297. const void *input,
  8298. UINT output_size,
  8299. void *output) = 0;
  8300. virtual HRESULT STDMETHODCALLTYPE ConfigureAuthenticatedChannel(
  8301. ID3D11AuthenticatedChannel *channel,
  8302. UINT input_size,
  8303. const void *input,
  8304. D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) = 0;
  8305. virtual void STDMETHODCALLTYPE VideoProcessorSetStreamRotation(
  8306. ID3D11VideoProcessor *processor,
  8307. UINT stream_idx,
  8308. WINBOOL enable,
  8309. D3D11_VIDEO_PROCESSOR_ROTATION rotation) = 0;
  8310. virtual void STDMETHODCALLTYPE VideoProcessorGetStreamRotation(
  8311. ID3D11VideoProcessor *processor,
  8312. UINT stream_idx,
  8313. WINBOOL *enable,
  8314. D3D11_VIDEO_PROCESSOR_ROTATION *rotation) = 0;
  8315. };
  8316. #ifdef __CRT_UUID_DECL
  8317. __CRT_UUID_DECL(ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4)
  8318. #endif
  8319. #else
  8320. typedef struct ID3D11VideoContextVtbl {
  8321. BEGIN_INTERFACE
  8322. /*** IUnknown methods ***/
  8323. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8324. ID3D11VideoContext *This,
  8325. REFIID riid,
  8326. void **ppvObject);
  8327. ULONG (STDMETHODCALLTYPE *AddRef)(
  8328. ID3D11VideoContext *This);
  8329. ULONG (STDMETHODCALLTYPE *Release)(
  8330. ID3D11VideoContext *This);
  8331. /*** ID3D11DeviceChild methods ***/
  8332. void (STDMETHODCALLTYPE *GetDevice)(
  8333. ID3D11VideoContext *This,
  8334. ID3D11Device **ppDevice);
  8335. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  8336. ID3D11VideoContext *This,
  8337. REFGUID guid,
  8338. UINT *pDataSize,
  8339. void *pData);
  8340. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  8341. ID3D11VideoContext *This,
  8342. REFGUID guid,
  8343. UINT DataSize,
  8344. const void *pData);
  8345. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  8346. ID3D11VideoContext *This,
  8347. REFGUID guid,
  8348. const IUnknown *pData);
  8349. /*** ID3D11VideoContext methods ***/
  8350. HRESULT (STDMETHODCALLTYPE *GetDecoderBuffer)(
  8351. ID3D11VideoContext *This,
  8352. ID3D11VideoDecoder *decoder,
  8353. D3D11_VIDEO_DECODER_BUFFER_TYPE type,
  8354. UINT *buffer_size,
  8355. void **buffer);
  8356. HRESULT (STDMETHODCALLTYPE *ReleaseDecoderBuffer)(
  8357. ID3D11VideoContext *This,
  8358. ID3D11VideoDecoder *decoder,
  8359. D3D11_VIDEO_DECODER_BUFFER_TYPE type);
  8360. HRESULT (STDMETHODCALLTYPE *DecoderBeginFrame)(
  8361. ID3D11VideoContext *This,
  8362. ID3D11VideoDecoder *decoder,
  8363. ID3D11VideoDecoderOutputView *view,
  8364. UINT key_size,
  8365. const void *key);
  8366. HRESULT (STDMETHODCALLTYPE *DecoderEndFrame)(
  8367. ID3D11VideoContext *This,
  8368. ID3D11VideoDecoder *decoder);
  8369. HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers)(
  8370. ID3D11VideoContext *This,
  8371. ID3D11VideoDecoder *decoder,
  8372. UINT buffers_count,
  8373. const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc);
  8374. HRESULT (STDMETHODCALLTYPE *DecoderExtension)(
  8375. ID3D11VideoContext *This,
  8376. ID3D11VideoDecoder *decoder,
  8377. const D3D11_VIDEO_DECODER_EXTENSION *extension);
  8378. void (STDMETHODCALLTYPE *VideoProcessorSetOutputTargetRect)(
  8379. ID3D11VideoContext *This,
  8380. ID3D11VideoProcessor *processor,
  8381. WINBOOL enable,
  8382. const RECT *rect);
  8383. void (STDMETHODCALLTYPE *VideoProcessorSetOutputBackgroundColor)(
  8384. ID3D11VideoContext *This,
  8385. ID3D11VideoProcessor *processor,
  8386. WINBOOL y_cb_cr,
  8387. const D3D11_VIDEO_COLOR *color);
  8388. void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace)(
  8389. ID3D11VideoContext *This,
  8390. ID3D11VideoProcessor *processor,
  8391. const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
  8392. void (STDMETHODCALLTYPE *VideoProcessorSetOutputAlphaFillMode)(
  8393. ID3D11VideoContext *This,
  8394. ID3D11VideoProcessor *processor,
  8395. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
  8396. UINT stream_idx);
  8397. void (STDMETHODCALLTYPE *VideoProcessorSetOutputConstriction)(
  8398. ID3D11VideoContext *This,
  8399. ID3D11VideoProcessor *processor,
  8400. WINBOOL enable,
  8401. SIZE size);
  8402. void (STDMETHODCALLTYPE *VideoProcessorSetOutputStereoMode)(
  8403. ID3D11VideoContext *This,
  8404. ID3D11VideoProcessor *processor,
  8405. WINBOOL enable);
  8406. HRESULT (STDMETHODCALLTYPE *VideoProcessorSetOutputExtension)(
  8407. ID3D11VideoContext *This,
  8408. ID3D11VideoProcessor *processor,
  8409. const GUID *guid,
  8410. UINT data_size,
  8411. void *data);
  8412. void (STDMETHODCALLTYPE *VideoProcessorGetOutputTargetRect)(
  8413. ID3D11VideoContext *This,
  8414. ID3D11VideoProcessor *processor,
  8415. WINBOOL *enabled,
  8416. RECT *rect);
  8417. void (STDMETHODCALLTYPE *VideoProcessorGetOutputBackgroundColor)(
  8418. ID3D11VideoContext *This,
  8419. ID3D11VideoProcessor *processor,
  8420. WINBOOL *y_cb_cr,
  8421. D3D11_VIDEO_COLOR *color);
  8422. void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace)(
  8423. ID3D11VideoContext *This,
  8424. ID3D11VideoProcessor *processor,
  8425. D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
  8426. void (STDMETHODCALLTYPE *VideoProcessorGetOutputAlphaFillMode)(
  8427. ID3D11VideoContext *This,
  8428. ID3D11VideoProcessor *processor,
  8429. D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
  8430. UINT *stream_idx);
  8431. void (STDMETHODCALLTYPE *VideoProcessorGetOutputConstriction)(
  8432. ID3D11VideoContext *This,
  8433. ID3D11VideoProcessor *processor,
  8434. WINBOOL *enabled,
  8435. SIZE *size);
  8436. void (STDMETHODCALLTYPE *VideoProcessorGetOutputStereoMode)(
  8437. ID3D11VideoContext *This,
  8438. ID3D11VideoProcessor *processor,
  8439. WINBOOL *enabled);
  8440. HRESULT (STDMETHODCALLTYPE *VideoProcessorGetOutputExtension)(
  8441. ID3D11VideoContext *This,
  8442. ID3D11VideoProcessor *processor,
  8443. const GUID *guid,
  8444. UINT data_size,
  8445. void *data);
  8446. void (STDMETHODCALLTYPE *VideoProcessorSetStreamFrameFormat)(
  8447. ID3D11VideoContext *This,
  8448. ID3D11VideoProcessor *processor,
  8449. UINT stream_idx,
  8450. D3D11_VIDEO_FRAME_FORMAT format);
  8451. void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace)(
  8452. ID3D11VideoContext *This,
  8453. ID3D11VideoProcessor *processor,
  8454. UINT stream_idx,
  8455. const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
  8456. void (STDMETHODCALLTYPE *VideoProcessorSetStreamOutputRate)(
  8457. ID3D11VideoContext *This,
  8458. ID3D11VideoProcessor *processor,
  8459. UINT stream_idx,
  8460. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
  8461. WINBOOL repeat,
  8462. const DXGI_RATIONAL *custom_rate);
  8463. void (STDMETHODCALLTYPE *VideoProcessorSetStreamSourceRect)(
  8464. ID3D11VideoContext *This,
  8465. ID3D11VideoProcessor *processor,
  8466. UINT stream_idx,
  8467. WINBOOL enable,
  8468. const RECT *rect);
  8469. void (STDMETHODCALLTYPE *VideoProcessorSetStreamDestRect)(
  8470. ID3D11VideoContext *This,
  8471. ID3D11VideoProcessor *processor,
  8472. UINT stream_idx,
  8473. WINBOOL enable,
  8474. const RECT *rect);
  8475. void (STDMETHODCALLTYPE *VideoProcessorSetStreamAlpha)(
  8476. ID3D11VideoContext *This,
  8477. ID3D11VideoProcessor *processor,
  8478. UINT stream_idx,
  8479. WINBOOL enable,
  8480. float alpha);
  8481. void (STDMETHODCALLTYPE *VideoProcessorSetStreamPalette)(
  8482. ID3D11VideoContext *This,
  8483. ID3D11VideoProcessor *processor,
  8484. UINT stream_idx,
  8485. UINT entry_count,
  8486. const UINT *entries);
  8487. void (STDMETHODCALLTYPE *VideoProcessorSetStreamPixelAspectRatio)(
  8488. ID3D11VideoContext *This,
  8489. ID3D11VideoProcessor *processor,
  8490. UINT stream_idx,
  8491. WINBOOL enable,
  8492. const DXGI_RATIONAL *src_aspect_ratio,
  8493. const DXGI_RATIONAL *dst_aspect_ratio);
  8494. void (STDMETHODCALLTYPE *VideoProcessorSetStreamLumaKey)(
  8495. ID3D11VideoContext *This,
  8496. ID3D11VideoProcessor *processor,
  8497. UINT stream_idx,
  8498. WINBOOL enable,
  8499. float lower,
  8500. float upper);
  8501. void (STDMETHODCALLTYPE *VideoProcessorSetStreamStereoFormat)(
  8502. ID3D11VideoContext *This,
  8503. ID3D11VideoProcessor *processor,
  8504. UINT stream_idx,
  8505. WINBOOL enable,
  8506. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
  8507. WINBOOL left_view_frame0,
  8508. WINBOOL base_view_frame0,
  8509. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
  8510. int mono_offset);
  8511. void (STDMETHODCALLTYPE *VideoProcessorSetStreamAutoProcessingMode)(
  8512. ID3D11VideoContext *This,
  8513. ID3D11VideoProcessor *processor,
  8514. UINT stream_idx,
  8515. WINBOOL enable);
  8516. void (STDMETHODCALLTYPE *VideoProcessorSetStreamFilter)(
  8517. ID3D11VideoContext *This,
  8518. ID3D11VideoProcessor *processor,
  8519. UINT stream_idx,
  8520. D3D11_VIDEO_PROCESSOR_FILTER filter,
  8521. WINBOOL enable,
  8522. int level);
  8523. HRESULT (STDMETHODCALLTYPE *VideoProcessorSetStreamExtension)(
  8524. ID3D11VideoContext *This,
  8525. ID3D11VideoProcessor *processor,
  8526. UINT stream_idx,
  8527. const GUID *guid,
  8528. UINT data_size,
  8529. void *data);
  8530. void (STDMETHODCALLTYPE *VideoProcessorGetStreamFrameFormat)(
  8531. ID3D11VideoContext *This,
  8532. ID3D11VideoProcessor *processor,
  8533. UINT stream_idx,
  8534. D3D11_VIDEO_FRAME_FORMAT *format);
  8535. void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace)(
  8536. ID3D11VideoContext *This,
  8537. ID3D11VideoProcessor *processor,
  8538. UINT stream_idx,
  8539. D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
  8540. void (STDMETHODCALLTYPE *VideoProcessorGetStreamOutputRate)(
  8541. ID3D11VideoContext *This,
  8542. ID3D11VideoProcessor *processor,
  8543. UINT stream_idx,
  8544. D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
  8545. WINBOOL *repeat,
  8546. DXGI_RATIONAL *custom_rate);
  8547. void (STDMETHODCALLTYPE *VideoProcessorGetStreamSourceRect)(
  8548. ID3D11VideoContext *This,
  8549. ID3D11VideoProcessor *processor,
  8550. UINT stream_idx,
  8551. WINBOOL *enabled,
  8552. RECT *rect);
  8553. void (STDMETHODCALLTYPE *VideoProcessorGetStreamDestRect)(
  8554. ID3D11VideoContext *This,
  8555. ID3D11VideoProcessor *processor,
  8556. UINT stream_idx,
  8557. WINBOOL *enabled,
  8558. RECT *rect);
  8559. void (STDMETHODCALLTYPE *VideoProcessorGetStreamAlpha)(
  8560. ID3D11VideoContext *This,
  8561. ID3D11VideoProcessor *processor,
  8562. UINT stream_idx,
  8563. WINBOOL *enabled,
  8564. float *alpha);
  8565. void (STDMETHODCALLTYPE *VideoProcessorGetStreamPalette)(
  8566. ID3D11VideoContext *This,
  8567. ID3D11VideoProcessor *processor,
  8568. UINT stream_idx,
  8569. UINT entry_count,
  8570. UINT *entries);
  8571. void (STDMETHODCALLTYPE *VideoProcessorGetStreamPixelAspectRatio)(
  8572. ID3D11VideoContext *This,
  8573. ID3D11VideoProcessor *processor,
  8574. UINT stream_idx,
  8575. WINBOOL *enabled,
  8576. DXGI_RATIONAL *src_aspect_ratio,
  8577. DXGI_RATIONAL *dst_aspect_ratio);
  8578. void (STDMETHODCALLTYPE *VideoProcessorGetStreamLumaKey)(
  8579. ID3D11VideoContext *This,
  8580. ID3D11VideoProcessor *processor,
  8581. UINT stream_idx,
  8582. WINBOOL *enabled,
  8583. float *lower,
  8584. float *upper);
  8585. void (STDMETHODCALLTYPE *VideoProcessorGetStreamStereoFormat)(
  8586. ID3D11VideoContext *This,
  8587. ID3D11VideoProcessor *processor,
  8588. UINT stream_idx,
  8589. WINBOOL *enabled,
  8590. D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
  8591. WINBOOL *left_view_frame0,
  8592. WINBOOL *base_view_frame0,
  8593. D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
  8594. int *mono_offset);
  8595. void (STDMETHODCALLTYPE *VideoProcessorGetStreamAutoProcessingMode)(
  8596. ID3D11VideoContext *This,
  8597. ID3D11VideoProcessor *processor,
  8598. UINT stream_idx,
  8599. WINBOOL *enabled);
  8600. void (STDMETHODCALLTYPE *VideoProcessorGetStreamFilter)(
  8601. ID3D11VideoContext *This,
  8602. ID3D11VideoProcessor *processor,
  8603. UINT stream_idx,
  8604. D3D11_VIDEO_PROCESSOR_FILTER filter,
  8605. WINBOOL *enabled,
  8606. int *level);
  8607. HRESULT (STDMETHODCALLTYPE *VideoProcessorGetStreamExtension)(
  8608. ID3D11VideoContext *This,
  8609. ID3D11VideoProcessor *processor,
  8610. UINT stream_idx,
  8611. const GUID *guid,
  8612. UINT data_size,
  8613. void *data);
  8614. HRESULT (STDMETHODCALLTYPE *VideoProcessorBlt)(
  8615. ID3D11VideoContext *This,
  8616. ID3D11VideoProcessor *processor,
  8617. ID3D11VideoProcessorOutputView *view,
  8618. UINT frame_idx,
  8619. UINT stream_count,
  8620. const D3D11_VIDEO_PROCESSOR_STREAM *streams);
  8621. HRESULT (STDMETHODCALLTYPE *NegotiateCryptoSessionKeyExchange)(
  8622. ID3D11VideoContext *This,
  8623. ID3D11CryptoSession *session,
  8624. UINT data_size,
  8625. void *data);
  8626. void (STDMETHODCALLTYPE *EncryptionBlt)(
  8627. ID3D11VideoContext *This,
  8628. ID3D11CryptoSession *session,
  8629. ID3D11Texture2D *src_surface,
  8630. ID3D11Texture2D *dst_surface,
  8631. UINT iv_size,
  8632. void *iv);
  8633. void (STDMETHODCALLTYPE *DecryptionBlt)(
  8634. ID3D11VideoContext *This,
  8635. ID3D11CryptoSession *session,
  8636. ID3D11Texture2D *src_surface,
  8637. ID3D11Texture2D *dst_surface,
  8638. D3D11_ENCRYPTED_BLOCK_INFO *block_info,
  8639. UINT key_size,
  8640. const void *key,
  8641. UINT iv_size,
  8642. void *iv);
  8643. void (STDMETHODCALLTYPE *StartSessionKeyRefresh)(
  8644. ID3D11VideoContext *This,
  8645. ID3D11CryptoSession *session,
  8646. UINT random_number_size,
  8647. void *random_number);
  8648. void (STDMETHODCALLTYPE *FinishSessionKeyRefresh)(
  8649. ID3D11VideoContext *This,
  8650. ID3D11CryptoSession *session);
  8651. HRESULT (STDMETHODCALLTYPE *GetEncryptionBltKey)(
  8652. ID3D11VideoContext *This,
  8653. ID3D11CryptoSession *session,
  8654. UINT key_size,
  8655. void *key);
  8656. HRESULT (STDMETHODCALLTYPE *NegotiateAuthenticatedChannelKeyExchange)(
  8657. ID3D11VideoContext *This,
  8658. ID3D11AuthenticatedChannel *channel,
  8659. UINT data_size,
  8660. void *data);
  8661. HRESULT (STDMETHODCALLTYPE *QueryAuthenticatedChannel)(
  8662. ID3D11VideoContext *This,
  8663. ID3D11AuthenticatedChannel *channel,
  8664. UINT input_size,
  8665. const void *input,
  8666. UINT output_size,
  8667. void *output);
  8668. HRESULT (STDMETHODCALLTYPE *ConfigureAuthenticatedChannel)(
  8669. ID3D11VideoContext *This,
  8670. ID3D11AuthenticatedChannel *channel,
  8671. UINT input_size,
  8672. const void *input,
  8673. D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output);
  8674. void (STDMETHODCALLTYPE *VideoProcessorSetStreamRotation)(
  8675. ID3D11VideoContext *This,
  8676. ID3D11VideoProcessor *processor,
  8677. UINT stream_idx,
  8678. WINBOOL enable,
  8679. D3D11_VIDEO_PROCESSOR_ROTATION rotation);
  8680. void (STDMETHODCALLTYPE *VideoProcessorGetStreamRotation)(
  8681. ID3D11VideoContext *This,
  8682. ID3D11VideoProcessor *processor,
  8683. UINT stream_idx,
  8684. WINBOOL *enable,
  8685. D3D11_VIDEO_PROCESSOR_ROTATION *rotation);
  8686. END_INTERFACE
  8687. } ID3D11VideoContextVtbl;
  8688. interface ID3D11VideoContext {
  8689. CONST_VTBL ID3D11VideoContextVtbl* lpVtbl;
  8690. };
  8691. #ifdef COBJMACROS
  8692. #ifndef WIDL_C_INLINE_WRAPPERS
  8693. /*** IUnknown methods ***/
  8694. #define ID3D11VideoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8695. #define ID3D11VideoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  8696. #define ID3D11VideoContext_Release(This) (This)->lpVtbl->Release(This)
  8697. /*** ID3D11DeviceChild methods ***/
  8698. #define ID3D11VideoContext_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
  8699. #define ID3D11VideoContext_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  8700. #define ID3D11VideoContext_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  8701. #define ID3D11VideoContext_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  8702. /*** ID3D11VideoContext methods ***/
  8703. #define ID3D11VideoContext_GetDecoderBuffer(This,decoder,type,buffer_size,buffer) (This)->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer)
  8704. #define ID3D11VideoContext_ReleaseDecoderBuffer(This,decoder,type) (This)->lpVtbl->ReleaseDecoderBuffer(This,decoder,type)
  8705. #define ID3D11VideoContext_DecoderBeginFrame(This,decoder,view,key_size,key) (This)->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key)
  8706. #define ID3D11VideoContext_DecoderEndFrame(This,decoder) (This)->lpVtbl->DecoderEndFrame(This,decoder)
  8707. #define ID3D11VideoContext_SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc)
  8708. #define ID3D11VideoContext_DecoderExtension(This,decoder,extension) (This)->lpVtbl->DecoderExtension(This,decoder,extension)
  8709. #define ID3D11VideoContext_VideoProcessorSetOutputTargetRect(This,processor,enable,rect) (This)->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect)
  8710. #define ID3D11VideoContext_VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color)
  8711. #define ID3D11VideoContext_VideoProcessorSetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space)
  8712. #define ID3D11VideoContext_VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
  8713. #define ID3D11VideoContext_VideoProcessorSetOutputConstriction(This,processor,enable,size) (This)->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size)
  8714. #define ID3D11VideoContext_VideoProcessorSetOutputStereoMode(This,processor,enable) (This)->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable)
  8715. #define ID3D11VideoContext_VideoProcessorSetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data)
  8716. #define ID3D11VideoContext_VideoProcessorGetOutputTargetRect(This,processor,enabled,rect) (This)->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect)
  8717. #define ID3D11VideoContext_VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color)
  8718. #define ID3D11VideoContext_VideoProcessorGetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space)
  8719. #define ID3D11VideoContext_VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
  8720. #define ID3D11VideoContext_VideoProcessorGetOutputConstriction(This,processor,enabled,size) (This)->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size)
  8721. #define ID3D11VideoContext_VideoProcessorGetOutputStereoMode(This,processor,enabled) (This)->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled)
  8722. #define ID3D11VideoContext_VideoProcessorGetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data)
  8723. #define ID3D11VideoContext_VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format)
  8724. #define ID3D11VideoContext_VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space)
  8725. #define ID3D11VideoContext_VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
  8726. #define ID3D11VideoContext_VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect)
  8727. #define ID3D11VideoContext_VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect)
  8728. #define ID3D11VideoContext_VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha) (This)->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha)
  8729. #define ID3D11VideoContext_VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries)
  8730. #define ID3D11VideoContext_VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio) (This)->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio)
  8731. #define ID3D11VideoContext_VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper) (This)->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper)
  8732. #define ID3D11VideoContext_VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset) (This)->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset)
  8733. #define ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable) (This)->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable)
  8734. #define ID3D11VideoContext_VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level) (This)->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level)
  8735. #define ID3D11VideoContext_VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data)
  8736. #define ID3D11VideoContext_VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format)
  8737. #define ID3D11VideoContext_VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space)
  8738. #define ID3D11VideoContext_VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
  8739. #define ID3D11VideoContext_VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect)
  8740. #define ID3D11VideoContext_VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect)
  8741. #define ID3D11VideoContext_VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha) (This)->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha)
  8742. #define ID3D11VideoContext_VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries)
  8743. #define ID3D11VideoContext_VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio) (This)->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio)
  8744. #define ID3D11VideoContext_VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper) (This)->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper)
  8745. #define ID3D11VideoContext_VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset) (This)->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset)
  8746. #define ID3D11VideoContext_VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled) (This)->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled)
  8747. #define ID3D11VideoContext_VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level) (This)->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level)
  8748. #define ID3D11VideoContext_VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data)
  8749. #define ID3D11VideoContext_VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams) (This)->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams)
  8750. #define ID3D11VideoContext_NegotiateCryptoSessionKeyExchange(This,session,data_size,data) (This)->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data)
  8751. #define ID3D11VideoContext_EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv) (This)->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv)
  8752. #define ID3D11VideoContext_DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv) (This)->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv)
  8753. #define ID3D11VideoContext_StartSessionKeyRefresh(This,session,random_number_size,random_number) (This)->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number)
  8754. #define ID3D11VideoContext_FinishSessionKeyRefresh(This,session) (This)->lpVtbl->FinishSessionKeyRefresh(This,session)
  8755. #define ID3D11VideoContext_GetEncryptionBltKey(This,session,key_size,key) (This)->lpVtbl->GetEncryptionBltKey(This,session,key_size,key)
  8756. #define ID3D11VideoContext_NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data) (This)->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data)
  8757. #define ID3D11VideoContext_QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output) (This)->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output)
  8758. #define ID3D11VideoContext_ConfigureAuthenticatedChannel(This,channel,input_size,input,output) (This)->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output)
  8759. #define ID3D11VideoContext_VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation)
  8760. #define ID3D11VideoContext_VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation)
  8761. #else
  8762. /*** IUnknown methods ***/
  8763. static FORCEINLINE HRESULT ID3D11VideoContext_QueryInterface(ID3D11VideoContext* This,REFIID riid,void **ppvObject) {
  8764. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8765. }
  8766. static FORCEINLINE ULONG ID3D11VideoContext_AddRef(ID3D11VideoContext* This) {
  8767. return This->lpVtbl->AddRef(This);
  8768. }
  8769. static FORCEINLINE ULONG ID3D11VideoContext_Release(ID3D11VideoContext* This) {
  8770. return This->lpVtbl->Release(This);
  8771. }
  8772. /*** ID3D11DeviceChild methods ***/
  8773. static FORCEINLINE void ID3D11VideoContext_GetDevice(ID3D11VideoContext* This,ID3D11Device **ppDevice) {
  8774. This->lpVtbl->GetDevice(This,ppDevice);
  8775. }
  8776. static FORCEINLINE HRESULT ID3D11VideoContext_GetPrivateData(ID3D11VideoContext* This,REFGUID guid,UINT *pDataSize,void *pData) {
  8777. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  8778. }
  8779. static FORCEINLINE HRESULT ID3D11VideoContext_SetPrivateData(ID3D11VideoContext* This,REFGUID guid,UINT DataSize,const void *pData) {
  8780. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  8781. }
  8782. static FORCEINLINE HRESULT ID3D11VideoContext_SetPrivateDataInterface(ID3D11VideoContext* This,REFGUID guid,const IUnknown *pData) {
  8783. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  8784. }
  8785. /*** ID3D11VideoContext methods ***/
  8786. static FORCEINLINE HRESULT ID3D11VideoContext_GetDecoderBuffer(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type,UINT *buffer_size,void **buffer) {
  8787. return This->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer);
  8788. }
  8789. static FORCEINLINE HRESULT ID3D11VideoContext_ReleaseDecoderBuffer(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type) {
  8790. return This->lpVtbl->ReleaseDecoderBuffer(This,decoder,type);
  8791. }
  8792. static FORCEINLINE HRESULT ID3D11VideoContext_DecoderBeginFrame(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,ID3D11VideoDecoderOutputView *view,UINT key_size,const void *key) {
  8793. return This->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key);
  8794. }
  8795. static FORCEINLINE HRESULT ID3D11VideoContext_DecoderEndFrame(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder) {
  8796. return This->lpVtbl->DecoderEndFrame(This,decoder);
  8797. }
  8798. static FORCEINLINE HRESULT ID3D11VideoContext_SubmitDecoderBuffers(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,UINT buffers_count,const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) {
  8799. return This->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc);
  8800. }
  8801. static FORCEINLINE HRESULT ID3D11VideoContext_DecoderExtension(ID3D11VideoContext* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_DECODER_EXTENSION *extension) {
  8802. return This->lpVtbl->DecoderExtension(This,decoder,extension);
  8803. }
  8804. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetOutputTargetRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL enable,const RECT *rect) {
  8805. This->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect);
  8806. }
  8807. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetOutputBackgroundColor(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL y_cb_cr,const D3D11_VIDEO_COLOR *color) {
  8808. This->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color);
  8809. }
  8810. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetOutputColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
  8811. This->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space);
  8812. }
  8813. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetOutputAlphaFillMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,UINT stream_idx) {
  8814. This->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
  8815. }
  8816. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetOutputConstriction(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL enable,SIZE size) {
  8817. This->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size);
  8818. }
  8819. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetOutputStereoMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL enable) {
  8820. This->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable);
  8821. }
  8822. static FORCEINLINE HRESULT ID3D11VideoContext_VideoProcessorSetOutputExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
  8823. return This->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data);
  8824. }
  8825. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetOutputTargetRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,RECT *rect) {
  8826. This->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect);
  8827. }
  8828. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetOutputBackgroundColor(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *y_cb_cr,D3D11_VIDEO_COLOR *color) {
  8829. This->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color);
  8830. }
  8831. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetOutputColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
  8832. This->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space);
  8833. }
  8834. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetOutputAlphaFillMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,UINT *stream_idx) {
  8835. This->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
  8836. }
  8837. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetOutputConstriction(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,SIZE *size) {
  8838. This->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size);
  8839. }
  8840. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetOutputStereoMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,WINBOOL *enabled) {
  8841. This->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled);
  8842. }
  8843. static FORCEINLINE HRESULT ID3D11VideoContext_VideoProcessorGetOutputExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
  8844. return This->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data);
  8845. }
  8846. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamFrameFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT format) {
  8847. This->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format);
  8848. }
  8849. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
  8850. This->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space);
  8851. }
  8852. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamOutputRate(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,WINBOOL repeat,const DXGI_RATIONAL *custom_rate) {
  8853. This->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
  8854. }
  8855. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamSourceRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
  8856. This->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect);
  8857. }
  8858. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamDestRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
  8859. This->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect);
  8860. }
  8861. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamAlpha(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float alpha) {
  8862. This->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha);
  8863. }
  8864. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamPalette(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,const UINT *entries) {
  8865. This->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries);
  8866. }
  8867. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamPixelAspectRatio(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const DXGI_RATIONAL *src_aspect_ratio,const DXGI_RATIONAL *dst_aspect_ratio) {
  8868. This->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio);
  8869. }
  8870. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamLumaKey(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float lower,float upper) {
  8871. This->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper);
  8872. }
  8873. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamStereoFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,WINBOOL left_view_frame0,WINBOOL base_view_frame0,D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,int mono_offset) {
  8874. This->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
  8875. }
  8876. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable) {
  8877. This->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable);
  8878. }
  8879. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamFilter(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL enable,int level) {
  8880. This->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level);
  8881. }
  8882. static FORCEINLINE HRESULT ID3D11VideoContext_VideoProcessorSetStreamExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
  8883. return This->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data);
  8884. }
  8885. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamFrameFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT *format) {
  8886. This->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format);
  8887. }
  8888. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamColorSpace(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
  8889. This->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space);
  8890. }
  8891. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamOutputRate(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,WINBOOL *repeat,DXGI_RATIONAL *custom_rate) {
  8892. This->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
  8893. }
  8894. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamSourceRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
  8895. This->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect);
  8896. }
  8897. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamDestRect(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
  8898. This->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect);
  8899. }
  8900. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamAlpha(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *alpha) {
  8901. This->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha);
  8902. }
  8903. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamPalette(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,UINT *entries) {
  8904. This->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries);
  8905. }
  8906. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamPixelAspectRatio(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,DXGI_RATIONAL *src_aspect_ratio,DXGI_RATIONAL *dst_aspect_ratio) {
  8907. This->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio);
  8908. }
  8909. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamLumaKey(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *lower,float *upper) {
  8910. This->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper);
  8911. }
  8912. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamStereoFormat(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,WINBOOL *left_view_frame0,WINBOOL *base_view_frame0,D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,int *mono_offset) {
  8913. This->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
  8914. }
  8915. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamAutoProcessingMode(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled) {
  8916. This->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled);
  8917. }
  8918. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamFilter(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL *enabled,int *level) {
  8919. This->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level);
  8920. }
  8921. static FORCEINLINE HRESULT ID3D11VideoContext_VideoProcessorGetStreamExtension(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
  8922. return This->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data);
  8923. }
  8924. static FORCEINLINE HRESULT ID3D11VideoContext_VideoProcessorBlt(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,ID3D11VideoProcessorOutputView *view,UINT frame_idx,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM *streams) {
  8925. return This->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams);
  8926. }
  8927. static FORCEINLINE HRESULT ID3D11VideoContext_NegotiateCryptoSessionKeyExchange(ID3D11VideoContext* This,ID3D11CryptoSession *session,UINT data_size,void *data) {
  8928. return This->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data);
  8929. }
  8930. static FORCEINLINE void ID3D11VideoContext_EncryptionBlt(ID3D11VideoContext* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,UINT iv_size,void *iv) {
  8931. This->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv);
  8932. }
  8933. static FORCEINLINE void ID3D11VideoContext_DecryptionBlt(ID3D11VideoContext* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,D3D11_ENCRYPTED_BLOCK_INFO *block_info,UINT key_size,const void *key,UINT iv_size,void *iv) {
  8934. This->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv);
  8935. }
  8936. static FORCEINLINE void ID3D11VideoContext_StartSessionKeyRefresh(ID3D11VideoContext* This,ID3D11CryptoSession *session,UINT random_number_size,void *random_number) {
  8937. This->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number);
  8938. }
  8939. static FORCEINLINE void ID3D11VideoContext_FinishSessionKeyRefresh(ID3D11VideoContext* This,ID3D11CryptoSession *session) {
  8940. This->lpVtbl->FinishSessionKeyRefresh(This,session);
  8941. }
  8942. static FORCEINLINE HRESULT ID3D11VideoContext_GetEncryptionBltKey(ID3D11VideoContext* This,ID3D11CryptoSession *session,UINT key_size,void *key) {
  8943. return This->lpVtbl->GetEncryptionBltKey(This,session,key_size,key);
  8944. }
  8945. static FORCEINLINE HRESULT ID3D11VideoContext_NegotiateAuthenticatedChannelKeyExchange(ID3D11VideoContext* This,ID3D11AuthenticatedChannel *channel,UINT data_size,void *data) {
  8946. return This->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data);
  8947. }
  8948. static FORCEINLINE HRESULT ID3D11VideoContext_QueryAuthenticatedChannel(ID3D11VideoContext* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,UINT output_size,void *output) {
  8949. return This->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output);
  8950. }
  8951. static FORCEINLINE HRESULT ID3D11VideoContext_ConfigureAuthenticatedChannel(ID3D11VideoContext* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) {
  8952. return This->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output);
  8953. }
  8954. static FORCEINLINE void ID3D11VideoContext_VideoProcessorSetStreamRotation(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_ROTATION rotation) {
  8955. This->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation);
  8956. }
  8957. static FORCEINLINE void ID3D11VideoContext_VideoProcessorGetStreamRotation(ID3D11VideoContext* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enable,D3D11_VIDEO_PROCESSOR_ROTATION *rotation) {
  8958. This->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation);
  8959. }
  8960. #endif
  8961. #endif
  8962. #endif
  8963. #endif /* __ID3D11VideoContext_INTERFACE_DEFINED__ */
  8964. /*****************************************************************************
  8965. * ID3D11Device interface
  8966. */
  8967. #ifndef __ID3D11Device_INTERFACE_DEFINED__
  8968. #define __ID3D11Device_INTERFACE_DEFINED__
  8969. DEFINE_GUID(IID_ID3D11Device, 0xdb6f6ddb, 0xac77, 0x4e88, 0x82,0x53, 0x81,0x9d,0xf9,0xbb,0xf1,0x40);
  8970. #if defined(__cplusplus) && !defined(CINTERFACE)
  8971. MIDL_INTERFACE("db6f6ddb-ac77-4e88-8253-819df9bbf140")
  8972. ID3D11Device : public IUnknown
  8973. {
  8974. virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
  8975. const D3D11_BUFFER_DESC *pDesc,
  8976. const D3D11_SUBRESOURCE_DATA *pInitialData,
  8977. ID3D11Buffer **ppBuffer) = 0;
  8978. virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
  8979. const D3D11_TEXTURE1D_DESC *pDesc,
  8980. const D3D11_SUBRESOURCE_DATA *pInitialData,
  8981. ID3D11Texture1D **ppTexture1D) = 0;
  8982. virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
  8983. const D3D11_TEXTURE2D_DESC *pDesc,
  8984. const D3D11_SUBRESOURCE_DATA *pInitialData,
  8985. ID3D11Texture2D **ppTexture2D) = 0;
  8986. virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
  8987. const D3D11_TEXTURE3D_DESC *pDesc,
  8988. const D3D11_SUBRESOURCE_DATA *pInitialData,
  8989. ID3D11Texture3D **ppTexture3D) = 0;
  8990. virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
  8991. ID3D11Resource *pResource,
  8992. const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
  8993. ID3D11ShaderResourceView **ppSRView) = 0;
  8994. virtual HRESULT STDMETHODCALLTYPE CreateUnorderedAccessView(
  8995. ID3D11Resource *pResource,
  8996. const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
  8997. ID3D11UnorderedAccessView **ppUAView) = 0;
  8998. virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
  8999. ID3D11Resource *pResource,
  9000. const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
  9001. ID3D11RenderTargetView **ppRTView) = 0;
  9002. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
  9003. ID3D11Resource *pResource,
  9004. const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
  9005. ID3D11DepthStencilView **ppDepthStencilView) = 0;
  9006. virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
  9007. const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  9008. UINT NumElements,
  9009. const void *pShaderBytecodeWithInputSignature,
  9010. SIZE_T BytecodeLength,
  9011. ID3D11InputLayout **ppInputLayout) = 0;
  9012. virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
  9013. const void *pShaderBytecode,
  9014. SIZE_T BytecodeLength,
  9015. ID3D11ClassLinkage *pClassLinkage,
  9016. ID3D11VertexShader **ppVertexShader) = 0;
  9017. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
  9018. const void *pShaderBytecode,
  9019. SIZE_T BytecodeLength,
  9020. ID3D11ClassLinkage *pClassLinkage,
  9021. ID3D11GeometryShader **ppGeometryShader) = 0;
  9022. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
  9023. const void *pShaderBytecode,
  9024. SIZE_T BytecodeLength,
  9025. const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
  9026. UINT NumEntries,
  9027. const UINT *pBufferStrides,
  9028. UINT NumStrides,
  9029. UINT RasterizedStream,
  9030. ID3D11ClassLinkage *pClassLinkage,
  9031. ID3D11GeometryShader **ppGeometryShader) = 0;
  9032. virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
  9033. const void *pShaderBytecode,
  9034. SIZE_T BytecodeLength,
  9035. ID3D11ClassLinkage *pClassLinkage,
  9036. ID3D11PixelShader **ppPixelShader) = 0;
  9037. virtual HRESULT STDMETHODCALLTYPE CreateHullShader(
  9038. const void *pShaderBytecode,
  9039. SIZE_T BytecodeLength,
  9040. ID3D11ClassLinkage *pClassLinkage,
  9041. ID3D11HullShader **ppHullShader) = 0;
  9042. virtual HRESULT STDMETHODCALLTYPE CreateDomainShader(
  9043. const void *pShaderBytecode,
  9044. SIZE_T BytecodeLength,
  9045. ID3D11ClassLinkage *pClassLinkage,
  9046. ID3D11DomainShader **ppDomainShader) = 0;
  9047. virtual HRESULT STDMETHODCALLTYPE CreateComputeShader(
  9048. const void *pShaderBytecode,
  9049. SIZE_T BytecodeLength,
  9050. ID3D11ClassLinkage *pClassLinkage,
  9051. ID3D11ComputeShader **ppComputeShader) = 0;
  9052. virtual HRESULT STDMETHODCALLTYPE CreateClassLinkage(
  9053. ID3D11ClassLinkage **ppLinkage) = 0;
  9054. virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
  9055. const D3D11_BLEND_DESC *pBlendStateDesc,
  9056. ID3D11BlendState **ppBlendState) = 0;
  9057. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
  9058. const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  9059. ID3D11DepthStencilState **ppDepthStencilState) = 0;
  9060. virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
  9061. const D3D11_RASTERIZER_DESC *pRasterizerDesc,
  9062. ID3D11RasterizerState **ppRasterizerState) = 0;
  9063. virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
  9064. const D3D11_SAMPLER_DESC *pSamplerDesc,
  9065. ID3D11SamplerState **ppSamplerState) = 0;
  9066. virtual HRESULT STDMETHODCALLTYPE CreateQuery(
  9067. const D3D11_QUERY_DESC *pQueryDesc,
  9068. ID3D11Query **ppQuery) = 0;
  9069. virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
  9070. const D3D11_QUERY_DESC *pPredicateDesc,
  9071. ID3D11Predicate **ppPredicate) = 0;
  9072. virtual HRESULT STDMETHODCALLTYPE CreateCounter(
  9073. const D3D11_COUNTER_DESC *pCounterDesc,
  9074. ID3D11Counter **ppCounter) = 0;
  9075. virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext(
  9076. UINT ContextFlags,
  9077. ID3D11DeviceContext **ppDeferredContext) = 0;
  9078. virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
  9079. HANDLE hResource,
  9080. REFIID ReturnedInterface,
  9081. void **ppResource) = 0;
  9082. virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
  9083. DXGI_FORMAT Format,
  9084. UINT *pFormatSupport) = 0;
  9085. virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
  9086. DXGI_FORMAT Format,
  9087. UINT SampleCount,
  9088. UINT *pNumQualityLevels) = 0;
  9089. virtual void STDMETHODCALLTYPE CheckCounterInfo(
  9090. D3D11_COUNTER_INFO *pCounterInfo) = 0;
  9091. virtual HRESULT STDMETHODCALLTYPE CheckCounter(
  9092. const D3D11_COUNTER_DESC *pDesc,
  9093. D3D11_COUNTER_TYPE *pType,
  9094. UINT *pActiveCounters,
  9095. LPSTR szName,
  9096. UINT *pNameLength,
  9097. LPSTR szUnits,
  9098. UINT *pUnitsLength,
  9099. LPSTR szDescription,
  9100. UINT *pDescriptionLength) = 0;
  9101. virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
  9102. D3D11_FEATURE Feature,
  9103. void *pFeatureSupportData,
  9104. UINT FeatureSupportDataSize) = 0;
  9105. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  9106. REFGUID guid,
  9107. UINT *pDataSize,
  9108. void *pData) = 0;
  9109. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  9110. REFGUID guid,
  9111. UINT DataSize,
  9112. const void *pData) = 0;
  9113. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  9114. REFGUID guid,
  9115. const IUnknown *pData) = 0;
  9116. virtual D3D_FEATURE_LEVEL STDMETHODCALLTYPE GetFeatureLevel(
  9117. ) = 0;
  9118. virtual UINT STDMETHODCALLTYPE GetCreationFlags(
  9119. ) = 0;
  9120. virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
  9121. ) = 0;
  9122. virtual void STDMETHODCALLTYPE GetImmediateContext(
  9123. ID3D11DeviceContext **ppImmediateContext) = 0;
  9124. virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
  9125. UINT RaiseFlags) = 0;
  9126. virtual UINT STDMETHODCALLTYPE GetExceptionMode(
  9127. ) = 0;
  9128. };
  9129. #ifdef __CRT_UUID_DECL
  9130. __CRT_UUID_DECL(ID3D11Device, 0xdb6f6ddb, 0xac77, 0x4e88, 0x82,0x53, 0x81,0x9d,0xf9,0xbb,0xf1,0x40)
  9131. #endif
  9132. #else
  9133. typedef struct ID3D11DeviceVtbl {
  9134. BEGIN_INTERFACE
  9135. /*** IUnknown methods ***/
  9136. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9137. ID3D11Device *This,
  9138. REFIID riid,
  9139. void **ppvObject);
  9140. ULONG (STDMETHODCALLTYPE *AddRef)(
  9141. ID3D11Device *This);
  9142. ULONG (STDMETHODCALLTYPE *Release)(
  9143. ID3D11Device *This);
  9144. /*** ID3D11Device methods ***/
  9145. HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
  9146. ID3D11Device *This,
  9147. const D3D11_BUFFER_DESC *pDesc,
  9148. const D3D11_SUBRESOURCE_DATA *pInitialData,
  9149. ID3D11Buffer **ppBuffer);
  9150. HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
  9151. ID3D11Device *This,
  9152. const D3D11_TEXTURE1D_DESC *pDesc,
  9153. const D3D11_SUBRESOURCE_DATA *pInitialData,
  9154. ID3D11Texture1D **ppTexture1D);
  9155. HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
  9156. ID3D11Device *This,
  9157. const D3D11_TEXTURE2D_DESC *pDesc,
  9158. const D3D11_SUBRESOURCE_DATA *pInitialData,
  9159. ID3D11Texture2D **ppTexture2D);
  9160. HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
  9161. ID3D11Device *This,
  9162. const D3D11_TEXTURE3D_DESC *pDesc,
  9163. const D3D11_SUBRESOURCE_DATA *pInitialData,
  9164. ID3D11Texture3D **ppTexture3D);
  9165. HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
  9166. ID3D11Device *This,
  9167. ID3D11Resource *pResource,
  9168. const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
  9169. ID3D11ShaderResourceView **ppSRView);
  9170. HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
  9171. ID3D11Device *This,
  9172. ID3D11Resource *pResource,
  9173. const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
  9174. ID3D11UnorderedAccessView **ppUAView);
  9175. HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
  9176. ID3D11Device *This,
  9177. ID3D11Resource *pResource,
  9178. const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
  9179. ID3D11RenderTargetView **ppRTView);
  9180. HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
  9181. ID3D11Device *This,
  9182. ID3D11Resource *pResource,
  9183. const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
  9184. ID3D11DepthStencilView **ppDepthStencilView);
  9185. HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
  9186. ID3D11Device *This,
  9187. const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  9188. UINT NumElements,
  9189. const void *pShaderBytecodeWithInputSignature,
  9190. SIZE_T BytecodeLength,
  9191. ID3D11InputLayout **ppInputLayout);
  9192. HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
  9193. ID3D11Device *This,
  9194. const void *pShaderBytecode,
  9195. SIZE_T BytecodeLength,
  9196. ID3D11ClassLinkage *pClassLinkage,
  9197. ID3D11VertexShader **ppVertexShader);
  9198. HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
  9199. ID3D11Device *This,
  9200. const void *pShaderBytecode,
  9201. SIZE_T BytecodeLength,
  9202. ID3D11ClassLinkage *pClassLinkage,
  9203. ID3D11GeometryShader **ppGeometryShader);
  9204. HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
  9205. ID3D11Device *This,
  9206. const void *pShaderBytecode,
  9207. SIZE_T BytecodeLength,
  9208. const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
  9209. UINT NumEntries,
  9210. const UINT *pBufferStrides,
  9211. UINT NumStrides,
  9212. UINT RasterizedStream,
  9213. ID3D11ClassLinkage *pClassLinkage,
  9214. ID3D11GeometryShader **ppGeometryShader);
  9215. HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
  9216. ID3D11Device *This,
  9217. const void *pShaderBytecode,
  9218. SIZE_T BytecodeLength,
  9219. ID3D11ClassLinkage *pClassLinkage,
  9220. ID3D11PixelShader **ppPixelShader);
  9221. HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
  9222. ID3D11Device *This,
  9223. const void *pShaderBytecode,
  9224. SIZE_T BytecodeLength,
  9225. ID3D11ClassLinkage *pClassLinkage,
  9226. ID3D11HullShader **ppHullShader);
  9227. HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
  9228. ID3D11Device *This,
  9229. const void *pShaderBytecode,
  9230. SIZE_T BytecodeLength,
  9231. ID3D11ClassLinkage *pClassLinkage,
  9232. ID3D11DomainShader **ppDomainShader);
  9233. HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
  9234. ID3D11Device *This,
  9235. const void *pShaderBytecode,
  9236. SIZE_T BytecodeLength,
  9237. ID3D11ClassLinkage *pClassLinkage,
  9238. ID3D11ComputeShader **ppComputeShader);
  9239. HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
  9240. ID3D11Device *This,
  9241. ID3D11ClassLinkage **ppLinkage);
  9242. HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
  9243. ID3D11Device *This,
  9244. const D3D11_BLEND_DESC *pBlendStateDesc,
  9245. ID3D11BlendState **ppBlendState);
  9246. HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
  9247. ID3D11Device *This,
  9248. const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  9249. ID3D11DepthStencilState **ppDepthStencilState);
  9250. HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
  9251. ID3D11Device *This,
  9252. const D3D11_RASTERIZER_DESC *pRasterizerDesc,
  9253. ID3D11RasterizerState **ppRasterizerState);
  9254. HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
  9255. ID3D11Device *This,
  9256. const D3D11_SAMPLER_DESC *pSamplerDesc,
  9257. ID3D11SamplerState **ppSamplerState);
  9258. HRESULT (STDMETHODCALLTYPE *CreateQuery)(
  9259. ID3D11Device *This,
  9260. const D3D11_QUERY_DESC *pQueryDesc,
  9261. ID3D11Query **ppQuery);
  9262. HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
  9263. ID3D11Device *This,
  9264. const D3D11_QUERY_DESC *pPredicateDesc,
  9265. ID3D11Predicate **ppPredicate);
  9266. HRESULT (STDMETHODCALLTYPE *CreateCounter)(
  9267. ID3D11Device *This,
  9268. const D3D11_COUNTER_DESC *pCounterDesc,
  9269. ID3D11Counter **ppCounter);
  9270. HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
  9271. ID3D11Device *This,
  9272. UINT ContextFlags,
  9273. ID3D11DeviceContext **ppDeferredContext);
  9274. HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
  9275. ID3D11Device *This,
  9276. HANDLE hResource,
  9277. REFIID ReturnedInterface,
  9278. void **ppResource);
  9279. HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
  9280. ID3D11Device *This,
  9281. DXGI_FORMAT Format,
  9282. UINT *pFormatSupport);
  9283. HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
  9284. ID3D11Device *This,
  9285. DXGI_FORMAT Format,
  9286. UINT SampleCount,
  9287. UINT *pNumQualityLevels);
  9288. void (STDMETHODCALLTYPE *CheckCounterInfo)(
  9289. ID3D11Device *This,
  9290. D3D11_COUNTER_INFO *pCounterInfo);
  9291. HRESULT (STDMETHODCALLTYPE *CheckCounter)(
  9292. ID3D11Device *This,
  9293. const D3D11_COUNTER_DESC *pDesc,
  9294. D3D11_COUNTER_TYPE *pType,
  9295. UINT *pActiveCounters,
  9296. LPSTR szName,
  9297. UINT *pNameLength,
  9298. LPSTR szUnits,
  9299. UINT *pUnitsLength,
  9300. LPSTR szDescription,
  9301. UINT *pDescriptionLength);
  9302. HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
  9303. ID3D11Device *This,
  9304. D3D11_FEATURE Feature,
  9305. void *pFeatureSupportData,
  9306. UINT FeatureSupportDataSize);
  9307. HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
  9308. ID3D11Device *This,
  9309. REFGUID guid,
  9310. UINT *pDataSize,
  9311. void *pData);
  9312. HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
  9313. ID3D11Device *This,
  9314. REFGUID guid,
  9315. UINT DataSize,
  9316. const void *pData);
  9317. HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
  9318. ID3D11Device *This,
  9319. REFGUID guid,
  9320. const IUnknown *pData);
  9321. D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
  9322. ID3D11Device *This);
  9323. UINT (STDMETHODCALLTYPE *GetCreationFlags)(
  9324. ID3D11Device *This);
  9325. HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
  9326. ID3D11Device *This);
  9327. void (STDMETHODCALLTYPE *GetImmediateContext)(
  9328. ID3D11Device *This,
  9329. ID3D11DeviceContext **ppImmediateContext);
  9330. HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
  9331. ID3D11Device *This,
  9332. UINT RaiseFlags);
  9333. UINT (STDMETHODCALLTYPE *GetExceptionMode)(
  9334. ID3D11Device *This);
  9335. END_INTERFACE
  9336. } ID3D11DeviceVtbl;
  9337. interface ID3D11Device {
  9338. CONST_VTBL ID3D11DeviceVtbl* lpVtbl;
  9339. };
  9340. #ifdef COBJMACROS
  9341. #ifndef WIDL_C_INLINE_WRAPPERS
  9342. /*** IUnknown methods ***/
  9343. #define ID3D11Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9344. #define ID3D11Device_AddRef(This) (This)->lpVtbl->AddRef(This)
  9345. #define ID3D11Device_Release(This) (This)->lpVtbl->Release(This)
  9346. /*** ID3D11Device methods ***/
  9347. #define ID3D11Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
  9348. #define ID3D11Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
  9349. #define ID3D11Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
  9350. #define ID3D11Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
  9351. #define ID3D11Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
  9352. #define ID3D11Device_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
  9353. #define ID3D11Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
  9354. #define ID3D11Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
  9355. #define ID3D11Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
  9356. #define ID3D11Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
  9357. #define ID3D11Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
  9358. #define ID3D11Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
  9359. #define ID3D11Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
  9360. #define ID3D11Device_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
  9361. #define ID3D11Device_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
  9362. #define ID3D11Device_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
  9363. #define ID3D11Device_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
  9364. #define ID3D11Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
  9365. #define ID3D11Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
  9366. #define ID3D11Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
  9367. #define ID3D11Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
  9368. #define ID3D11Device_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
  9369. #define ID3D11Device_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
  9370. #define ID3D11Device_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
  9371. #define ID3D11Device_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
  9372. #define ID3D11Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
  9373. #define ID3D11Device_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
  9374. #define ID3D11Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
  9375. #define ID3D11Device_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
  9376. #define ID3D11Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
  9377. #define ID3D11Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
  9378. #define ID3D11Device_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
  9379. #define ID3D11Device_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
  9380. #define ID3D11Device_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
  9381. #define ID3D11Device_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
  9382. #define ID3D11Device_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
  9383. #define ID3D11Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
  9384. #define ID3D11Device_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
  9385. #define ID3D11Device_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
  9386. #define ID3D11Device_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
  9387. #else
  9388. /*** IUnknown methods ***/
  9389. static FORCEINLINE HRESULT ID3D11Device_QueryInterface(ID3D11Device* This,REFIID riid,void **ppvObject) {
  9390. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9391. }
  9392. static FORCEINLINE ULONG ID3D11Device_AddRef(ID3D11Device* This) {
  9393. return This->lpVtbl->AddRef(This);
  9394. }
  9395. static FORCEINLINE ULONG ID3D11Device_Release(ID3D11Device* This) {
  9396. return This->lpVtbl->Release(This);
  9397. }
  9398. /*** ID3D11Device methods ***/
  9399. static FORCEINLINE HRESULT ID3D11Device_CreateBuffer(ID3D11Device* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
  9400. return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
  9401. }
  9402. static FORCEINLINE HRESULT ID3D11Device_CreateTexture1D(ID3D11Device* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
  9403. return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
  9404. }
  9405. static FORCEINLINE HRESULT ID3D11Device_CreateTexture2D(ID3D11Device* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
  9406. return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
  9407. }
  9408. static FORCEINLINE HRESULT ID3D11Device_CreateTexture3D(ID3D11Device* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
  9409. return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
  9410. }
  9411. static FORCEINLINE HRESULT ID3D11Device_CreateShaderResourceView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
  9412. return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
  9413. }
  9414. static FORCEINLINE HRESULT ID3D11Device_CreateUnorderedAccessView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
  9415. return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
  9416. }
  9417. static FORCEINLINE HRESULT ID3D11Device_CreateRenderTargetView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
  9418. return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
  9419. }
  9420. static FORCEINLINE HRESULT ID3D11Device_CreateDepthStencilView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
  9421. return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
  9422. }
  9423. static FORCEINLINE HRESULT ID3D11Device_CreateInputLayout(ID3D11Device* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
  9424. return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
  9425. }
  9426. static FORCEINLINE HRESULT ID3D11Device_CreateVertexShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
  9427. return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
  9428. }
  9429. static FORCEINLINE HRESULT ID3D11Device_CreateGeometryShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
  9430. return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
  9431. }
  9432. static FORCEINLINE HRESULT ID3D11Device_CreateGeometryShaderWithStreamOutput(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,UINT NumEntries,const UINT *pBufferStrides,UINT NumStrides,UINT RasterizedStream,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
  9433. return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
  9434. }
  9435. static FORCEINLINE HRESULT ID3D11Device_CreatePixelShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
  9436. return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
  9437. }
  9438. static FORCEINLINE HRESULT ID3D11Device_CreateHullShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
  9439. return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
  9440. }
  9441. static FORCEINLINE HRESULT ID3D11Device_CreateDomainShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
  9442. return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
  9443. }
  9444. static FORCEINLINE HRESULT ID3D11Device_CreateComputeShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
  9445. return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
  9446. }
  9447. static FORCEINLINE HRESULT ID3D11Device_CreateClassLinkage(ID3D11Device* This,ID3D11ClassLinkage **ppLinkage) {
  9448. return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
  9449. }
  9450. static FORCEINLINE HRESULT ID3D11Device_CreateBlendState(ID3D11Device* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
  9451. return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
  9452. }
  9453. static FORCEINLINE HRESULT ID3D11Device_CreateDepthStencilState(ID3D11Device* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
  9454. return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
  9455. }
  9456. static FORCEINLINE HRESULT ID3D11Device_CreateRasterizerState(ID3D11Device* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
  9457. return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
  9458. }
  9459. static FORCEINLINE HRESULT ID3D11Device_CreateSamplerState(ID3D11Device* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
  9460. return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
  9461. }
  9462. static FORCEINLINE HRESULT ID3D11Device_CreateQuery(ID3D11Device* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
  9463. return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
  9464. }
  9465. static FORCEINLINE HRESULT ID3D11Device_CreatePredicate(ID3D11Device* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
  9466. return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
  9467. }
  9468. static FORCEINLINE HRESULT ID3D11Device_CreateCounter(ID3D11Device* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
  9469. return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
  9470. }
  9471. static FORCEINLINE HRESULT ID3D11Device_CreateDeferredContext(ID3D11Device* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
  9472. return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
  9473. }
  9474. static FORCEINLINE HRESULT ID3D11Device_OpenSharedResource(ID3D11Device* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
  9475. return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
  9476. }
  9477. static FORCEINLINE HRESULT ID3D11Device_CheckFormatSupport(ID3D11Device* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
  9478. return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
  9479. }
  9480. static FORCEINLINE HRESULT ID3D11Device_CheckMultisampleQualityLevels(ID3D11Device* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
  9481. return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
  9482. }
  9483. static FORCEINLINE void ID3D11Device_CheckCounterInfo(ID3D11Device* This,D3D11_COUNTER_INFO *pCounterInfo) {
  9484. This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
  9485. }
  9486. static FORCEINLINE HRESULT ID3D11Device_CheckCounter(ID3D11Device* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
  9487. return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
  9488. }
  9489. static FORCEINLINE HRESULT ID3D11Device_CheckFeatureSupport(ID3D11Device* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
  9490. return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
  9491. }
  9492. static FORCEINLINE HRESULT ID3D11Device_GetPrivateData(ID3D11Device* This,REFGUID guid,UINT *pDataSize,void *pData) {
  9493. return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
  9494. }
  9495. static FORCEINLINE HRESULT ID3D11Device_SetPrivateData(ID3D11Device* This,REFGUID guid,UINT DataSize,const void *pData) {
  9496. return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
  9497. }
  9498. static FORCEINLINE HRESULT ID3D11Device_SetPrivateDataInterface(ID3D11Device* This,REFGUID guid,const IUnknown *pData) {
  9499. return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
  9500. }
  9501. static FORCEINLINE D3D_FEATURE_LEVEL ID3D11Device_GetFeatureLevel(ID3D11Device* This) {
  9502. return This->lpVtbl->GetFeatureLevel(This);
  9503. }
  9504. static FORCEINLINE UINT ID3D11Device_GetCreationFlags(ID3D11Device* This) {
  9505. return This->lpVtbl->GetCreationFlags(This);
  9506. }
  9507. static FORCEINLINE HRESULT ID3D11Device_GetDeviceRemovedReason(ID3D11Device* This) {
  9508. return This->lpVtbl->GetDeviceRemovedReason(This);
  9509. }
  9510. static FORCEINLINE void ID3D11Device_GetImmediateContext(ID3D11Device* This,ID3D11DeviceContext **ppImmediateContext) {
  9511. This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
  9512. }
  9513. static FORCEINLINE HRESULT ID3D11Device_SetExceptionMode(ID3D11Device* This,UINT RaiseFlags) {
  9514. return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
  9515. }
  9516. static FORCEINLINE UINT ID3D11Device_GetExceptionMode(ID3D11Device* This) {
  9517. return This->lpVtbl->GetExceptionMode(This);
  9518. }
  9519. #endif
  9520. #endif
  9521. #endif
  9522. #endif /* __ID3D11Device_INTERFACE_DEFINED__ */
  9523. typedef enum D3D11_CREATE_DEVICE_FLAG {
  9524. D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1,
  9525. D3D11_CREATE_DEVICE_DEBUG = 0x2,
  9526. D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  9527. D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  9528. D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
  9529. D3D11_CREATE_DEVICE_DEBUGGABLE = 0x40,
  9530. D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
  9531. D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100,
  9532. D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800
  9533. } D3D11_CREATE_DEVICE_FLAG;
  9534. typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT {
  9535. D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x1,
  9536. D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x2
  9537. } D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT;
  9538. #define D3D11_SDK_VERSION (7)
  9539. #include <d3d10_1.h>
  9540. #ifndef D3D11_IGNORE_SDK_LAYERS
  9541. # include <d3d11sdklayers.h>
  9542. #endif
  9543. #include <d3d10misc.h>
  9544. #include <d3d10shader.h>
  9545. #include <d3d10effect.h>
  9546. #include <d3d10_1shader.h>
  9547. #define _FACD3D11 (0x87c)
  9548. #define MAKE_D3D11_HRESULT(code) MAKE_HRESULT(SEVERITY_ERROR, _FACD3D11, code)
  9549. typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,
  9550. const D3D_FEATURE_LEVEL*,UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
  9551. HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,const D3D_FEATURE_LEVEL*,
  9552. UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
  9553. typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,
  9554. const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,
  9555. D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
  9556. HRESULT __stdcall D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter,D3D_DRIVER_TYPE driver_type,HMODULE swrast,UINT flags,const D3D_FEATURE_LEVEL *feature_levels,UINT levels,UINT sdk_version,const DXGI_SWAP_CHAIN_DESC *swapchain_desc,IDXGISwapChain **swapchain,ID3D11Device **device,D3D_FEATURE_LEVEL *obtained_feature_level,ID3D11DeviceContext **immediate_context);
  9557. /* Begin additional prototypes for all interfaces */
  9558. /* End additional prototypes */
  9559. #ifdef __cplusplus
  9560. }
  9561. #endif
  9562. #endif /* __d3d11_h__ */